You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sc...@apache.org on 2016/04/22 21:14:37 UTC

[08/10] airavata git commit: adding backend functionality for notifications

http://git-wip-us.apache.org/repos/asf/airavata/blob/47290ad1/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java b/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
index 5037501..a726a21 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
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-30")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-04-22")
 public class Airavata {
 
   public interface Iface {
@@ -176,6 +176,23 @@ public class Airavata {
     public boolean isGatewayExist(org.apache.airavata.model.security.AuthzToken authzToken, 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;
 
     /**
+     *   * API methods to retrieve notifications
+     * *
+     * 
+     * @param authzToken
+     * @param notification
+     */
+    public 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;
+
+    public void 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;
+
+    public void deleteNotification(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, 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;
+
+    public org.apache.airavata.model.workspace.Notification getNotification(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, 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;
+
+    public List<org.apache.airavata.model.workspace.Notification> getAllNotifications(org.apache.airavata.model.security.AuthzToken authzToken, 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;
+
+    /**
      * Generate and Register SSH Key Pair with Airavata Credential Store.
      * 
      * @param gatewayId
@@ -2674,6 +2691,16 @@ public class Airavata {
 
     public void isGatewayExist(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
+    public void createNotification(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.workspace.Notification notification, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void updateNotification(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.workspace.Notification notification, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void deleteNotification(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, String notificationId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void getNotification(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, String notificationId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void getAllNotifications(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
     public void generateAndRegisterSSHKeys(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, String userName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
     public void getSSHPubKey(org.apache.airavata.model.security.AuthzToken authzToken, String airavataCredStoreToken, String gatewayId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
@@ -3243,6 +3270,182 @@ public class Airavata {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "isGatewayExist failed: unknown result");
     }
 
+    public 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);
+      return recv_createNotification();
+    }
+
+    public void send_createNotification(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.workspace.Notification notification) throws org.apache.thrift.TException
+    {
+      createNotification_args args = new createNotification_args();
+      args.setAuthzToken(authzToken);
+      args.setNotification(notification);
+      sendBase("createNotification", args);
+    }
+
+    public String recv_createNotification() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
+    {
+      createNotification_result result = new createNotification_result();
+      receiveBase(result, "createNotification");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.ire != null) {
+        throw result.ire;
+      }
+      if (result.ace != null) {
+        throw result.ace;
+      }
+      if (result.ase != null) {
+        throw result.ase;
+      }
+      if (result.ae != null) {
+        throw result.ae;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "createNotification failed: unknown result");
+    }
+
+    public void 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);
+      recv_updateNotification();
+    }
+
+    public void send_updateNotification(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.workspace.Notification notification) throws org.apache.thrift.TException
+    {
+      updateNotification_args args = new updateNotification_args();
+      args.setAuthzToken(authzToken);
+      args.setNotification(notification);
+      sendBase("updateNotification", args);
+    }
+
+    public void recv_updateNotification() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
+    {
+      updateNotification_result result = new updateNotification_result();
+      receiveBase(result, "updateNotification");
+      if (result.ire != null) {
+        throw result.ire;
+      }
+      if (result.ace != null) {
+        throw result.ace;
+      }
+      if (result.ase != null) {
+        throw result.ase;
+      }
+      if (result.ae != null) {
+        throw result.ae;
+      }
+      return;
+    }
+
+    public void deleteNotification(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, 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);
+      recv_deleteNotification();
+    }
+
+    public void send_deleteNotification(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, String notificationId) throws org.apache.thrift.TException
+    {
+      deleteNotification_args args = new deleteNotification_args();
+      args.setAuthzToken(authzToken);
+      args.setGatewayId(gatewayId);
+      args.setNotificationId(notificationId);
+      sendBase("deleteNotification", args);
+    }
+
+    public void recv_deleteNotification() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
+    {
+      deleteNotification_result result = new deleteNotification_result();
+      receiveBase(result, "deleteNotification");
+      if (result.ire != null) {
+        throw result.ire;
+      }
+      if (result.ace != null) {
+        throw result.ace;
+      }
+      if (result.ase != null) {
+        throw result.ase;
+      }
+      if (result.ae != null) {
+        throw result.ae;
+      }
+      return;
+    }
+
+    public org.apache.airavata.model.workspace.Notification getNotification(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, 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);
+      return recv_getNotification();
+    }
+
+    public void send_getNotification(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, String notificationId) throws org.apache.thrift.TException
+    {
+      getNotification_args args = new getNotification_args();
+      args.setAuthzToken(authzToken);
+      args.setGatewayId(gatewayId);
+      args.setNotificationId(notificationId);
+      sendBase("getNotification", args);
+    }
+
+    public org.apache.airavata.model.workspace.Notification recv_getNotification() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
+    {
+      getNotification_result result = new getNotification_result();
+      receiveBase(result, "getNotification");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.ire != null) {
+        throw result.ire;
+      }
+      if (result.ace != null) {
+        throw result.ace;
+      }
+      if (result.ase != null) {
+        throw result.ase;
+      }
+      if (result.ae != null) {
+        throw result.ae;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getNotification failed: unknown result");
+    }
+
+    public List<org.apache.airavata.model.workspace.Notification> getAllNotifications(org.apache.airavata.model.security.AuthzToken authzToken, 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);
+      return recv_getAllNotifications();
+    }
+
+    public void send_getAllNotifications(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId) throws org.apache.thrift.TException
+    {
+      getAllNotifications_args args = new getAllNotifications_args();
+      args.setAuthzToken(authzToken);
+      args.setGatewayId(gatewayId);
+      sendBase("getAllNotifications", args);
+    }
+
+    public List<org.apache.airavata.model.workspace.Notification> recv_getAllNotifications() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
+    {
+      getAllNotifications_result result = new getAllNotifications_result();
+      receiveBase(result, "getAllNotifications");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.ire != null) {
+        throw result.ire;
+      }
+      if (result.ace != null) {
+        throw result.ace;
+      }
+      if (result.ase != null) {
+        throw result.ase;
+      }
+      if (result.ae != null) {
+        throw result.ae;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllNotifications failed: unknown result");
+    }
+
     public String generateAndRegisterSSHKeys(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, String userName) 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, gatewayId, userName);
@@ -8362,6 +8565,187 @@ public class Airavata {
       }
     }
 
+    public void createNotification(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.workspace.Notification notification, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      createNotification_call method_call = new createNotification_call(authzToken, notification, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class createNotification_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private org.apache.airavata.model.security.AuthzToken authzToken;
+      private org.apache.airavata.model.workspace.Notification notification;
+      public createNotification_call(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.workspace.Notification notification, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.authzToken = authzToken;
+        this.notification = notification;
+      }
+
+      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();
+        args.setAuthzToken(authzToken);
+        args.setNotification(notification);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public 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 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_createNotification();
+      }
+    }
+
+    public void updateNotification(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.workspace.Notification notification, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      updateNotification_call method_call = new updateNotification_call(authzToken, notification, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class updateNotification_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private org.apache.airavata.model.security.AuthzToken authzToken;
+      private org.apache.airavata.model.workspace.Notification notification;
+      public updateNotification_call(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.workspace.Notification notification, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.authzToken = authzToken;
+        this.notification = notification;
+      }
+
+      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();
+        args.setAuthzToken(authzToken);
+        args.setNotification(notification);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      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 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_updateNotification();
+      }
+    }
+
+    public void deleteNotification(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, String notificationId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      deleteNotification_call method_call = new deleteNotification_call(authzToken, gatewayId, notificationId, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class deleteNotification_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private org.apache.airavata.model.security.AuthzToken authzToken;
+      private String gatewayId;
+      private String notificationId;
+      public deleteNotification_call(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, String notificationId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.authzToken = authzToken;
+        this.gatewayId = gatewayId;
+        this.notificationId = notificationId;
+      }
+
+      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();
+        args.setAuthzToken(authzToken);
+        args.setGatewayId(gatewayId);
+        args.setNotificationId(notificationId);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      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 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_deleteNotification();
+      }
+    }
+
+    public void getNotification(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, String notificationId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      getNotification_call method_call = new getNotification_call(authzToken, gatewayId, notificationId, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class getNotification_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private org.apache.airavata.model.security.AuthzToken authzToken;
+      private String gatewayId;
+      private String notificationId;
+      public getNotification_call(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, String notificationId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.authzToken = authzToken;
+        this.gatewayId = gatewayId;
+        this.notificationId = notificationId;
+      }
+
+      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();
+        args.setAuthzToken(authzToken);
+        args.setGatewayId(gatewayId);
+        args.setNotificationId(notificationId);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      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 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_getNotification();
+      }
+    }
+
+    public void getAllNotifications(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      getAllNotifications_call method_call = new getAllNotifications_call(authzToken, gatewayId, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class getAllNotifications_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private org.apache.airavata.model.security.AuthzToken authzToken;
+      private String gatewayId;
+      public getAllNotifications_call(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.authzToken = authzToken;
+        this.gatewayId = gatewayId;
+      }
+
+      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();
+        args.setAuthzToken(authzToken);
+        args.setGatewayId(gatewayId);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public 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 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_getAllNotifications();
+      }
+    }
+
     public void generateAndRegisterSSHKeys(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, String userName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
       generateAndRegisterSSHKeys_call method_call = new generateAndRegisterSSHKeys_call(authzToken, gatewayId, userName, resultHandler, this, ___protocolFactory, ___transport);
@@ -13310,6 +13694,11 @@ public class Airavata {
       processMap.put("deleteGateway", new deleteGateway());
       processMap.put("getAllGateways", new getAllGateways());
       processMap.put("isGatewayExist", new isGatewayExist());
+      processMap.put("createNotification", new createNotification());
+      processMap.put("updateNotification", new updateNotification());
+      processMap.put("deleteNotification", new deleteNotification());
+      processMap.put("getNotification", new getNotification());
+      processMap.put("getAllNotifications", new getAllNotifications());
       processMap.put("generateAndRegisterSSHKeys", new generateAndRegisterSSHKeys());
       processMap.put("getSSHPubKey", new getSSHPubKey());
       processMap.put("getAllUserSSHPubKeys", new getAllUserSSHPubKeys());
@@ -13687,6 +14076,156 @@ public class Airavata {
       }
     }
 
+    public static class createNotification<I extends Iface> extends org.apache.thrift.ProcessFunction<I, createNotification_args> {
+      public createNotification() {
+        super("createNotification");
+      }
+
+      public createNotification_args getEmptyArgsInstance() {
+        return new createNotification_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public createNotification_result getResult(I iface, createNotification_args args) throws org.apache.thrift.TException {
+        createNotification_result result = new createNotification_result();
+        try {
+          result.success = iface.createNotification(args.authzToken, args.notification);
+        } catch (org.apache.airavata.model.error.InvalidRequestException ire) {
+          result.ire = ire;
+        } catch (org.apache.airavata.model.error.AiravataClientException ace) {
+          result.ace = ace;
+        } catch (org.apache.airavata.model.error.AiravataSystemException ase) {
+          result.ase = ase;
+        } catch (org.apache.airavata.model.error.AuthorizationException ae) {
+          result.ae = ae;
+        }
+        return result;
+      }
+    }
+
+    public static class updateNotification<I extends Iface> extends org.apache.thrift.ProcessFunction<I, updateNotification_args> {
+      public updateNotification() {
+        super("updateNotification");
+      }
+
+      public updateNotification_args getEmptyArgsInstance() {
+        return new updateNotification_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public updateNotification_result getResult(I iface, updateNotification_args args) throws org.apache.thrift.TException {
+        updateNotification_result result = new updateNotification_result();
+        try {
+          iface.updateNotification(args.authzToken, args.notification);
+        } catch (org.apache.airavata.model.error.InvalidRequestException ire) {
+          result.ire = ire;
+        } catch (org.apache.airavata.model.error.AiravataClientException ace) {
+          result.ace = ace;
+        } catch (org.apache.airavata.model.error.AiravataSystemException ase) {
+          result.ase = ase;
+        } catch (org.apache.airavata.model.error.AuthorizationException ae) {
+          result.ae = ae;
+        }
+        return result;
+      }
+    }
+
+    public static class deleteNotification<I extends Iface> extends org.apache.thrift.ProcessFunction<I, deleteNotification_args> {
+      public deleteNotification() {
+        super("deleteNotification");
+      }
+
+      public deleteNotification_args getEmptyArgsInstance() {
+        return new deleteNotification_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public deleteNotification_result getResult(I iface, deleteNotification_args args) throws org.apache.thrift.TException {
+        deleteNotification_result result = new deleteNotification_result();
+        try {
+          iface.deleteNotification(args.authzToken, args.gatewayId, args.notificationId);
+        } catch (org.apache.airavata.model.error.InvalidRequestException ire) {
+          result.ire = ire;
+        } catch (org.apache.airavata.model.error.AiravataClientException ace) {
+          result.ace = ace;
+        } catch (org.apache.airavata.model.error.AiravataSystemException ase) {
+          result.ase = ase;
+        } catch (org.apache.airavata.model.error.AuthorizationException ae) {
+          result.ae = ae;
+        }
+        return result;
+      }
+    }
+
+    public static class getNotification<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getNotification_args> {
+      public getNotification() {
+        super("getNotification");
+      }
+
+      public getNotification_args getEmptyArgsInstance() {
+        return new getNotification_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public getNotification_result getResult(I iface, getNotification_args args) throws org.apache.thrift.TException {
+        getNotification_result result = new getNotification_result();
+        try {
+          result.success = iface.getNotification(args.authzToken, args.gatewayId, args.notificationId);
+        } catch (org.apache.airavata.model.error.InvalidRequestException ire) {
+          result.ire = ire;
+        } catch (org.apache.airavata.model.error.AiravataClientException ace) {
+          result.ace = ace;
+        } catch (org.apache.airavata.model.error.AiravataSystemException ase) {
+          result.ase = ase;
+        } catch (org.apache.airavata.model.error.AuthorizationException ae) {
+          result.ae = ae;
+        }
+        return result;
+      }
+    }
+
+    public static class getAllNotifications<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getAllNotifications_args> {
+      public getAllNotifications() {
+        super("getAllNotifications");
+      }
+
+      public getAllNotifications_args getEmptyArgsInstance() {
+        return new getAllNotifications_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public getAllNotifications_result getResult(I iface, getAllNotifications_args args) throws org.apache.thrift.TException {
+        getAllNotifications_result result = new getAllNotifications_result();
+        try {
+          result.success = iface.getAllNotifications(args.authzToken, args.gatewayId);
+        } catch (org.apache.airavata.model.error.InvalidRequestException ire) {
+          result.ire = ire;
+        } catch (org.apache.airavata.model.error.AiravataClientException ace) {
+          result.ace = ace;
+        } catch (org.apache.airavata.model.error.AiravataSystemException ase) {
+          result.ase = ase;
+        } catch (org.apache.airavata.model.error.AuthorizationException ae) {
+          result.ae = ae;
+        }
+        return result;
+      }
+    }
+
     public static class generateAndRegisterSSHKeys<I extends Iface> extends org.apache.thrift.ProcessFunction<I, generateAndRegisterSSHKeys_args> {
       public generateAndRegisterSSHKeys() {
         super("generateAndRegisterSSHKeys");
@@ -17688,6 +18227,11 @@ public class Airavata {
       processMap.put("deleteGateway", new deleteGateway());
       processMap.put("getAllGateways", new getAllGateways());
       processMap.put("isGatewayExist", new isGatewayExist());
+      processMap.put("createNotification", new createNotification());
+      processMap.put("updateNotification", new updateNotification());
+      processMap.put("deleteNotification", new deleteNotification());
+      processMap.put("getNotification", new getNotification());
+      processMap.put("getAllNotifications", new getAllNotifications());
       processMap.put("generateAndRegisterSSHKeys", new generateAndRegisterSSHKeys());
       processMap.put("getSSHPubKey", new getSSHPubKey());
       processMap.put("getAllUserSSHPubKeys", new getAllUserSSHPubKeys());
@@ -18400,20 +18944,20 @@ public class Airavata {
       }
     }
 
-    public static class generateAndRegisterSSHKeys<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, generateAndRegisterSSHKeys_args, String> {
-      public generateAndRegisterSSHKeys() {
-        super("generateAndRegisterSSHKeys");
+    public static class createNotification<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, createNotification_args, String> {
+      public createNotification() {
+        super("createNotification");
       }
 
-      public generateAndRegisterSSHKeys_args getEmptyArgsInstance() {
-        return new generateAndRegisterSSHKeys_args();
+      public createNotification_args getEmptyArgsInstance() {
+        return new createNotification_args();
       }
 
       public AsyncMethodCallback<String> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new AsyncMethodCallback<String>() { 
           public void onComplete(String o) {
-            generateAndRegisterSSHKeys_result result = new generateAndRegisterSSHKeys_result();
+            createNotification_result result = new createNotification_result();
             result.success = o;
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -18426,7 +18970,7 @@ public class Airavata {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            generateAndRegisterSSHKeys_result result = new generateAndRegisterSSHKeys_result();
+            createNotification_result result = new createNotification_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
                         result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
                         result.setIreIsSet(true);
@@ -18442,71 +18986,9 @@ public class Airavata {
                         result.setAseIsSet(true);
                         msg = result;
             }
-             else 
-            {
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
-            }
-            try {
-              fcall.sendResponse(fb,msg,msgType,seqid);
-              return;
-            } catch (Exception ex) {
-              LOGGER.error("Exception writing to internal frame buffer", ex);
-            }
-            fb.close();
-          }
-        };
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public void start(I iface, generateAndRegisterSSHKeys_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
-        iface.generateAndRegisterSSHKeys(args.authzToken, args.gatewayId, args.userName,resultHandler);
-      }
-    }
-
-    public static class getSSHPubKey<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getSSHPubKey_args, String> {
-      public getSSHPubKey() {
-        super("getSSHPubKey");
-      }
-
-      public getSSHPubKey_args getEmptyArgsInstance() {
-        return new getSSHPubKey_args();
-      }
-
-      public AsyncMethodCallback<String> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
-        final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<String>() { 
-          public void onComplete(String o) {
-            getSSHPubKey_result result = new getSSHPubKey_result();
-            result.success = o;
-            try {
-              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
-              return;
-            } catch (Exception e) {
-              LOGGER.error("Exception writing to internal frame buffer", e);
-            }
-            fb.close();
-          }
-          public void onError(Exception e) {
-            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
-            getSSHPubKey_result result = new getSSHPubKey_result();
-            if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
-                        result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
-                        result.setIreIsSet(true);
-                        msg = result;
-            }
-            else             if (e instanceof org.apache.airavata.model.error.AiravataClientException) {
-                        result.ace = (org.apache.airavata.model.error.AiravataClientException) e;
-                        result.setAceIsSet(true);
-                        msg = result;
-            }
-            else             if (e instanceof org.apache.airavata.model.error.AiravataSystemException) {
-                        result.ase = (org.apache.airavata.model.error.AiravataSystemException) e;
-                        result.setAseIsSet(true);
+            else             if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
+                        result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
+                        result.setAeIsSet(true);
                         msg = result;
             }
              else 
@@ -18529,26 +19011,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, getSSHPubKey_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
-        iface.getSSHPubKey(args.authzToken, args.airavataCredStoreToken, args.gatewayId,resultHandler);
+      public void start(I iface, createNotification_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
+        iface.createNotification(args.authzToken, args.notification,resultHandler);
       }
     }
 
-    public static class getAllUserSSHPubKeys<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllUserSSHPubKeys_args, Map<String,String>> {
-      public getAllUserSSHPubKeys() {
-        super("getAllUserSSHPubKeys");
+    public static class updateNotification<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateNotification_args, Void> {
+      public updateNotification() {
+        super("updateNotification");
       }
 
-      public getAllUserSSHPubKeys_args getEmptyArgsInstance() {
-        return new getAllUserSSHPubKeys_args();
+      public updateNotification_args getEmptyArgsInstance() {
+        return new updateNotification_args();
       }
 
-      public AsyncMethodCallback<Map<String,String>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Map<String,String>>() { 
-          public void onComplete(Map<String,String> o) {
-            getAllUserSSHPubKeys_result result = new getAllUserSSHPubKeys_result();
-            result.success = o;
+        return new AsyncMethodCallback<Void>() { 
+          public void onComplete(Void o) {
+            updateNotification_result result = new updateNotification_result();
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -18560,7 +19041,7 @@ public class Airavata {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            getAllUserSSHPubKeys_result result = new getAllUserSSHPubKeys_result();
+            updateNotification_result result = new updateNotification_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
                         result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
                         result.setIreIsSet(true);
@@ -18576,6 +19057,11 @@ public class Airavata {
                         result.setAseIsSet(true);
                         msg = result;
             }
+            else             if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
+                        result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
+                        result.setAeIsSet(true);
+                        msg = result;
+            }
              else 
             {
               msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
@@ -18596,26 +19082,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, getAllUserSSHPubKeys_args args, org.apache.thrift.async.AsyncMethodCallback<Map<String,String>> resultHandler) throws TException {
-        iface.getAllUserSSHPubKeys(args.authzToken, args.userName,resultHandler);
+      public void start(I iface, updateNotification_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
+        iface.updateNotification(args.authzToken, args.notification,resultHandler);
       }
     }
 
-    public static class getAllGatewaySSHPubKeys<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllGatewaySSHPubKeys_args, Map<String,String>> {
-      public getAllGatewaySSHPubKeys() {
-        super("getAllGatewaySSHPubKeys");
+    public static class deleteNotification<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteNotification_args, Void> {
+      public deleteNotification() {
+        super("deleteNotification");
       }
 
-      public getAllGatewaySSHPubKeys_args getEmptyArgsInstance() {
-        return new getAllGatewaySSHPubKeys_args();
+      public deleteNotification_args getEmptyArgsInstance() {
+        return new deleteNotification_args();
       }
 
-      public AsyncMethodCallback<Map<String,String>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Map<String,String>>() { 
-          public void onComplete(Map<String,String> o) {
-            getAllGatewaySSHPubKeys_result result = new getAllGatewaySSHPubKeys_result();
-            result.success = o;
+        return new AsyncMethodCallback<Void>() { 
+          public void onComplete(Void o) {
+            deleteNotification_result result = new deleteNotification_result();
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -18627,7 +19112,7 @@ public class Airavata {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            getAllGatewaySSHPubKeys_result result = new getAllGatewaySSHPubKeys_result();
+            deleteNotification_result result = new deleteNotification_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
                         result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
                         result.setIreIsSet(true);
@@ -18643,6 +19128,11 @@ public class Airavata {
                         result.setAseIsSet(true);
                         msg = result;
             }
+            else             if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
+                        result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
+                        result.setAeIsSet(true);
+                        msg = result;
+            }
              else 
             {
               msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
@@ -18663,27 +19153,26 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, getAllGatewaySSHPubKeys_args args, org.apache.thrift.async.AsyncMethodCallback<Map<String,String>> resultHandler) throws TException {
-        iface.getAllGatewaySSHPubKeys(args.authzToken, args.gatewayId,resultHandler);
+      public void start(I iface, deleteNotification_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
+        iface.deleteNotification(args.authzToken, args.gatewayId, args.notificationId,resultHandler);
       }
     }
 
-    public static class deleteSSHPubKey<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteSSHPubKey_args, Boolean> {
-      public deleteSSHPubKey() {
-        super("deleteSSHPubKey");
+    public static class getNotification<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getNotification_args, org.apache.airavata.model.workspace.Notification> {
+      public getNotification() {
+        super("getNotification");
       }
 
-      public deleteSSHPubKey_args getEmptyArgsInstance() {
-        return new deleteSSHPubKey_args();
+      public getNotification_args getEmptyArgsInstance() {
+        return new getNotification_args();
       }
 
-      public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<org.apache.airavata.model.workspace.Notification> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Boolean>() { 
-          public void onComplete(Boolean o) {
-            deleteSSHPubKey_result result = new deleteSSHPubKey_result();
+        return new AsyncMethodCallback<org.apache.airavata.model.workspace.Notification>() { 
+          public void onComplete(org.apache.airavata.model.workspace.Notification o) {
+            getNotification_result result = new getNotification_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -18695,7 +19184,7 @@ public class Airavata {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            deleteSSHPubKey_result result = new deleteSSHPubKey_result();
+            getNotification_result result = new getNotification_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
                         result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
                         result.setIreIsSet(true);
@@ -18711,6 +19200,11 @@ public class Airavata {
                         result.setAseIsSet(true);
                         msg = result;
             }
+            else             if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
+                        result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
+                        result.setAeIsSet(true);
+                        msg = result;
+            }
              else 
             {
               msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
@@ -18731,25 +19225,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, deleteSSHPubKey_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
-        iface.deleteSSHPubKey(args.authzToken, args.airavataCredStoreToken, args.gatewayId,resultHandler);
+      public void start(I iface, getNotification_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.Notification> resultHandler) throws TException {
+        iface.getNotification(args.authzToken, args.gatewayId, args.notificationId,resultHandler);
       }
     }
 
-    public static class createProject<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, createProject_args, String> {
-      public createProject() {
-        super("createProject");
+    public static class getAllNotifications<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllNotifications_args, List<org.apache.airavata.model.workspace.Notification>> {
+      public getAllNotifications() {
+        super("getAllNotifications");
       }
 
-      public createProject_args getEmptyArgsInstance() {
-        return new createProject_args();
+      public getAllNotifications_args getEmptyArgsInstance() {
+        return new getAllNotifications_args();
       }
 
-      public AsyncMethodCallback<String> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<List<org.apache.airavata.model.workspace.Notification>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<String>() { 
-          public void onComplete(String o) {
-            createProject_result result = new createProject_result();
+        return new AsyncMethodCallback<List<org.apache.airavata.model.workspace.Notification>>() { 
+          public void onComplete(List<org.apache.airavata.model.workspace.Notification> o) {
+            getAllNotifications_result result = new getAllNotifications_result();
             result.success = o;
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -18762,7 +19256,7 @@ public class Airavata {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            createProject_result result = new createProject_result();
+            getAllNotifications_result result = new getAllNotifications_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
                         result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
                         result.setIreIsSet(true);
@@ -18803,25 +19297,26 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, createProject_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
-        iface.createProject(args.authzToken, args.gatewayId, args.project,resultHandler);
+      public void start(I iface, getAllNotifications_args args, org.apache.thrift.async.AsyncMethodCallback<List<org.apache.airavata.model.workspace.Notification>> resultHandler) throws TException {
+        iface.getAllNotifications(args.authzToken, args.gatewayId,resultHandler);
       }
     }
 
-    public static class updateProject<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateProject_args, Void> {
-      public updateProject() {
-        super("updateProject");
+    public static class generateAndRegisterSSHKeys<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, generateAndRegisterSSHKeys_args, String> {
+      public generateAndRegisterSSHKeys() {
+        super("generateAndRegisterSSHKeys");
       }
 
-      public updateProject_args getEmptyArgsInstance() {
-        return new updateProject_args();
+      public generateAndRegisterSSHKeys_args getEmptyArgsInstance() {
+        return new generateAndRegisterSSHKeys_args();
       }
 
-      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<String> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Void>() { 
-          public void onComplete(Void o) {
-            updateProject_result result = new updateProject_result();
+        return new AsyncMethodCallback<String>() { 
+          public void onComplete(String o) {
+            generateAndRegisterSSHKeys_result result = new generateAndRegisterSSHKeys_result();
+            result.success = o;
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -18833,7 +19328,7 @@ public class Airavata {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            updateProject_result result = new updateProject_result();
+            generateAndRegisterSSHKeys_result result = new generateAndRegisterSSHKeys_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
                         result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
                         result.setIreIsSet(true);
@@ -18849,16 +19344,6 @@ public class Airavata {
                         result.setAseIsSet(true);
                         msg = result;
             }
-            else             if (e instanceof org.apache.airavata.model.error.ProjectNotFoundException) {
-                        result.pnfe = (org.apache.airavata.model.error.ProjectNotFoundException) e;
-                        result.setPnfeIsSet(true);
-                        msg = result;
-            }
-            else             if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
-                        result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
-                        result.setAeIsSet(true);
-                        msg = result;
-            }
              else 
             {
               msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
@@ -18879,25 +19364,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, updateProject_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
-        iface.updateProject(args.authzToken, args.projectId, args.updatedProject,resultHandler);
+      public void start(I iface, generateAndRegisterSSHKeys_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
+        iface.generateAndRegisterSSHKeys(args.authzToken, args.gatewayId, args.userName,resultHandler);
       }
     }
 
-    public static class getProject<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getProject_args, org.apache.airavata.model.workspace.Project> {
-      public getProject() {
-        super("getProject");
+    public static class getSSHPubKey<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getSSHPubKey_args, String> {
+      public getSSHPubKey() {
+        super("getSSHPubKey");
       }
 
-      public getProject_args getEmptyArgsInstance() {
-        return new getProject_args();
+      public getSSHPubKey_args getEmptyArgsInstance() {
+        return new getSSHPubKey_args();
       }
 
-      public AsyncMethodCallback<org.apache.airavata.model.workspace.Project> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<String> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<org.apache.airavata.model.workspace.Project>() { 
-          public void onComplete(org.apache.airavata.model.workspace.Project o) {
-            getProject_result result = new getProject_result();
+        return new AsyncMethodCallback<String>() { 
+          public void onComplete(String o) {
+            getSSHPubKey_result result = new getSSHPubKey_result();
             result.success = o;
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -18910,7 +19395,7 @@ public class Airavata {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            getProject_result result = new getProject_result();
+            getSSHPubKey_result result = new getSSHPubKey_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
                         result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
                         result.setIreIsSet(true);
@@ -18926,16 +19411,6 @@ public class Airavata {
                         result.setAseIsSet(true);
                         msg = result;
             }
-            else             if (e instanceof org.apache.airavata.model.error.ProjectNotFoundException) {
-                        result.pnfe = (org.apache.airavata.model.error.ProjectNotFoundException) e;
-                        result.setPnfeIsSet(true);
-                        msg = result;
-            }
-            else             if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
-                        result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
-                        result.setAeIsSet(true);
-                        msg = result;
-            }
              else 
             {
               msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
@@ -18956,27 +19431,26 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, getProject_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.Project> resultHandler) throws TException {
-        iface.getProject(args.authzToken, args.projectId,resultHandler);
+      public void start(I iface, getSSHPubKey_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
+        iface.getSSHPubKey(args.authzToken, args.airavataCredStoreToken, args.gatewayId,resultHandler);
       }
     }
 
-    public static class deleteProject<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteProject_args, Boolean> {
-      public deleteProject() {
-        super("deleteProject");
+    public static class getAllUserSSHPubKeys<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllUserSSHPubKeys_args, Map<String,String>> {
+      public getAllUserSSHPubKeys() {
+        super("getAllUserSSHPubKeys");
       }
 
-      public deleteProject_args getEmptyArgsInstance() {
-        return new deleteProject_args();
+      public getAllUserSSHPubKeys_args getEmptyArgsInstance() {
+        return new getAllUserSSHPubKeys_args();
       }
 
-      public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<Map<String,String>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Boolean>() { 
-          public void onComplete(Boolean o) {
-            deleteProject_result result = new deleteProject_result();
+        return new AsyncMethodCallback<Map<String,String>>() { 
+          public void onComplete(Map<String,String> o) {
+            getAllUserSSHPubKeys_result result = new getAllUserSSHPubKeys_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -18988,7 +19462,7 @@ public class Airavata {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            deleteProject_result result = new deleteProject_result();
+            getAllUserSSHPubKeys_result result = new getAllUserSSHPubKeys_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
                         result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
                         result.setIreIsSet(true);
@@ -19004,16 +19478,6 @@ public class Airavata {
                         result.setAseIsSet(true);
                         msg = result;
             }
-            else             if (e instanceof org.apache.airavata.model.error.ProjectNotFoundException) {
-                        result.pnfe = (org.apache.airavata.model.error.ProjectNotFoundException) e;
-                        result.setPnfeIsSet(true);
-                        msg = result;
-            }
-            else             if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
-                        result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
-                        result.setAeIsSet(true);
-                        msg = result;
-            }
              else 
             {
               msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
@@ -19034,25 +19498,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, deleteProject_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
-        iface.deleteProject(args.authzToken, args.projectId,resultHandler);
+      public void start(I iface, getAllUserSSHPubKeys_args args, org.apache.thrift.async.AsyncMethodCallback<Map<String,String>> resultHandler) throws TException {
+        iface.getAllUserSSHPubKeys(args.authzToken, args.userName,resultHandler);
       }
     }
 
-    public static class getUserProjects<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getUserProjects_args, List<org.apache.airavata.model.workspace.Project>> {
-      public getUserProjects() {
-        super("getUserProjects");
+    public static class getAllGatewaySSHPubKeys<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllGatewaySSHPubKeys_args, Map<String,String>> {
+      public getAllGatewaySSHPubKeys() {
+        super("getAllGatewaySSHPubKeys");
       }
 
-      public getUserProjects_args getEmptyArgsInstance() {
-        return new getUserProjects_args();
+      public getAllGatewaySSHPubKeys_args getEmptyArgsInstance() {
+        return new getAllGatewaySSHPubKeys_args();
       }
 
-      public AsyncMethodCallback<List<org.apache.airavata.model.workspace.Project>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<Map<String,String>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<List<org.apache.airavata.model.workspace.Project>>() { 
-          public void onComplete(List<org.apache.airavata.model.workspace.Project> o) {
-            getUserProjects_result result = new getUserProjects_result();
+        return new AsyncMethodCallback<Map<String,String>>() { 
+          public void onComplete(Map<String,String> o) {
+            getAllGatewaySSHPubKeys_result result = new getAllGatewaySSHPubKeys_result();
             result.success = o;
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -19065,7 +19529,7 @@ public class Airavata {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            getUserProjects_result result = new getUserProjects_result();
+            getAllGatewaySSHPubKeys_result result = new getAllGatewaySSHPubKeys_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
                         result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
                         result.setIreIsSet(true);
@@ -19081,11 +19545,6 @@ public class Airavata {
                         result.setAseIsSet(true);
                         msg = result;
             }
-            else             if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
-                        result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
-                        result.setAeIsSet(true);
-                        msg = result;
-            }
              else 
             {
               msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
@@ -19106,26 +19565,27 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, getUserProjects_args args, org.apache.thrift.async.AsyncMethodCallback<List<org.apache.airavata.model.workspace.Project>> resultHandler) throws TException {
-        iface.getUserProjects(args.authzToken, args.gatewayId, args.userName, args.limit, args.offset,resultHandler);
+      public void start(I iface, getAllGatewaySSHPubKeys_args args, org.apache.thrift.async.AsyncMethodCallback<Map<String,String>> resultHandler) throws TException {
+        iface.getAllGatewaySSHPubKeys(args.authzToken, args.gatewayId,resultHandler);
       }
     }
 
-    public static class searchProjectsByProjectName<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, searchProjectsByProjectName_args, List<org.apache.airavata.model.workspace.Project>> {
-      public searchProjectsByProjectName() {
-        super("searchProjectsByProjectName");
+    public static class deleteSSHPubKey<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteSSHPubKey_args, Boolean> {
+      public deleteSSHPubKey() {
+        super("deleteSSHPubKey");
       }
 
-      public searchProjectsByProjectName_args getEmptyArgsInstance() {
-        return new searchProjectsByProjectName_args();
+      public deleteSSHPubKey_args getEmptyArgsInstance() {
+        return new deleteSSHPubKey_args();
       }
 
-      public AsyncMethodCallback<List<org.apache.airavata.model.workspace.Project>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<List<org.apache.airavata.model.workspace.Project>>() { 
-          public void onComplete(List<org.apache.airavata.model.workspace.Project> o) {
-            searchProjectsByProjectName_result result = new searchProjectsByProjectName_result();
+        return new AsyncMethodCallback<Boolean>() { 
+          public void onComplete(Boolean o) {
+            deleteSSHPubKey_result result = new deleteSSHPubKey_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -19137,7 +19597,7 @@ public class Airavata {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            searchProjectsByProjectName_result result = new searchProjectsByProjectName_result();
+            deleteSSHPubKey_result result = new deleteSSHPubKey_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
                         result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
                         result.setIreIsSet(true);
@@ -19153,11 +19613,6 @@ public class Airavata {
                         result.setAseIsSet(true);
                         msg = result;
             }
-            else             if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
-                        result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
-                        result.setAeIsSet(true);
-                        msg = result;
-            }
              else 
             {
               msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
@@ -19178,25 +19633,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, searchProjectsByProjectName_args args, org.apache.thrift.async.AsyncMethodCallback<List<org.apache.airavata.model.workspace.Project>> resultHandler) throws TException {
-        iface.searchProjectsByProjectName(args.authzToken, args.gatewayId, args.userName, args.projectName, args.limit, args.offset,resultHandler);
+      public void start(I iface, deleteSSHPubKey_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
+        iface.deleteSSHPubKey(args.authzToken, args.airavataCredStoreToken, args.gatewayId,resultHandler);
       }
     }
 
-    public static class searchProjectsByProjectDesc<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, searchProjectsByProjectDesc_args, List<org.apache.airavata.model.workspace.Project>> {
-      public searchProjectsByProjectDesc() {
-        super("searchProjectsByProjectDesc");
+    public static class createProject<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, createProject_args, String> {
+      public createProject() {
+        super("createProject");
       }
 
-      public searchProjectsByProjectDesc_args getEmptyArgsInstance() {
-        return new searchProjectsByProjectDesc_args();
+      public createProject_args getEmptyArgsInstance() {
+        return new createProject_args();
       }
 
-      public AsyncMethodCallback<List<org.apache.airavata.model.workspace.Project>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<String> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<List<org.apache.airavata.model.workspace.Project>>() { 
-          public void onComplete(List<org.apache.airavata.model.workspace.Project> o) {
-            searchProjectsByProjectDesc_result result = new searchProjectsByProjectDesc_result();
+        return new AsyncMethodCallback<String>() { 
+          public void onComplete(String o) {
+            createProject_result result = new createProject_result();
             result.success = o;
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -19209,7 +19664,7 @@ public class Airavata {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            searchProjectsByProjectDesc_result result = new searchProjectsByProjectDesc_result();
+            createProject_result result = new createProject_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
                         result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
                         result.setIreIsSet(true);
@@ -19250,26 +19705,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, searchProjectsByProjectDesc_args args, org.apache.thrift.async.AsyncMethodCallback<List<org.apache.airavata.model.workspace.Project>> resultHandler) throws TException {
-        iface.searchProjectsByProjectDesc(args.authzToken, args.gatewayId, args.userName, args.description, args.limit, args.offset,resultHandler);
+      public void start(I iface, createProject_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
+        iface.createProject(args.authzToken, args.gatewayId, args.project,resultHandler);
       }
     }
 
-    public static class searchExperimentsByName<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, searchExperimentsByName_args, List<org.apache.airavata.model.experiment.ExperimentSummaryModel>> {
-      public searchExperimentsByName() {
-        super("searchExperimentsByName");
+    public static class updateProject<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateProject_args, Void> {
+      public updateProject() {
+        super("updateProject");
       }
 
-      public searchExperimentsByName_args getEmptyArgsInstance() {
-        return new searchExperimentsByName_args();
+      public updateProject_args getEmptyArgsInstance() {
+        return new updateProject_args();
       }
 
-      public AsyncMethodCallback<List<org.apache.airavata.model.experiment.ExperimentSummaryModel>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<List<org.apache.airavata.model.experiment.ExperimentSummaryModel>>() { 
-          public void onComplete(List<org.apache.airavata.model.experiment.ExperimentSummaryModel> o) {
-            searchExperimentsByName_result result = new searchExperimentsByName_result();
-            result.success = o;
+        return new AsyncMethodCallback<Void>() { 
+          public void onComplete(Void o) {
+            updateProject_result result = new updateProject_result();
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -19281,7 +19735,7 @@ public class Airavata {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            searchExperimentsByName_result result = new searchExperimentsByName_result();
+            updateProject_result result = new updateProject_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
                         result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
                         result.setIreIsSet(true);
@@ -19297,6 +19751,11 @@ public class Airavata {
                         result.setAseIsSet(true);
                         msg = result;
             }
+            else             if (e instanceof org.apache.airavata.model.error.ProjectNotFoundException) {
+                        result.pnfe = (org.apache.airavata.model.error.ProjectNotFoundException) e;
+                        result.setPnfeIsSet(true);
+                        msg = result;
+            }
             else             if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
                         result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
                         result.setAeIsSet(true);
@@ -19322,25 +19781,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, searchExperimentsByName_args args, org.apache.thrift.async.AsyncMethodCallback<List<org.apache.airavata.model.experiment.ExperimentSummaryModel>> resultHandler) throws TException {
-        iface.searchExperimentsByName(args.authzToken, args.gatewayId, args.userName, args.expName, args.limit, args.offset,resultHandler);
+      public void start(I iface, updateProject_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
+        iface.updateProject(args.authzToken, args.projectId, args.updatedProject,resultHandler);
       }
     }
 
-    public static class searchExperimentsByDesc<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, searchExperimentsByDesc_args, List<org.apache.airavata.model.experiment.ExperimentSummaryModel>> {
-      public searchExperimentsByDesc() {
-        super("searchExperimentsByDesc");
+    public static class getProject<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getProject_args, org.apache.airavata.model.workspace.Project> {
+      public getProject() {
+        super("getProject");
       }
 
-      public searchExperimentsByDesc_args getEmptyArgsInstance() {
-        return new searchExperimentsByDesc_args();
+      public getProject_args getEmptyArgsInstance() {
+        return new getProject_args();
       }
 
-      public AsyncMethodCallback<List<org.apache.airavata.model.experiment.ExperimentSummaryModel>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<org.apache.airavata.model.workspace.Project> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<List<org.apache.airavata.model.experiment.ExperimentSummaryModel>>() { 
-          public void onComplete(List<org.apache.airavata.model.experiment.ExperimentSummaryModel> o) {
-            searchExperimentsByDesc_result result = new searchExperimentsByDesc_result();
+        return new AsyncMethodCallback<org.apache.airavata.model.workspace.Project>() { 
+          public void onComplete(org.apache.airavata.model.workspace.Project o) {
+            getProject_result result = new getProject_result();
             result.success = o;
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -19353,7 +19812,7 @@ public class Airavata {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            searchExperimentsByDesc_result result = new searchExperimentsByDesc_result();
+            getProject_result result = new getProject_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
                         result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
                         result.setIreIsSet(true);
@@ -19369,6 +19828,11 @@ public class Airavata {
                         result.setAseIsSet(true);
                         msg = result;
             }
+            else             if (e instanceof org.apache.airavata.model.error.ProjectNotFoundException) {
+                        result.pnfe = (org.apache.airavata.model.error.ProjectNotFoundException) e;
+                        result.setPnfeIsSet(true);
+                        msg = result;
+            }
             else             if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
                         result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
                         result.setAeIsSet(true);
@@ -19394,26 +19858,27 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, searchExperimentsByDesc_args args, org.apache.thrift.async.AsyncMethodCallback<List<org.apache.airavata.model.experiment.ExperimentSummaryModel>> resultHandler) throws TException {
-        iface.searchExperimentsByDesc(args.authzToken, args.gatewayId, args.userName, args.description, args.limit, args.offset,resultHandler);
+      public void start(I iface, getProject_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.Project> resultHandler) throws TException {
+        iface.getProject(args.authzToken, args.projectId,resultHandler);
       }
     }
 
-    public static class searchExperimentsByApplication<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, searchExperimentsByApplication_args, List<org.apache.airavata.model.experiment.ExperimentSummaryModel>> {
-      public searchExperimentsByApplication() {
-        super("searchExperimentsByApplication");
+    public static class deleteProject<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteProject_args, Boolean> {
+      public deleteProject() {
+        super("deleteProject");
       }
 
-      public searchExperimentsByApplication_args getEmptyArgsInstance() {
-        return new searchExperimentsByApplication_args();
+      public deleteProject_args getEmptyArgsInstance() {
+        return new deleteProject_args();
       }
 
-      public AsyncMethodCallback<List<org.apache.airavata.model.experiment.ExperimentSummaryModel>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<List<org.apache.airavata.model.experiment.ExperimentSummaryModel>>() { 
-          public void onComplete(List<org.apache.airavata.model.experiment.ExperimentSummaryModel> o) {
-            searchExperimentsByApplication_result result = new searchExperimentsByApplication_result();
+        return new AsyncMethodCallback<Boolean>() { 
+          public void onComplete(Boolean o) {
+            deleteProject_result result = new deleteProject_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -19425,7 +19890,7 @@ public class Airavata {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            searchExperimentsByApplication_result result = new searchExperimentsByApplication_result();
+            deleteProject_result result = new deleteProject_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
                         result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
                         result.setIreIsSet(true);
@@ -19441,6 +19906,11 @@ public class Airavata {
                         result.setAseIsSet(true);
                         msg = result;
             }
+            else             if (e instanceof org.apache.airavata.model.error.ProjectNotFoundException) {
+                        result.pnfe = (org.apache.airavata.model.error.ProjectNotFoundException) e;
+                        result.setPnfeIsSet(true);
+                        msg = result;
+            }
             else             if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
                         result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
                         result.setAeIsSet(true);
@@ -19466,25 +19936,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, searchExperimentsByApplication_args args, org.apache.thrift.async.AsyncMethodCallback<List<org.apache.airavata.model.experiment.ExperimentSummaryModel>> resultHandler) throws TException {
-        iface.searchExperimentsByApplication(args.authzToken, args.gatewayId, args.userName, args.applicationId, args.limit, args.offset,resultHandler);
+      public void start(I iface, deleteProject_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
+        iface.deleteProject(args.authzToken, args.projectId,resultHandler);
       }
     }
 
-    public static class searchExperimentsByStatus<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, searchExperimentsByStatus_args, List<org.apache.airavata.model.experiment.ExperimentSummaryModel>> {
-      public searchExperimentsByStatus() {
-        super("searchExperimentsByStatus");
+    public static class getUserProjects<I e

<TRUNCATED>