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>

Reply via email to