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

[airavata] branch develop updated: add getJobCount method

This is an automated email from the ASF dual-hosted git repository.

isjarana pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/airavata.git


The following commit(s) were added to refs/heads/develop by this push:
     new 2b53738cac add getJobCount method
     new 317ffa64d8 Merge pull request #374 from isururanawaka/metaschedular
2b53738cac is described below

commit 2b53738caca8ea2ef4f1575d2ce7c9b89e812fd3
Author: Isuru Ranawaka <ir...@gmail.com>
AuthorDate: Tue Jan 31 15:50:02 2023 -0500

    add getJobCount method
---
 .../metadata/analyzer/impl/DataAnalyzerImpl.java   |   13 +-
 .../repositories/expcatalog/JobRepository.java     |    2 +
 .../expcatalog/JobStatusRepository.java            |   12 +
 .../airavata/registry/core/utils/DBConstants.java  |    4 +
 .../registry/core/utils/QueryConstants.java        |   12 +
 .../api/service/handler/RegistryServerHandler.java |   10 +
 .../airavata/registry/api/RegistryService.java     | 6722 ++++++++++++--------
 .../component-cpis/registry-api.thrift             |    3 +
 8 files changed, 4008 insertions(+), 2770 deletions(-)

diff --git a/modules/airavata-metascheduler/metadata-analyzer/src/main/java/org/apache/airavata/metascheduler/metadata/analyzer/impl/DataAnalyzerImpl.java b/modules/airavata-metascheduler/metadata-analyzer/src/main/java/org/apache/airavata/metascheduler/metadata/analyzer/impl/DataAnalyzerImpl.java
index 676d916f57..e305c28924 100644
--- a/modules/airavata-metascheduler/metadata-analyzer/src/main/java/org/apache/airavata/metascheduler/metadata/analyzer/impl/DataAnalyzerImpl.java
+++ b/modules/airavata-metascheduler/metadata-analyzer/src/main/java/org/apache/airavata/metascheduler/metadata/analyzer/impl/DataAnalyzerImpl.java
@@ -1,16 +1,25 @@
 package org.apache.airavata.metascheduler.metadata.analyzer.impl;
 
+import org.apache.airavata.common.utils.ThriftClientPool;
 import org.apache.airavata.metascheduler.core.engine.DataAnalyzer;
+import org.apache.airavata.metascheduler.core.utils.Utils;
 import org.quartz.JobExecutionContext;
 import org.quartz.JobExecutionException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.apache.airavata.registry.api.RegistryService;
+import org.apache.airavata.registry.api.RegistryService.Client;
 
 public class DataAnalyzerImpl implements DataAnalyzer {
 
+    private static final Logger LOGGER = LoggerFactory.getLogger(DataAnalyzerImpl.class);
 
-    @Override
-    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
+    protected static ThriftClientPool<RegistryService.Client> registryClientPool = Utils.getRegistryServiceClientPool();
 
 
+    @Override
+    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
+        RegistryService.Client client = null;
 
 
 
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/repositories/expcatalog/JobRepository.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/repositories/expcatalog/JobRepository.java
index a817b8518e..7f76f66dbe 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/repositories/expcatalog/JobRepository.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/repositories/expcatalog/JobRepository.java
@@ -160,4 +160,6 @@ public class JobRepository extends ExpCatAbstractRepository<JobModel, JobEntity,
         execute(QueryConstants.DELETE_JOB_NATIVE_QUERY,jobModel.getJobId(),jobModel.getTaskId());
     }
 
+
+
 }
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/repositories/expcatalog/JobStatusRepository.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/repositories/expcatalog/JobStatusRepository.java
index fad244d537..e2bc97e277 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/repositories/expcatalog/JobStatusRepository.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/repositories/expcatalog/JobStatusRepository.java
@@ -26,15 +26,19 @@ import org.apache.airavata.model.status.JobStatus;
 import org.apache.airavata.registry.core.entities.expcatalog.JobPK;
 import org.apache.airavata.registry.core.entities.expcatalog.JobStatusEntity;
 import org.apache.airavata.registry.core.entities.expcatalog.JobStatusPK;
+import org.apache.airavata.registry.core.utils.DBConstants;
 import org.apache.airavata.registry.core.utils.ExpCatalogUtils;
 import org.apache.airavata.registry.core.utils.ObjectMapperSingleton;
+import org.apache.airavata.registry.core.utils.QueryConstants;
 import org.apache.airavata.registry.cpi.RegistryException;
 import org.dozer.Mapper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import java.sql.Timestamp;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 public class JobStatusRepository extends ExpCatAbstractRepository<JobStatus, JobStatusEntity, JobStatusPK> {
     private final static Logger logger = LoggerFactory.getLogger(JobStatusRepository.class);
@@ -104,4 +108,12 @@ public class JobStatusRepository extends ExpCatAbstractRepository<JobStatus, Job
     }
 
 
+    public List<JobStatus> getDistinctListofJobStatus(String status, String gatewayId, double time){
+        JobStatusRepository jobStatusRepository = new JobStatusRepository();
+        Map<String, Object> queryParameters = new HashMap<>();
+        queryParameters.put(DBConstants.Job.JOB_STATUS, status);
+        queryParameters.put(DBConstants.Job.GATEWAY_ID,gatewayId);
+        queryParameters.put(DBConstants.Job.TIME_INTERVAL, String.valueOf(time));
+        return  jobStatusRepository.select(QueryConstants.FIND_JOB_COUNT, -1, 0, queryParameters);
+    }
 }
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/DBConstants.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/DBConstants.java
index 13fe4f2492..7b414894e8 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/DBConstants.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/DBConstants.java
@@ -135,6 +135,10 @@ public class DBConstants {
         public static final String PROCESS_ID = "processId";
         public static final String TASK_ID = "taskId";
         public static final String JOB_ID = "jobId";
+        public static final String GATEWAY_ID="gatewayId";
+        public static final String TIME_INTERVAL="timeInterval";
+        public static final String JOB_STATUS="jobStatus";
+
     }
 
     public static class ExperimentSummary {
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/QueryConstants.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/QueryConstants.java
index 31d658c22f..777b6dfa5c 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/QueryConstants.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/QueryConstants.java
@@ -18,6 +18,7 @@
  */
 package org.apache.airavata.registry.core.utils;
 
+import org.apache.airavata.model.status.JobStatus;
 import org.apache.airavata.model.status.QueueStatusModel;
 import org.apache.airavata.model.user.UserProfile;
 import org.apache.airavata.registry.core.entities.airavataworkflowcatalog.AiravataWorkflowEntity;
@@ -25,6 +26,8 @@ import org.apache.airavata.registry.core.entities.appcatalog.*;
 import org.apache.airavata.registry.core.entities.expcatalog.*;
 import org.apache.airavata.registry.core.entities.replicacatalog.DataProductEntity;
 
+import javax.print.attribute.standard.JobState;
+
 public interface QueryConstants {
 
     String FIND_USER_PROFILE_BY_USER_ID = "SELECT u FROM UserProfileEntity u " +
@@ -194,4 +197,13 @@ public interface QueryConstants {
     String GET_ALL_PROCESSES = "SELECT P FROM " + ProcessEntity.class.getSimpleName() +" P ";
 
     String DELETE_JOB_NATIVE_QUERY = "DELETE FROM JOB WHERE JOB_ID = ?1 AND TASK_ID = ?2";
+
+
+    String FIND_JOB_COUNT = "SELECT DISTINCT JS FROM "+ JobStatusEntity.class.getSimpleName()+"  WHERE JS.JOB_ID IN " +
+            "( SELECT J.JOB_ID FROM"+ JobEntity.class.getSimpleName()+" J where J.PROCESS_ID IN " +
+            "(SELECT P.PROCESS_ID FROM"+ ProcessEntity.class.getSimpleName()+ "P  where P.EXPERIMENT_ID IN " +
+            "(SELECT E.EXPERIMENT_ID FROM"+ExperimentEntity.class.getSimpleName()+"E where E.GATEWAY_ID= :"+DBConstants.Job.GATEWAY_ID+"))) " +
+            "AND JS.STATE= :"+ DBConstants.Job.JOB_STATUS + "and JS.TIME_OF_STATE_CHANGE > now()-interval :"+DBConstants.Job.TIME_INTERVAL +"minute";
+
+
 }
diff --git a/modules/registry/registry-server/registry-api-service/src/main/java/org/apache/airavata/registry/api/service/handler/RegistryServerHandler.java b/modules/registry/registry-server/registry-api-service/src/main/java/org/apache/airavata/registry/api/service/handler/RegistryServerHandler.java
index 762e93ebd0..8ea09be209 100644
--- a/modules/registry/registry-server/registry-api-service/src/main/java/org/apache/airavata/registry/api/service/handler/RegistryServerHandler.java
+++ b/modules/registry/registry-server/registry-api-service/src/main/java/org/apache/airavata/registry/api/service/handler/RegistryServerHandler.java
@@ -1082,6 +1082,16 @@ public class RegistryServerHandler implements RegistryService.Iface {
         }
     }
 
+
+    @Override
+    public int getJobCount(org.apache.airavata.model.status.JobStatus jobStatus,
+                           String gatewayId, double searchBackTimeInMinutes) throws RegistryServiceException, TException {
+
+     List<JobStatus> jobStatusList = jobStatusRepository.
+             getDistinctListofJobStatus(jobStatus.getJobState().name(),gatewayId,searchBackTimeInMinutes);
+     return  jobStatusList.size();
+    }
+
     private JobModel fetchJobModel(String queryType, String id) throws RegistryException {
         if (queryType.equals(Constants.FieldConstants.JobConstants.TASK_ID)) {
             List<JobModel> jobs = jobRepository.getJobList(Constants.FieldConstants.JobConstants.TASK_ID, id);
diff --git a/modules/registry/registry-server/registry-api-stubs/src/main/java/org/apache/airavata/registry/api/RegistryService.java b/modules/registry/registry-server/registry-api-stubs/src/main/java/org/apache/airavata/registry/api/RegistryService.java
index 5e26d8ba41..62509a8576 100644
--- a/modules/registry/registry-server/registry-api-stubs/src/main/java/org/apache/airavata/registry/api/RegistryService.java
+++ b/modules/registry/registry-server/registry-api-stubs/src/main/java/org/apache/airavata/registry/api/RegistryService.java
@@ -731,6 +731,8 @@ public class RegistryService {
 
     public void deleteJobs(java.lang.String processId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
 
+    public int getJobCount(org.apache.airavata.model.status.JobStatus jobStatus, java.lang.String gatewayId, double searchBackTimeInMinutes) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
+
     public java.lang.String addProcess(org.apache.airavata.model.process.ProcessModel processModel, java.lang.String experimentId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
 
     public void updateProcess(org.apache.airavata.model.process.ProcessModel processModel, java.lang.String processId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
@@ -2775,6 +2777,8 @@ public class RegistryService {
 
     public void deleteJobs(java.lang.String processId, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException;
 
+    public void getJobCount(org.apache.airavata.model.status.JobStatus jobStatus, java.lang.String gatewayId, double searchBackTimeInMinutes, org.apache.thrift.async.AsyncMethodCallback<java.lang.Integer> resultHandler) throws org.apache.thrift.TException;
+
     public void addProcess(org.apache.airavata.model.process.ProcessModel processModel, java.lang.String experimentId, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException;
 
     public void updateProcess(org.apache.airavata.model.process.ProcessModel processModel, java.lang.String processId, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException;
@@ -4287,6 +4291,34 @@ public class RegistryService {
       return;
     }
 
+    public int getJobCount(org.apache.airavata.model.status.JobStatus jobStatus, java.lang.String gatewayId, double searchBackTimeInMinutes) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      send_getJobCount(jobStatus, gatewayId, searchBackTimeInMinutes);
+      return recv_getJobCount();
+    }
+
+    public void send_getJobCount(org.apache.airavata.model.status.JobStatus jobStatus, java.lang.String gatewayId, double searchBackTimeInMinutes) throws org.apache.thrift.TException
+    {
+      getJobCount_args args = new getJobCount_args();
+      args.setJobStatus(jobStatus);
+      args.setGatewayId(gatewayId);
+      args.setSearchBackTimeInMinutes(searchBackTimeInMinutes);
+      sendBase("getJobCount", args);
+    }
+
+    public int recv_getJobCount() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      getJobCount_result result = new getJobCount_result();
+      receiveBase(result, "getJobCount");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.rse != null) {
+        throw result.rse;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getJobCount failed: unknown result");
+    }
+
     public java.lang.String addProcess(org.apache.airavata.model.process.ProcessModel processModel, java.lang.String experimentId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_addProcess(processModel, experimentId);
@@ -10179,6 +10211,44 @@ public class RegistryService {
       }
     }
 
+    public void getJobCount(org.apache.airavata.model.status.JobStatus jobStatus, java.lang.String gatewayId, double searchBackTimeInMinutes, org.apache.thrift.async.AsyncMethodCallback<java.lang.Integer> resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      getJobCount_call method_call = new getJobCount_call(jobStatus, gatewayId, searchBackTimeInMinutes, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class getJobCount_call extends org.apache.thrift.async.TAsyncMethodCall<java.lang.Integer> {
+      private org.apache.airavata.model.status.JobStatus jobStatus;
+      private java.lang.String gatewayId;
+      private double searchBackTimeInMinutes;
+      public getJobCount_call(org.apache.airavata.model.status.JobStatus jobStatus, java.lang.String gatewayId, double searchBackTimeInMinutes, org.apache.thrift.async.AsyncMethodCallback<java.lang.Integer> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.jobStatus = jobStatus;
+        this.gatewayId = gatewayId;
+        this.searchBackTimeInMinutes = searchBackTimeInMinutes;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getJobCount", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        getJobCount_args args = new getJobCount_args();
+        args.setJobStatus(jobStatus);
+        args.setGatewayId(gatewayId);
+        args.setSearchBackTimeInMinutes(searchBackTimeInMinutes);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public java.lang.Integer getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new java.lang.IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_getJobCount();
+      }
+    }
+
     public void addProcess(org.apache.airavata.model.process.ProcessModel processModel, java.lang.String experimentId, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       addProcess_call method_call = new addProcess_call(processModel, experimentId, resultHandler, this, ___protocolFactory, ___transport);
@@ -15825,6 +15895,7 @@ public class RegistryService {
       processMap.put("addJobStatus", new addJobStatus());
       processMap.put("addJob", new addJob());
       processMap.put("deleteJobs", new deleteJobs());
+      processMap.put("getJobCount", new getJobCount());
       processMap.put("addProcess", new addProcess());
       processMap.put("updateProcess", new updateProcess());
       processMap.put("addTask", new addTask());
@@ -17056,6 +17127,31 @@ public class RegistryService {
       }
     }
 
+    public static class getJobCount<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getJobCount_args> {
+      public getJobCount() {
+        super("getJobCount");
+      }
+
+      public getJobCount_args getEmptyArgsInstance() {
+        return new getJobCount_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public getJobCount_result getResult(I iface, getJobCount_args args) throws org.apache.thrift.TException {
+        getJobCount_result result = new getJobCount_result();
+        try {
+          result.success = iface.getJobCount(args.jobStatus, args.gatewayId, args.searchBackTimeInMinutes);
+          result.setSuccessIsSet(true);
+        } catch (org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+          result.rse = rse;
+        }
+        return result;
+      }
+    }
+
     public static class addProcess<I extends Iface> extends org.apache.thrift.ProcessFunction<I, addProcess_args> {
       public addProcess() {
         super("addProcess");
@@ -21108,6 +21204,7 @@ public class RegistryService {
       processMap.put("addJobStatus", new addJobStatus());
       processMap.put("addJob", new addJob());
       processMap.put("deleteJobs", new deleteJobs());
+      processMap.put("getJobCount", new getJobCount());
       processMap.put("addProcess", new addProcess());
       processMap.put("updateProcess", new updateProcess());
       processMap.put("addTask", new addTask());
@@ -24113,21 +24210,22 @@ public class RegistryService {
       }
     }
 
-    public static class addProcess<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addProcess_args, java.lang.String> {
-      public addProcess() {
-        super("addProcess");
+    public static class getJobCount<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getJobCount_args, java.lang.Integer> {
+      public getJobCount() {
+        super("getJobCount");
       }
 
-      public addProcess_args getEmptyArgsInstance() {
-        return new addProcess_args();
+      public getJobCount_args getEmptyArgsInstance() {
+        return new getJobCount_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Integer> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
-          public void onComplete(java.lang.String o) {
-            addProcess_result result = new addProcess_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Integer>() { 
+          public void onComplete(java.lang.Integer o) {
+            getJobCount_result result = new getJobCount_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -24141,71 +24239,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            addProcess_result result = new addProcess_result();
-            if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
-              result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
-              result.setRseIsSet(true);
-              msg = result;
-            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
-              _LOGGER.error("TTransportException inside handler", e);
-              fb.close();
-              return;
-            } else if (e instanceof org.apache.thrift.TApplicationException) {
-              _LOGGER.error("TApplicationException inside handler", e);
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = (org.apache.thrift.TApplicationException)e;
-            } else {
-              _LOGGER.error("Exception inside handler", e);
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
-            }
-            try {
-              fcall.sendResponse(fb,msg,msgType,seqid);
-            } catch (java.lang.Exception ex) {
-              _LOGGER.error("Exception writing to internal frame buffer", ex);
-              fb.close();
-            }
-          }
-        };
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public void start(I iface, addProcess_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
-        iface.addProcess(args.processModel, args.experimentId,resultHandler);
-      }
-    }
-
-    public static class updateProcess<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateProcess_args, Void> {
-      public updateProcess() {
-        super("updateProcess");
-      }
-
-      public updateProcess_args getEmptyArgsInstance() {
-        return new updateProcess_args();
-      }
-
-      public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
-        final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
-          public void onComplete(Void o) {
-            updateProcess_result result = new updateProcess_result();
-            try {
-              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
-            } catch (org.apache.thrift.transport.TTransportException e) {
-              _LOGGER.error("TTransportException writing to internal frame buffer", e);
-              fb.close();
-            } catch (java.lang.Exception e) {
-              _LOGGER.error("Exception writing to internal frame buffer", e);
-              onError(e);
-            }
-          }
-          public void onError(java.lang.Exception e) {
-            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TSerializable msg;
-            updateProcess_result result = new updateProcess_result();
+            getJobCount_result result = new getJobCount_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -24237,285 +24271,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, updateProcess_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
-        iface.updateProcess(args.processModel, args.processId,resultHandler);
+      public void start(I iface, getJobCount_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Integer> resultHandler) throws org.apache.thrift.TException {
+        iface.getJobCount(args.jobStatus, args.gatewayId, args.searchBackTimeInMinutes,resultHandler);
       }
     }
 
-    public static class addTask<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addTask_args, java.lang.String> {
-      public addTask() {
-        super("addTask");
+    public static class addProcess<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addProcess_args, java.lang.String> {
+      public addProcess() {
+        super("addProcess");
       }
 
-      public addTask_args getEmptyArgsInstance() {
-        return new addTask_args();
+      public addProcess_args getEmptyArgsInstance() {
+        return new addProcess_args();
       }
 
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
           public void onComplete(java.lang.String o) {
-            addTask_result result = new addTask_result();
-            result.success = o;
-            try {
-              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
-            } catch (org.apache.thrift.transport.TTransportException e) {
-              _LOGGER.error("TTransportException writing to internal frame buffer", e);
-              fb.close();
-            } catch (java.lang.Exception e) {
-              _LOGGER.error("Exception writing to internal frame buffer", e);
-              onError(e);
-            }
-          }
-          public void onError(java.lang.Exception e) {
-            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TSerializable msg;
-            addTask_result result = new addTask_result();
-            if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
-              result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
-              result.setRseIsSet(true);
-              msg = result;
-            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
-              _LOGGER.error("TTransportException inside handler", e);
-              fb.close();
-              return;
-            } else if (e instanceof org.apache.thrift.TApplicationException) {
-              _LOGGER.error("TApplicationException inside handler", e);
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = (org.apache.thrift.TApplicationException)e;
-            } else {
-              _LOGGER.error("Exception inside handler", e);
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
-            }
-            try {
-              fcall.sendResponse(fb,msg,msgType,seqid);
-            } catch (java.lang.Exception ex) {
-              _LOGGER.error("Exception writing to internal frame buffer", ex);
-              fb.close();
-            }
-          }
-        };
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public void start(I iface, addTask_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
-        iface.addTask(args.taskModel, args.processId,resultHandler);
-      }
-    }
-
-    public static class getUserConfigurationData<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getUserConfigurationData_args, org.apache.airavata.model.experiment.UserConfigurationDataModel> {
-      public getUserConfigurationData() {
-        super("getUserConfigurationData");
-      }
-
-      public getUserConfigurationData_args getEmptyArgsInstance() {
-        return new getUserConfigurationData_args();
-      }
-
-      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.UserConfigurationDataModel> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
-        final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.UserConfigurationDataModel>() { 
-          public void onComplete(org.apache.airavata.model.experiment.UserConfigurationDataModel o) {
-            getUserConfigurationData_result result = new getUserConfigurationData_result();
-            result.success = o;
-            try {
-              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
-            } catch (org.apache.thrift.transport.TTransportException e) {
-              _LOGGER.error("TTransportException writing to internal frame buffer", e);
-              fb.close();
-            } catch (java.lang.Exception e) {
-              _LOGGER.error("Exception writing to internal frame buffer", e);
-              onError(e);
-            }
-          }
-          public void onError(java.lang.Exception e) {
-            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TSerializable msg;
-            getUserConfigurationData_result result = new getUserConfigurationData_result();
-            if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
-              result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
-              result.setRseIsSet(true);
-              msg = result;
-            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
-              _LOGGER.error("TTransportException inside handler", e);
-              fb.close();
-              return;
-            } else if (e instanceof org.apache.thrift.TApplicationException) {
-              _LOGGER.error("TApplicationException inside handler", e);
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = (org.apache.thrift.TApplicationException)e;
-            } else {
-              _LOGGER.error("Exception inside handler", e);
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
-            }
-            try {
-              fcall.sendResponse(fb,msg,msgType,seqid);
-            } catch (java.lang.Exception ex) {
-              _LOGGER.error("Exception writing to internal frame buffer", ex);
-              fb.close();
-            }
-          }
-        };
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public void start(I iface, getUserConfigurationData_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.UserConfigurationDataModel> resultHandler) throws org.apache.thrift.TException {
-        iface.getUserConfigurationData(args.experimentId,resultHandler);
-      }
-    }
-
-    public static class getProcess<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getProcess_args, org.apache.airavata.model.process.ProcessModel> {
-      public getProcess() {
-        super("getProcess");
-      }
-
-      public getProcess_args getEmptyArgsInstance() {
-        return new getProcess_args();
-      }
-
-      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.process.ProcessModel> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
-        final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.process.ProcessModel>() { 
-          public void onComplete(org.apache.airavata.model.process.ProcessModel o) {
-            getProcess_result result = new getProcess_result();
-            result.success = o;
-            try {
-              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
-            } catch (org.apache.thrift.transport.TTransportException e) {
-              _LOGGER.error("TTransportException writing to internal frame buffer", e);
-              fb.close();
-            } catch (java.lang.Exception e) {
-              _LOGGER.error("Exception writing to internal frame buffer", e);
-              onError(e);
-            }
-          }
-          public void onError(java.lang.Exception e) {
-            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TSerializable msg;
-            getProcess_result result = new getProcess_result();
-            if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
-              result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
-              result.setRseIsSet(true);
-              msg = result;
-            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
-              _LOGGER.error("TTransportException inside handler", e);
-              fb.close();
-              return;
-            } else if (e instanceof org.apache.thrift.TApplicationException) {
-              _LOGGER.error("TApplicationException inside handler", e);
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = (org.apache.thrift.TApplicationException)e;
-            } else {
-              _LOGGER.error("Exception inside handler", e);
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
-            }
-            try {
-              fcall.sendResponse(fb,msg,msgType,seqid);
-            } catch (java.lang.Exception ex) {
-              _LOGGER.error("Exception writing to internal frame buffer", ex);
-              fb.close();
-            }
-          }
-        };
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public void start(I iface, getProcess_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.process.ProcessModel> resultHandler) throws org.apache.thrift.TException {
-        iface.getProcess(args.processId,resultHandler);
-      }
-    }
-
-    public static class getProcessList<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getProcessList_args, java.util.List<org.apache.airavata.model.process.ProcessModel>> {
-      public getProcessList() {
-        super("getProcessList");
-      }
-
-      public getProcessList_args getEmptyArgsInstance() {
-        return new getProcessList_args();
-      }
-
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.process.ProcessModel>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
-        final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.process.ProcessModel>>() { 
-          public void onComplete(java.util.List<org.apache.airavata.model.process.ProcessModel> o) {
-            getProcessList_result result = new getProcessList_result();
-            result.success = o;
-            try {
-              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
-            } catch (org.apache.thrift.transport.TTransportException e) {
-              _LOGGER.error("TTransportException writing to internal frame buffer", e);
-              fb.close();
-            } catch (java.lang.Exception e) {
-              _LOGGER.error("Exception writing to internal frame buffer", e);
-              onError(e);
-            }
-          }
-          public void onError(java.lang.Exception e) {
-            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TSerializable msg;
-            getProcessList_result result = new getProcessList_result();
-            if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
-              result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
-              result.setRseIsSet(true);
-              msg = result;
-            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
-              _LOGGER.error("TTransportException inside handler", e);
-              fb.close();
-              return;
-            } else if (e instanceof org.apache.thrift.TApplicationException) {
-              _LOGGER.error("TApplicationException inside handler", e);
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = (org.apache.thrift.TApplicationException)e;
-            } else {
-              _LOGGER.error("Exception inside handler", e);
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
-            }
-            try {
-              fcall.sendResponse(fb,msg,msgType,seqid);
-            } catch (java.lang.Exception ex) {
-              _LOGGER.error("Exception writing to internal frame buffer", ex);
-              fb.close();
-            }
-          }
-        };
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public void start(I iface, getProcessList_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.process.ProcessModel>> resultHandler) throws org.apache.thrift.TException {
-        iface.getProcessList(args.experimentId,resultHandler);
-      }
-    }
-
-    public static class getProcessStatus<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getProcessStatus_args, org.apache.airavata.model.status.ProcessStatus> {
-      public getProcessStatus() {
-        super("getProcessStatus");
-      }
-
-      public getProcessStatus_args getEmptyArgsInstance() {
-        return new getProcessStatus_args();
-      }
-
-      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.status.ProcessStatus> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
-        final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.status.ProcessStatus>() { 
-          public void onComplete(org.apache.airavata.model.status.ProcessStatus o) {
-            getProcessStatus_result result = new getProcessStatus_result();
+            addProcess_result result = new addProcess_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -24530,7 +24304,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getProcessStatus_result result = new getProcessStatus_result();
+            addProcess_result result = new addProcess_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -24562,26 +24336,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getProcessStatus_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.status.ProcessStatus> resultHandler) throws org.apache.thrift.TException {
-        iface.getProcessStatus(args.processId,resultHandler);
+      public void start(I iface, addProcess_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
+        iface.addProcess(args.processModel, args.experimentId,resultHandler);
       }
     }
 
-    public static class getProcessListInState<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getProcessListInState_args, java.util.List<org.apache.airavata.model.process.ProcessModel>> {
-      public getProcessListInState() {
-        super("getProcessListInState");
+    public static class updateProcess<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateProcess_args, Void> {
+      public updateProcess() {
+        super("updateProcess");
       }
 
-      public getProcessListInState_args getEmptyArgsInstance() {
-        return new getProcessListInState_args();
+      public updateProcess_args getEmptyArgsInstance() {
+        return new updateProcess_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.process.ProcessModel>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.process.ProcessModel>>() { 
-          public void onComplete(java.util.List<org.apache.airavata.model.process.ProcessModel> o) {
-            getProcessListInState_result result = new getProcessListInState_result();
-            result.success = o;
+        return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
+          public void onComplete(Void o) {
+            updateProcess_result result = new updateProcess_result();
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -24595,7 +24368,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getProcessListInState_result result = new getProcessListInState_result();
+            updateProcess_result result = new updateProcess_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -24627,25 +24400,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getProcessListInState_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.process.ProcessModel>> resultHandler) throws org.apache.thrift.TException {
-        iface.getProcessListInState(args.processState,resultHandler);
+      public void start(I iface, updateProcess_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
+        iface.updateProcess(args.processModel, args.processId,resultHandler);
       }
     }
 
-    public static class getProcessStatusList<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getProcessStatusList_args, java.util.List<org.apache.airavata.model.status.ProcessStatus>> {
-      public getProcessStatusList() {
-        super("getProcessStatusList");
+    public static class addTask<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addTask_args, java.lang.String> {
+      public addTask() {
+        super("addTask");
       }
 
-      public getProcessStatusList_args getEmptyArgsInstance() {
-        return new getProcessStatusList_args();
+      public addTask_args getEmptyArgsInstance() {
+        return new addTask_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.status.ProcessStatus>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.status.ProcessStatus>>() { 
-          public void onComplete(java.util.List<org.apache.airavata.model.status.ProcessStatus> o) {
-            getProcessStatusList_result result = new getProcessStatusList_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          public void onComplete(java.lang.String o) {
+            addTask_result result = new addTask_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -24660,7 +24433,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getProcessStatusList_result result = new getProcessStatusList_result();
+            addTask_result result = new addTask_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -24692,27 +24465,26 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getProcessStatusList_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.status.ProcessStatus>> resultHandler) throws org.apache.thrift.TException {
-        iface.getProcessStatusList(args.processId,resultHandler);
+      public void start(I iface, addTask_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
+        iface.addTask(args.taskModel, args.processId,resultHandler);
       }
     }
 
-    public static class isJobExist<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, isJobExist_args, java.lang.Boolean> {
-      public isJobExist() {
-        super("isJobExist");
+    public static class getUserConfigurationData<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getUserConfigurationData_args, org.apache.airavata.model.experiment.UserConfigurationDataModel> {
+      public getUserConfigurationData() {
+        super("getUserConfigurationData");
       }
 
-      public isJobExist_args getEmptyArgsInstance() {
-        return new isJobExist_args();
+      public getUserConfigurationData_args getEmptyArgsInstance() {
+        return new getUserConfigurationData_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.UserConfigurationDataModel> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            isJobExist_result result = new isJobExist_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.UserConfigurationDataModel>() { 
+          public void onComplete(org.apache.airavata.model.experiment.UserConfigurationDataModel o) {
+            getUserConfigurationData_result result = new getUserConfigurationData_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -24726,7 +24498,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            isJobExist_result result = new isJobExist_result();
+            getUserConfigurationData_result result = new getUserConfigurationData_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -24758,25 +24530,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, isJobExist_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.isJobExist(args.queryType, args.id,resultHandler);
+      public void start(I iface, getUserConfigurationData_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.UserConfigurationDataModel> resultHandler) throws org.apache.thrift.TException {
+        iface.getUserConfigurationData(args.experimentId,resultHandler);
       }
     }
 
-    public static class getJob<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getJob_args, org.apache.airavata.model.job.JobModel> {
-      public getJob() {
-        super("getJob");
+    public static class getProcess<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getProcess_args, org.apache.airavata.model.process.ProcessModel> {
+      public getProcess() {
+        super("getProcess");
       }
 
-      public getJob_args getEmptyArgsInstance() {
-        return new getJob_args();
+      public getProcess_args getEmptyArgsInstance() {
+        return new getProcess_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.job.JobModel> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.process.ProcessModel> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.job.JobModel>() { 
-          public void onComplete(org.apache.airavata.model.job.JobModel o) {
-            getJob_result result = new getJob_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.process.ProcessModel>() { 
+          public void onComplete(org.apache.airavata.model.process.ProcessModel o) {
+            getProcess_result result = new getProcess_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -24791,7 +24563,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getJob_result result = new getJob_result();
+            getProcess_result result = new getProcess_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -24823,25 +24595,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getJob_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.job.JobModel> resultHandler) throws org.apache.thrift.TException {
-        iface.getJob(args.queryType, args.id,resultHandler);
+      public void start(I iface, getProcess_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.process.ProcessModel> resultHandler) throws org.apache.thrift.TException {
+        iface.getProcess(args.processId,resultHandler);
       }
     }
 
-    public static class getJobs<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getJobs_args, java.util.List<org.apache.airavata.model.job.JobModel>> {
-      public getJobs() {
-        super("getJobs");
+    public static class getProcessList<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getProcessList_args, java.util.List<org.apache.airavata.model.process.ProcessModel>> {
+      public getProcessList() {
+        super("getProcessList");
       }
 
-      public getJobs_args getEmptyArgsInstance() {
-        return new getJobs_args();
+      public getProcessList_args getEmptyArgsInstance() {
+        return new getProcessList_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.job.JobModel>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.process.ProcessModel>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.job.JobModel>>() { 
-          public void onComplete(java.util.List<org.apache.airavata.model.job.JobModel> o) {
-            getJobs_result result = new getJobs_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.process.ProcessModel>>() { 
+          public void onComplete(java.util.List<org.apache.airavata.model.process.ProcessModel> o) {
+            getProcessList_result result = new getProcessList_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -24856,7 +24628,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getJobs_result result = new getJobs_result();
+            getProcessList_result result = new getProcessList_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -24888,25 +24660,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getJobs_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.job.JobModel>> resultHandler) throws org.apache.thrift.TException {
-        iface.getJobs(args.queryType, args.id,resultHandler);
+      public void start(I iface, getProcessList_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.process.ProcessModel>> resultHandler) throws org.apache.thrift.TException {
+        iface.getProcessList(args.experimentId,resultHandler);
       }
     }
 
-    public static class getProcessOutputs<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getProcessOutputs_args, java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>> {
-      public getProcessOutputs() {
-        super("getProcessOutputs");
+    public static class getProcessStatus<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getProcessStatus_args, org.apache.airavata.model.status.ProcessStatus> {
+      public getProcessStatus() {
+        super("getProcessStatus");
       }
 
-      public getProcessOutputs_args getEmptyArgsInstance() {
-        return new getProcessOutputs_args();
+      public getProcessStatus_args getEmptyArgsInstance() {
+        return new getProcessStatus_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.status.ProcessStatus> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>>() { 
-          public void onComplete(java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> o) {
-            getProcessOutputs_result result = new getProcessOutputs_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.status.ProcessStatus>() { 
+          public void onComplete(org.apache.airavata.model.status.ProcessStatus o) {
+            getProcessStatus_result result = new getProcessStatus_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -24921,7 +24693,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getProcessOutputs_result result = new getProcessOutputs_result();
+            getProcessStatus_result result = new getProcessStatus_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -24953,25 +24725,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getProcessOutputs_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>> resultHandler) throws org.apache.thrift.TException {
-        iface.getProcessOutputs(args.processId,resultHandler);
+      public void start(I iface, getProcessStatus_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.status.ProcessStatus> resultHandler) throws org.apache.thrift.TException {
+        iface.getProcessStatus(args.processId,resultHandler);
       }
     }
 
-    public static class getProcessWorkflows<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getProcessWorkflows_args, java.util.List<org.apache.airavata.model.process.ProcessWorkflow>> {
-      public getProcessWorkflows() {
-        super("getProcessWorkflows");
+    public static class getProcessListInState<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getProcessListInState_args, java.util.List<org.apache.airavata.model.process.ProcessModel>> {
+      public getProcessListInState() {
+        super("getProcessListInState");
       }
 
-      public getProcessWorkflows_args getEmptyArgsInstance() {
-        return new getProcessWorkflows_args();
+      public getProcessListInState_args getEmptyArgsInstance() {
+        return new getProcessListInState_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.process.ProcessWorkflow>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.process.ProcessModel>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.process.ProcessWorkflow>>() { 
-          public void onComplete(java.util.List<org.apache.airavata.model.process.ProcessWorkflow> o) {
-            getProcessWorkflows_result result = new getProcessWorkflows_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.process.ProcessModel>>() { 
+          public void onComplete(java.util.List<org.apache.airavata.model.process.ProcessModel> o) {
+            getProcessListInState_result result = new getProcessListInState_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -24986,71 +24758,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getProcessWorkflows_result result = new getProcessWorkflows_result();
-            if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
-              result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
-              result.setRseIsSet(true);
-              msg = result;
-            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
-              _LOGGER.error("TTransportException inside handler", e);
-              fb.close();
-              return;
-            } else if (e instanceof org.apache.thrift.TApplicationException) {
-              _LOGGER.error("TApplicationException inside handler", e);
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = (org.apache.thrift.TApplicationException)e;
-            } else {
-              _LOGGER.error("Exception inside handler", e);
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
-            }
-            try {
-              fcall.sendResponse(fb,msg,msgType,seqid);
-            } catch (java.lang.Exception ex) {
-              _LOGGER.error("Exception writing to internal frame buffer", ex);
-              fb.close();
-            }
-          }
-        };
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public void start(I iface, getProcessWorkflows_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.process.ProcessWorkflow>> resultHandler) throws org.apache.thrift.TException {
-        iface.getProcessWorkflows(args.processId,resultHandler);
-      }
-    }
-
-    public static class addProcessWorkflow<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addProcessWorkflow_args, Void> {
-      public addProcessWorkflow() {
-        super("addProcessWorkflow");
-      }
-
-      public addProcessWorkflow_args getEmptyArgsInstance() {
-        return new addProcessWorkflow_args();
-      }
-
-      public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
-        final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
-          public void onComplete(Void o) {
-            addProcessWorkflow_result result = new addProcessWorkflow_result();
-            try {
-              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
-            } catch (org.apache.thrift.transport.TTransportException e) {
-              _LOGGER.error("TTransportException writing to internal frame buffer", e);
-              fb.close();
-            } catch (java.lang.Exception e) {
-              _LOGGER.error("Exception writing to internal frame buffer", e);
-              onError(e);
-            }
-          }
-          public void onError(java.lang.Exception e) {
-            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TSerializable msg;
-            addProcessWorkflow_result result = new addProcessWorkflow_result();
+            getProcessListInState_result result = new getProcessListInState_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -25082,25 +24790,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, addProcessWorkflow_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
-        iface.addProcessWorkflow(args.processWorkflow,resultHandler);
+      public void start(I iface, getProcessListInState_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.process.ProcessModel>> resultHandler) throws org.apache.thrift.TException {
+        iface.getProcessListInState(args.processState,resultHandler);
       }
     }
 
-    public static class getProcessIds<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getProcessIds_args, java.util.List<java.lang.String>> {
-      public getProcessIds() {
-        super("getProcessIds");
+    public static class getProcessStatusList<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getProcessStatusList_args, java.util.List<org.apache.airavata.model.status.ProcessStatus>> {
+      public getProcessStatusList() {
+        super("getProcessStatusList");
       }
 
-      public getProcessIds_args getEmptyArgsInstance() {
-        return new getProcessIds_args();
+      public getProcessStatusList_args getEmptyArgsInstance() {
+        return new getProcessStatusList_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.status.ProcessStatus>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>>() { 
-          public void onComplete(java.util.List<java.lang.String> o) {
-            getProcessIds_result result = new getProcessIds_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.status.ProcessStatus>>() { 
+          public void onComplete(java.util.List<org.apache.airavata.model.status.ProcessStatus> o) {
+            getProcessStatusList_result result = new getProcessStatusList_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -25115,7 +24823,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getProcessIds_result result = new getProcessIds_result();
+            getProcessStatusList_result result = new getProcessStatusList_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -25147,26 +24855,27 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getProcessIds_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>> resultHandler) throws org.apache.thrift.TException {
-        iface.getProcessIds(args.experimentId,resultHandler);
+      public void start(I iface, getProcessStatusList_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.status.ProcessStatus>> resultHandler) throws org.apache.thrift.TException {
+        iface.getProcessStatusList(args.processId,resultHandler);
       }
     }
 
-    public static class getJobDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getJobDetails_args, java.util.List<org.apache.airavata.model.job.JobModel>> {
-      public getJobDetails() {
-        super("getJobDetails");
+    public static class isJobExist<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, isJobExist_args, java.lang.Boolean> {
+      public isJobExist() {
+        super("isJobExist");
       }
 
-      public getJobDetails_args getEmptyArgsInstance() {
-        return new getJobDetails_args();
+      public isJobExist_args getEmptyArgsInstance() {
+        return new isJobExist_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.job.JobModel>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.job.JobModel>>() { 
-          public void onComplete(java.util.List<org.apache.airavata.model.job.JobModel> o) {
-            getJobDetails_result result = new getJobDetails_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            isJobExist_result result = new isJobExist_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -25180,15 +24889,11 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getJobDetails_result result = new getJobDetails_result();
+            isJobExist_result result = new isJobExist_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
               msg = result;
-            } else if (e instanceof org.apache.airavata.model.error.ExperimentNotFoundException) {
-              result.enf = (org.apache.airavata.model.error.ExperimentNotFoundException) e;
-              result.setEnfIsSet(true);
-              msg = result;
             } else if (e instanceof org.apache.thrift.transport.TTransportException) {
               _LOGGER.error("TTransportException inside handler", e);
               fb.close();
@@ -25216,25 +24921,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getJobDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.job.JobModel>> resultHandler) throws org.apache.thrift.TException {
-        iface.getJobDetails(args.airavataExperimentId,resultHandler);
+      public void start(I iface, isJobExist_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.isJobExist(args.queryType, args.id,resultHandler);
       }
     }
 
-    public static class registerApplicationModule<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerApplicationModule_args, java.lang.String> {
-      public registerApplicationModule() {
-        super("registerApplicationModule");
+    public static class getJob<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getJob_args, org.apache.airavata.model.job.JobModel> {
+      public getJob() {
+        super("getJob");
       }
 
-      public registerApplicationModule_args getEmptyArgsInstance() {
-        return new registerApplicationModule_args();
+      public getJob_args getEmptyArgsInstance() {
+        return new getJob_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.job.JobModel> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
-          public void onComplete(java.lang.String o) {
-            registerApplicationModule_result result = new registerApplicationModule_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.job.JobModel>() { 
+          public void onComplete(org.apache.airavata.model.job.JobModel o) {
+            getJob_result result = new getJob_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -25249,7 +24954,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            registerApplicationModule_result result = new registerApplicationModule_result();
+            getJob_result result = new getJob_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -25281,25 +24986,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, registerApplicationModule_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
-        iface.registerApplicationModule(args.gatewayId, args.applicationModule,resultHandler);
+      public void start(I iface, getJob_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.job.JobModel> resultHandler) throws org.apache.thrift.TException {
+        iface.getJob(args.queryType, args.id,resultHandler);
       }
     }
 
-    public static class getApplicationModule<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getApplicationModule_args, org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> {
-      public getApplicationModule() {
-        super("getApplicationModule");
+    public static class getJobs<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getJobs_args, java.util.List<org.apache.airavata.model.job.JobModel>> {
+      public getJobs() {
+        super("getJobs");
       }
 
-      public getApplicationModule_args getEmptyArgsInstance() {
-        return new getApplicationModule_args();
+      public getJobs_args getEmptyArgsInstance() {
+        return new getJobs_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.job.JobModel>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>() { 
-          public void onComplete(org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule o) {
-            getApplicationModule_result result = new getApplicationModule_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.job.JobModel>>() { 
+          public void onComplete(java.util.List<org.apache.airavata.model.job.JobModel> o) {
+            getJobs_result result = new getJobs_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -25314,7 +25019,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getApplicationModule_result result = new getApplicationModule_result();
+            getJobs_result result = new getJobs_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -25346,27 +25051,26 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getApplicationModule_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> resultHandler) throws org.apache.thrift.TException {
-        iface.getApplicationModule(args.appModuleId,resultHandler);
+      public void start(I iface, getJobs_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.job.JobModel>> resultHandler) throws org.apache.thrift.TException {
+        iface.getJobs(args.queryType, args.id,resultHandler);
       }
     }
 
-    public static class updateApplicationModule<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateApplicationModule_args, java.lang.Boolean> {
-      public updateApplicationModule() {
-        super("updateApplicationModule");
+    public static class getProcessOutputs<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getProcessOutputs_args, java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>> {
+      public getProcessOutputs() {
+        super("getProcessOutputs");
       }
 
-      public updateApplicationModule_args getEmptyArgsInstance() {
-        return new updateApplicationModule_args();
+      public getProcessOutputs_args getEmptyArgsInstance() {
+        return new getProcessOutputs_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            updateApplicationModule_result result = new updateApplicationModule_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>>() { 
+          public void onComplete(java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> o) {
+            getProcessOutputs_result result = new getProcessOutputs_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -25380,7 +25084,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            updateApplicationModule_result result = new updateApplicationModule_result();
+            getProcessOutputs_result result = new getProcessOutputs_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -25412,25 +25116,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, updateApplicationModule_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.updateApplicationModule(args.appModuleId, args.applicationModule,resultHandler);
+      public void start(I iface, getProcessOutputs_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>> resultHandler) throws org.apache.thrift.TException {
+        iface.getProcessOutputs(args.processId,resultHandler);
       }
     }
 
-    public static class getAllAppModules<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllAppModules_args, java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>> {
-      public getAllAppModules() {
-        super("getAllAppModules");
+    public static class getProcessWorkflows<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getProcessWorkflows_args, java.util.List<org.apache.airavata.model.process.ProcessWorkflow>> {
+      public getProcessWorkflows() {
+        super("getProcessWorkflows");
       }
 
-      public getAllAppModules_args getEmptyArgsInstance() {
-        return new getAllAppModules_args();
+      public getProcessWorkflows_args getEmptyArgsInstance() {
+        return new getProcessWorkflows_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.process.ProcessWorkflow>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>>() { 
-          public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> o) {
-            getAllAppModules_result result = new getAllAppModules_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.process.ProcessWorkflow>>() { 
+          public void onComplete(java.util.List<org.apache.airavata.model.process.ProcessWorkflow> o) {
+            getProcessWorkflows_result result = new getProcessWorkflows_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -25445,7 +25149,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getAllAppModules_result result = new getAllAppModules_result();
+            getProcessWorkflows_result result = new getProcessWorkflows_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -25477,25 +25181,89 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getAllAppModules_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>> resultHandler) throws org.apache.thrift.TException {
-        iface.getAllAppModules(args.gatewayId,resultHandler);
+      public void start(I iface, getProcessWorkflows_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.process.ProcessWorkflow>> resultHandler) throws org.apache.thrift.TException {
+        iface.getProcessWorkflows(args.processId,resultHandler);
       }
     }
 
-    public static class getAccessibleAppModules<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAccessibleAppModules_args, java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>> {
-      public getAccessibleAppModules() {
-        super("getAccessibleAppModules");
+    public static class addProcessWorkflow<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addProcessWorkflow_args, Void> {
+      public addProcessWorkflow() {
+        super("addProcessWorkflow");
       }
 
-      public getAccessibleAppModules_args getEmptyArgsInstance() {
-        return new getAccessibleAppModules_args();
+      public addProcessWorkflow_args getEmptyArgsInstance() {
+        return new addProcessWorkflow_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>>() { 
-          public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> o) {
-            getAccessibleAppModules_result result = new getAccessibleAppModules_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
+          public void onComplete(Void o) {
+            addProcessWorkflow_result result = new addProcessWorkflow_result();
+            try {
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
+            }
+          }
+          public void onError(java.lang.Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TSerializable msg;
+            addProcessWorkflow_result result = new addProcessWorkflow_result();
+            if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
+              result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
+              result.setRseIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
+            }
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, addProcessWorkflow_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
+        iface.addProcessWorkflow(args.processWorkflow,resultHandler);
+      }
+    }
+
+    public static class getProcessIds<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getProcessIds_args, java.util.List<java.lang.String>> {
+      public getProcessIds() {
+        super("getProcessIds");
+      }
+
+      public getProcessIds_args getEmptyArgsInstance() {
+        return new getProcessIds_args();
+      }
+
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>>() { 
+          public void onComplete(java.util.List<java.lang.String> o) {
+            getProcessIds_result result = new getProcessIds_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -25510,7 +25278,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getAccessibleAppModules_result result = new getAccessibleAppModules_result();
+            getProcessIds_result result = new getProcessIds_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -25542,27 +25310,26 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getAccessibleAppModules_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>> resultHandler) throws org.apache.thrift.TException {
-        iface.getAccessibleAppModules(args.gatewayId, args.accessibleAppDeploymentIds, args.accessibleComputeResourceIds,resultHandler);
+      public void start(I iface, getProcessIds_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>> resultHandler) throws org.apache.thrift.TException {
+        iface.getProcessIds(args.experimentId,resultHandler);
       }
     }
 
-    public static class deleteApplicationModule<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteApplicationModule_args, java.lang.Boolean> {
-      public deleteApplicationModule() {
-        super("deleteApplicationModule");
+    public static class getJobDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getJobDetails_args, java.util.List<org.apache.airavata.model.job.JobModel>> {
+      public getJobDetails() {
+        super("getJobDetails");
       }
 
-      public deleteApplicationModule_args getEmptyArgsInstance() {
-        return new deleteApplicationModule_args();
+      public getJobDetails_args getEmptyArgsInstance() {
+        return new getJobDetails_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.job.JobModel>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            deleteApplicationModule_result result = new deleteApplicationModule_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.job.JobModel>>() { 
+          public void onComplete(java.util.List<org.apache.airavata.model.job.JobModel> o) {
+            getJobDetails_result result = new getJobDetails_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -25576,11 +25343,15 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            deleteApplicationModule_result result = new deleteApplicationModule_result();
+            getJobDetails_result result = new getJobDetails_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
               msg = result;
+            } else if (e instanceof org.apache.airavata.model.error.ExperimentNotFoundException) {
+              result.enf = (org.apache.airavata.model.error.ExperimentNotFoundException) e;
+              result.setEnfIsSet(true);
+              msg = result;
             } else if (e instanceof org.apache.thrift.transport.TTransportException) {
               _LOGGER.error("TTransportException inside handler", e);
               fb.close();
@@ -25608,25 +25379,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, deleteApplicationModule_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.deleteApplicationModule(args.appModuleId,resultHandler);
+      public void start(I iface, getJobDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.job.JobModel>> resultHandler) throws org.apache.thrift.TException {
+        iface.getJobDetails(args.airavataExperimentId,resultHandler);
       }
     }
 
-    public static class registerApplicationDeployment<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerApplicationDeployment_args, java.lang.String> {
-      public registerApplicationDeployment() {
-        super("registerApplicationDeployment");
+    public static class registerApplicationModule<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerApplicationModule_args, java.lang.String> {
+      public registerApplicationModule() {
+        super("registerApplicationModule");
       }
 
-      public registerApplicationDeployment_args getEmptyArgsInstance() {
-        return new registerApplicationDeployment_args();
+      public registerApplicationModule_args getEmptyArgsInstance() {
+        return new registerApplicationModule_args();
       }
 
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
           public void onComplete(java.lang.String o) {
-            registerApplicationDeployment_result result = new registerApplicationDeployment_result();
+            registerApplicationModule_result result = new registerApplicationModule_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -25641,7 +25412,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            registerApplicationDeployment_result result = new registerApplicationDeployment_result();
+            registerApplicationModule_result result = new registerApplicationModule_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -25673,25 +25444,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, registerApplicationDeployment_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
-        iface.registerApplicationDeployment(args.gatewayId, args.applicationDeployment,resultHandler);
+      public void start(I iface, registerApplicationModule_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
+        iface.registerApplicationModule(args.gatewayId, args.applicationModule,resultHandler);
       }
     }
 
-    public static class getApplicationDeployment<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getApplicationDeployment_args, org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> {
-      public getApplicationDeployment() {
-        super("getApplicationDeployment");
+    public static class getApplicationModule<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getApplicationModule_args, org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> {
+      public getApplicationModule() {
+        super("getApplicationModule");
       }
 
-      public getApplicationDeployment_args getEmptyArgsInstance() {
-        return new getApplicationDeployment_args();
+      public getApplicationModule_args getEmptyArgsInstance() {
+        return new getApplicationModule_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>() { 
-          public void onComplete(org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription o) {
-            getApplicationDeployment_result result = new getApplicationDeployment_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>() { 
+          public void onComplete(org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule o) {
+            getApplicationModule_result result = new getApplicationModule_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -25706,7 +25477,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getApplicationDeployment_result result = new getApplicationDeployment_result();
+            getApplicationModule_result result = new getApplicationModule_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -25738,25 +25509,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getApplicationDeployment_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> resultHandler) throws org.apache.thrift.TException {
-        iface.getApplicationDeployment(args.appDeploymentId,resultHandler);
+      public void start(I iface, getApplicationModule_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> resultHandler) throws org.apache.thrift.TException {
+        iface.getApplicationModule(args.appModuleId,resultHandler);
       }
     }
 
-    public static class updateApplicationDeployment<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateApplicationDeployment_args, java.lang.Boolean> {
-      public updateApplicationDeployment() {
-        super("updateApplicationDeployment");
+    public static class updateApplicationModule<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateApplicationModule_args, java.lang.Boolean> {
+      public updateApplicationModule() {
+        super("updateApplicationModule");
       }
 
-      public updateApplicationDeployment_args getEmptyArgsInstance() {
-        return new updateApplicationDeployment_args();
+      public updateApplicationModule_args getEmptyArgsInstance() {
+        return new updateApplicationModule_args();
       }
 
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
           public void onComplete(java.lang.Boolean o) {
-            updateApplicationDeployment_result result = new updateApplicationDeployment_result();
+            updateApplicationModule_result result = new updateApplicationModule_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -25772,7 +25543,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            updateApplicationDeployment_result result = new updateApplicationDeployment_result();
+            updateApplicationModule_result result = new updateApplicationModule_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -25804,27 +25575,26 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, updateApplicationDeployment_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.updateApplicationDeployment(args.appDeploymentId, args.applicationDeployment,resultHandler);
+      public void start(I iface, updateApplicationModule_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.updateApplicationModule(args.appModuleId, args.applicationModule,resultHandler);
       }
     }
 
-    public static class deleteApplicationDeployment<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteApplicationDeployment_args, java.lang.Boolean> {
-      public deleteApplicationDeployment() {
-        super("deleteApplicationDeployment");
+    public static class getAllAppModules<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllAppModules_args, java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>> {
+      public getAllAppModules() {
+        super("getAllAppModules");
       }
 
-      public deleteApplicationDeployment_args getEmptyArgsInstance() {
-        return new deleteApplicationDeployment_args();
+      public getAllAppModules_args getEmptyArgsInstance() {
+        return new getAllAppModules_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            deleteApplicationDeployment_result result = new deleteApplicationDeployment_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>>() { 
+          public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> o) {
+            getAllAppModules_result result = new getAllAppModules_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -25838,7 +25608,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            deleteApplicationDeployment_result result = new deleteApplicationDeployment_result();
+            getAllAppModules_result result = new getAllAppModules_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -25870,25 +25640,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, deleteApplicationDeployment_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.deleteApplicationDeployment(args.appDeploymentId,resultHandler);
+      public void start(I iface, getAllAppModules_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>> resultHandler) throws org.apache.thrift.TException {
+        iface.getAllAppModules(args.gatewayId,resultHandler);
       }
     }
 
-    public static class getAllApplicationDeployments<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllApplicationDeployments_args, java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>> {
-      public getAllApplicationDeployments() {
-        super("getAllApplicationDeployments");
+    public static class getAccessibleAppModules<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAccessibleAppModules_args, java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>> {
+      public getAccessibleAppModules() {
+        super("getAccessibleAppModules");
       }
 
-      public getAllApplicationDeployments_args getEmptyArgsInstance() {
-        return new getAllApplicationDeployments_args();
+      public getAccessibleAppModules_args getEmptyArgsInstance() {
+        return new getAccessibleAppModules_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>>() { 
-          public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> o) {
-            getAllApplicationDeployments_result result = new getAllApplicationDeployments_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>>() { 
+          public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> o) {
+            getAccessibleAppModules_result result = new getAccessibleAppModules_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -25903,7 +25673,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getAllApplicationDeployments_result result = new getAllApplicationDeployments_result();
+            getAccessibleAppModules_result result = new getAccessibleAppModules_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -25935,26 +25705,27 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getAllApplicationDeployments_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>> resultHandler) throws org.apache.thrift.TException {
-        iface.getAllApplicationDeployments(args.gatewayId,resultHandler);
+      public void start(I iface, getAccessibleAppModules_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>> resultHandler) throws org.apache.thrift.TException {
+        iface.getAccessibleAppModules(args.gatewayId, args.accessibleAppDeploymentIds, args.accessibleComputeResourceIds,resultHandler);
       }
     }
 
-    public static class getAccessibleApplicationDeployments<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAccessibleApplicationDeployments_args, java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>> {
-      public getAccessibleApplicationDeployments() {
-        super("getAccessibleApplicationDeployments");
+    public static class deleteApplicationModule<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteApplicationModule_args, java.lang.Boolean> {
+      public deleteApplicationModule() {
+        super("deleteApplicationModule");
       }
 
-      public getAccessibleApplicationDeployments_args getEmptyArgsInstance() {
-        return new getAccessibleApplicationDeployments_args();
+      public deleteApplicationModule_args getEmptyArgsInstance() {
+        return new deleteApplicationModule_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>>() { 
-          public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> o) {
-            getAccessibleApplicationDeployments_result result = new getAccessibleApplicationDeployments_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            deleteApplicationModule_result result = new deleteApplicationModule_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -25968,7 +25739,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getAccessibleApplicationDeployments_result result = new getAccessibleApplicationDeployments_result();
+            deleteApplicationModule_result result = new deleteApplicationModule_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -26000,25 +25771,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getAccessibleApplicationDeployments_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>> resultHandler) throws org.apache.thrift.TException {
-        iface.getAccessibleApplicationDeployments(args.gatewayId, args.accessibleAppDeploymentIds, args.accessibleComputeResourceIds,resultHandler);
+      public void start(I iface, deleteApplicationModule_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.deleteApplicationModule(args.appModuleId,resultHandler);
       }
     }
 
-    public static class getAccessibleApplicationDeploymentsForAppModule<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAccessibleApplicationDeploymentsForAppModule_args, java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>> {
-      public getAccessibleApplicationDeploymentsForAppModule() {
-        super("getAccessibleApplicationDeploymentsForAppModule");
+    public static class registerApplicationDeployment<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerApplicationDeployment_args, java.lang.String> {
+      public registerApplicationDeployment() {
+        super("registerApplicationDeployment");
       }
 
-      public getAccessibleApplicationDeploymentsForAppModule_args getEmptyArgsInstance() {
-        return new getAccessibleApplicationDeploymentsForAppModule_args();
+      public registerApplicationDeployment_args getEmptyArgsInstance() {
+        return new registerApplicationDeployment_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>>() { 
-          public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> o) {
-            getAccessibleApplicationDeploymentsForAppModule_result result = new getAccessibleApplicationDeploymentsForAppModule_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          public void onComplete(java.lang.String o) {
+            registerApplicationDeployment_result result = new registerApplicationDeployment_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -26033,7 +25804,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getAccessibleApplicationDeploymentsForAppModule_result result = new getAccessibleApplicationDeploymentsForAppModule_result();
+            registerApplicationDeployment_result result = new registerApplicationDeployment_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -26065,25 +25836,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getAccessibleApplicationDeploymentsForAppModule_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>> resultHandler) throws org.apache.thrift.TException {
-        iface.getAccessibleApplicationDeploymentsForAppModule(args.gatewayId, args.appModuleId, args.accessibleAppDeploymentIds, args.accessibleComputeResourceIds,resultHandler);
+      public void start(I iface, registerApplicationDeployment_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
+        iface.registerApplicationDeployment(args.gatewayId, args.applicationDeployment,resultHandler);
       }
     }
 
-    public static class getAppModuleDeployedResources<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAppModuleDeployedResources_args, java.util.List<java.lang.String>> {
-      public getAppModuleDeployedResources() {
-        super("getAppModuleDeployedResources");
+    public static class getApplicationDeployment<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getApplicationDeployment_args, org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> {
+      public getApplicationDeployment() {
+        super("getApplicationDeployment");
       }
 
-      public getAppModuleDeployedResources_args getEmptyArgsInstance() {
-        return new getAppModuleDeployedResources_args();
+      public getApplicationDeployment_args getEmptyArgsInstance() {
+        return new getApplicationDeployment_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>>() { 
-          public void onComplete(java.util.List<java.lang.String> o) {
-            getAppModuleDeployedResources_result result = new getAppModuleDeployedResources_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>() { 
+          public void onComplete(org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription o) {
+            getApplicationDeployment_result result = new getApplicationDeployment_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -26098,7 +25869,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getAppModuleDeployedResources_result result = new getAppModuleDeployedResources_result();
+            getApplicationDeployment_result result = new getApplicationDeployment_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -26130,26 +25901,27 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getAppModuleDeployedResources_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>> resultHandler) throws org.apache.thrift.TException {
-        iface.getAppModuleDeployedResources(args.appModuleId,resultHandler);
+      public void start(I iface, getApplicationDeployment_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> resultHandler) throws org.apache.thrift.TException {
+        iface.getApplicationDeployment(args.appDeploymentId,resultHandler);
       }
     }
 
-    public static class getApplicationDeployments<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getApplicationDeployments_args, java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>> {
-      public getApplicationDeployments() {
-        super("getApplicationDeployments");
+    public static class updateApplicationDeployment<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateApplicationDeployment_args, java.lang.Boolean> {
+      public updateApplicationDeployment() {
+        super("updateApplicationDeployment");
       }
 
-      public getApplicationDeployments_args getEmptyArgsInstance() {
-        return new getApplicationDeployments_args();
+      public updateApplicationDeployment_args getEmptyArgsInstance() {
+        return new updateApplicationDeployment_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>>() { 
-          public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> o) {
-            getApplicationDeployments_result result = new getApplicationDeployments_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            updateApplicationDeployment_result result = new updateApplicationDeployment_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -26163,7 +25935,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getApplicationDeployments_result result = new getApplicationDeployments_result();
+            updateApplicationDeployment_result result = new updateApplicationDeployment_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -26195,26 +25967,27 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getApplicationDeployments_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>> resultHandler) throws org.apache.thrift.TException {
-        iface.getApplicationDeployments(args.appModuleId,resultHandler);
+      public void start(I iface, updateApplicationDeployment_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.updateApplicationDeployment(args.appDeploymentId, args.applicationDeployment,resultHandler);
       }
     }
 
-    public static class registerApplicationInterface<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerApplicationInterface_args, java.lang.String> {
-      public registerApplicationInterface() {
-        super("registerApplicationInterface");
+    public static class deleteApplicationDeployment<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteApplicationDeployment_args, java.lang.Boolean> {
+      public deleteApplicationDeployment() {
+        super("deleteApplicationDeployment");
       }
 
-      public registerApplicationInterface_args getEmptyArgsInstance() {
-        return new registerApplicationInterface_args();
+      public deleteApplicationDeployment_args getEmptyArgsInstance() {
+        return new deleteApplicationDeployment_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
-          public void onComplete(java.lang.String o) {
-            registerApplicationInterface_result result = new registerApplicationInterface_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            deleteApplicationDeployment_result result = new deleteApplicationDeployment_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -26228,7 +26001,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            registerApplicationInterface_result result = new registerApplicationInterface_result();
+            deleteApplicationDeployment_result result = new deleteApplicationDeployment_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -26260,25 +26033,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, registerApplicationInterface_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
-        iface.registerApplicationInterface(args.gatewayId, args.applicationInterface,resultHandler);
+      public void start(I iface, deleteApplicationDeployment_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.deleteApplicationDeployment(args.appDeploymentId,resultHandler);
       }
     }
 
-    public static class getApplicationInterface<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getApplicationInterface_args, org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription> {
-      public getApplicationInterface() {
-        super("getApplicationInterface");
+    public static class getAllApplicationDeployments<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllApplicationDeployments_args, java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>> {
+      public getAllApplicationDeployments() {
+        super("getAllApplicationDeployments");
       }
 
-      public getApplicationInterface_args getEmptyArgsInstance() {
-        return new getApplicationInterface_args();
+      public getAllApplicationDeployments_args getEmptyArgsInstance() {
+        return new getAllApplicationDeployments_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription>() { 
-          public void onComplete(org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription o) {
-            getApplicationInterface_result result = new getApplicationInterface_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>>() { 
+          public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> o) {
+            getAllApplicationDeployments_result result = new getAllApplicationDeployments_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -26293,7 +26066,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getApplicationInterface_result result = new getApplicationInterface_result();
+            getAllApplicationDeployments_result result = new getAllApplicationDeployments_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -26325,27 +26098,26 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getApplicationInterface_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription> resultHandler) throws org.apache.thrift.TException {
-        iface.getApplicationInterface(args.appInterfaceId,resultHandler);
+      public void start(I iface, getAllApplicationDeployments_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>> resultHandler) throws org.apache.thrift.TException {
+        iface.getAllApplicationDeployments(args.gatewayId,resultHandler);
       }
     }
 
-    public static class updateApplicationInterface<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateApplicationInterface_args, java.lang.Boolean> {
-      public updateApplicationInterface() {
-        super("updateApplicationInterface");
+    public static class getAccessibleApplicationDeployments<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAccessibleApplicationDeployments_args, java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>> {
+      public getAccessibleApplicationDeployments() {
+        super("getAccessibleApplicationDeployments");
       }
 
-      public updateApplicationInterface_args getEmptyArgsInstance() {
-        return new updateApplicationInterface_args();
+      public getAccessibleApplicationDeployments_args getEmptyArgsInstance() {
+        return new getAccessibleApplicationDeployments_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            updateApplicationInterface_result result = new updateApplicationInterface_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>>() { 
+          public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> o) {
+            getAccessibleApplicationDeployments_result result = new getAccessibleApplicationDeployments_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -26359,7 +26131,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            updateApplicationInterface_result result = new updateApplicationInterface_result();
+            getAccessibleApplicationDeployments_result result = new getAccessibleApplicationDeployments_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -26391,27 +26163,26 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, updateApplicationInterface_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.updateApplicationInterface(args.appInterfaceId, args.applicationInterface,resultHandler);
+      public void start(I iface, getAccessibleApplicationDeployments_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>> resultHandler) throws org.apache.thrift.TException {
+        iface.getAccessibleApplicationDeployments(args.gatewayId, args.accessibleAppDeploymentIds, args.accessibleComputeResourceIds,resultHandler);
       }
     }
 
-    public static class deleteApplicationInterface<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteApplicationInterface_args, java.lang.Boolean> {
-      public deleteApplicationInterface() {
-        super("deleteApplicationInterface");
+    public static class getAccessibleApplicationDeploymentsForAppModule<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAccessibleApplicationDeploymentsForAppModule_args, java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>> {
+      public getAccessibleApplicationDeploymentsForAppModule() {
+        super("getAccessibleApplicationDeploymentsForAppModule");
       }
 
-      public deleteApplicationInterface_args getEmptyArgsInstance() {
-        return new deleteApplicationInterface_args();
+      public getAccessibleApplicationDeploymentsForAppModule_args getEmptyArgsInstance() {
+        return new getAccessibleApplicationDeploymentsForAppModule_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            deleteApplicationInterface_result result = new deleteApplicationInterface_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>>() { 
+          public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> o) {
+            getAccessibleApplicationDeploymentsForAppModule_result result = new getAccessibleApplicationDeploymentsForAppModule_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -26425,7 +26196,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            deleteApplicationInterface_result result = new deleteApplicationInterface_result();
+            getAccessibleApplicationDeploymentsForAppModule_result result = new getAccessibleApplicationDeploymentsForAppModule_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -26457,25 +26228,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, deleteApplicationInterface_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.deleteApplicationInterface(args.appInterfaceId,resultHandler);
+      public void start(I iface, getAccessibleApplicationDeploymentsForAppModule_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>> resultHandler) throws org.apache.thrift.TException {
+        iface.getAccessibleApplicationDeploymentsForAppModule(args.gatewayId, args.appModuleId, args.accessibleAppDeploymentIds, args.accessibleComputeResourceIds,resultHandler);
       }
     }
 
-    public static class getAllApplicationInterfaceNames<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllApplicationInterfaceNames_args, java.util.Map<java.lang.String,java.lang.String>> {
-      public getAllApplicationInterfaceNames() {
-        super("getAllApplicationInterfaceNames");
+    public static class getAppModuleDeployedResources<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAppModuleDeployedResources_args, java.util.List<java.lang.String>> {
+      public getAppModuleDeployedResources() {
+        super("getAppModuleDeployedResources");
       }
 
-      public getAllApplicationInterfaceNames_args getEmptyArgsInstance() {
-        return new getAllApplicationInterfaceNames_args();
+      public getAppModuleDeployedResources_args getEmptyArgsInstance() {
+        return new getAppModuleDeployedResources_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>>() { 
-          public void onComplete(java.util.Map<java.lang.String,java.lang.String> o) {
-            getAllApplicationInterfaceNames_result result = new getAllApplicationInterfaceNames_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>>() { 
+          public void onComplete(java.util.List<java.lang.String> o) {
+            getAppModuleDeployedResources_result result = new getAppModuleDeployedResources_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -26490,7 +26261,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getAllApplicationInterfaceNames_result result = new getAllApplicationInterfaceNames_result();
+            getAppModuleDeployedResources_result result = new getAppModuleDeployedResources_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -26522,25 +26293,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getAllApplicationInterfaceNames_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>> resultHandler) throws org.apache.thrift.TException {
-        iface.getAllApplicationInterfaceNames(args.gatewayId,resultHandler);
+      public void start(I iface, getAppModuleDeployedResources_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>> resultHandler) throws org.apache.thrift.TException {
+        iface.getAppModuleDeployedResources(args.appModuleId,resultHandler);
       }
     }
 
-    public static class getAllApplicationInterfaces<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllApplicationInterfaces_args, java.util.List<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription>> {
-      public getAllApplicationInterfaces() {
-        super("getAllApplicationInterfaces");
+    public static class getApplicationDeployments<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getApplicationDeployments_args, java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>> {
+      public getApplicationDeployments() {
+        super("getApplicationDeployments");
       }
 
-      public getAllApplicationInterfaces_args getEmptyArgsInstance() {
-        return new getAllApplicationInterfaces_args();
+      public getApplicationDeployments_args getEmptyArgsInstance() {
+        return new getApplicationDeployments_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription>>() { 
-          public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription> o) {
-            getAllApplicationInterfaces_result result = new getAllApplicationInterfaces_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>>() { 
+          public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> o) {
+            getApplicationDeployments_result result = new getApplicationDeployments_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -26555,7 +26326,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getAllApplicationInterfaces_result result = new getAllApplicationInterfaces_result();
+            getApplicationDeployments_result result = new getApplicationDeployments_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -26587,25 +26358,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getAllApplicationInterfaces_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription>> resultHandler) throws org.apache.thrift.TException {
-        iface.getAllApplicationInterfaces(args.gatewayId,resultHandler);
+      public void start(I iface, getApplicationDeployments_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>> resultHandler) throws org.apache.thrift.TException {
+        iface.getApplicationDeployments(args.appModuleId,resultHandler);
       }
     }
 
-    public static class getApplicationInputs<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getApplicationInputs_args, java.util.List<org.apache.airavata.model.application.io.InputDataObjectType>> {
-      public getApplicationInputs() {
-        super("getApplicationInputs");
+    public static class registerApplicationInterface<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerApplicationInterface_args, java.lang.String> {
+      public registerApplicationInterface() {
+        super("registerApplicationInterface");
       }
 
-      public getApplicationInputs_args getEmptyArgsInstance() {
-        return new getApplicationInputs_args();
+      public registerApplicationInterface_args getEmptyArgsInstance() {
+        return new registerApplicationInterface_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.InputDataObjectType>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.InputDataObjectType>>() { 
-          public void onComplete(java.util.List<org.apache.airavata.model.application.io.InputDataObjectType> o) {
-            getApplicationInputs_result result = new getApplicationInputs_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          public void onComplete(java.lang.String o) {
+            registerApplicationInterface_result result = new registerApplicationInterface_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -26620,7 +26391,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getApplicationInputs_result result = new getApplicationInputs_result();
+            registerApplicationInterface_result result = new registerApplicationInterface_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -26652,25 +26423,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getApplicationInputs_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.InputDataObjectType>> resultHandler) throws org.apache.thrift.TException {
-        iface.getApplicationInputs(args.appInterfaceId,resultHandler);
+      public void start(I iface, registerApplicationInterface_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
+        iface.registerApplicationInterface(args.gatewayId, args.applicationInterface,resultHandler);
       }
     }
 
-    public static class getApplicationOutputs<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getApplicationOutputs_args, java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>> {
-      public getApplicationOutputs() {
-        super("getApplicationOutputs");
+    public static class getApplicationInterface<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getApplicationInterface_args, org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription> {
+      public getApplicationInterface() {
+        super("getApplicationInterface");
       }
 
-      public getApplicationOutputs_args getEmptyArgsInstance() {
-        return new getApplicationOutputs_args();
+      public getApplicationInterface_args getEmptyArgsInstance() {
+        return new getApplicationInterface_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>>() { 
-          public void onComplete(java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> o) {
-            getApplicationOutputs_result result = new getApplicationOutputs_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription>() { 
+          public void onComplete(org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription o) {
+            getApplicationInterface_result result = new getApplicationInterface_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -26685,7 +26456,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getApplicationOutputs_result result = new getApplicationOutputs_result();
+            getApplicationInterface_result result = new getApplicationInterface_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -26717,26 +26488,27 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getApplicationOutputs_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>> resultHandler) throws org.apache.thrift.TException {
-        iface.getApplicationOutputs(args.appInterfaceId,resultHandler);
+      public void start(I iface, getApplicationInterface_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription> resultHandler) throws org.apache.thrift.TException {
+        iface.getApplicationInterface(args.appInterfaceId,resultHandler);
       }
     }
 
-    public static class getAvailableAppInterfaceComputeResources<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAvailableAppInterfaceComputeResources_args, java.util.Map<java.lang.String,java.lang.String>> {
-      public getAvailableAppInterfaceComputeResources() {
-        super("getAvailableAppInterfaceComputeResources");
+    public static class updateApplicationInterface<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateApplicationInterface_args, java.lang.Boolean> {
+      public updateApplicationInterface() {
+        super("updateApplicationInterface");
       }
 
-      public getAvailableAppInterfaceComputeResources_args getEmptyArgsInstance() {
-        return new getAvailableAppInterfaceComputeResources_args();
+      public updateApplicationInterface_args getEmptyArgsInstance() {
+        return new updateApplicationInterface_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>>() { 
-          public void onComplete(java.util.Map<java.lang.String,java.lang.String> o) {
-            getAvailableAppInterfaceComputeResources_result result = new getAvailableAppInterfaceComputeResources_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            updateApplicationInterface_result result = new updateApplicationInterface_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -26750,7 +26522,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getAvailableAppInterfaceComputeResources_result result = new getAvailableAppInterfaceComputeResources_result();
+            updateApplicationInterface_result result = new updateApplicationInterface_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -26782,26 +26554,27 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getAvailableAppInterfaceComputeResources_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>> resultHandler) throws org.apache.thrift.TException {
-        iface.getAvailableAppInterfaceComputeResources(args.appInterfaceId,resultHandler);
+      public void start(I iface, updateApplicationInterface_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.updateApplicationInterface(args.appInterfaceId, args.applicationInterface,resultHandler);
       }
     }
 
-    public static class registerComputeResource<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerComputeResource_args, java.lang.String> {
-      public registerComputeResource() {
-        super("registerComputeResource");
+    public static class deleteApplicationInterface<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteApplicationInterface_args, java.lang.Boolean> {
+      public deleteApplicationInterface() {
+        super("deleteApplicationInterface");
       }
 
-      public registerComputeResource_args getEmptyArgsInstance() {
-        return new registerComputeResource_args();
+      public deleteApplicationInterface_args getEmptyArgsInstance() {
+        return new deleteApplicationInterface_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
-          public void onComplete(java.lang.String o) {
-            registerComputeResource_result result = new registerComputeResource_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            deleteApplicationInterface_result result = new deleteApplicationInterface_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -26815,7 +26588,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            registerComputeResource_result result = new registerComputeResource_result();
+            deleteApplicationInterface_result result = new deleteApplicationInterface_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -26847,25 +26620,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, registerComputeResource_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
-        iface.registerComputeResource(args.computeResourceDescription,resultHandler);
+      public void start(I iface, deleteApplicationInterface_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.deleteApplicationInterface(args.appInterfaceId,resultHandler);
       }
     }
 
-    public static class getComputeResource<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getComputeResource_args, org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription> {
-      public getComputeResource() {
-        super("getComputeResource");
+    public static class getAllApplicationInterfaceNames<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllApplicationInterfaceNames_args, java.util.Map<java.lang.String,java.lang.String>> {
+      public getAllApplicationInterfaceNames() {
+        super("getAllApplicationInterfaceNames");
       }
 
-      public getComputeResource_args getEmptyArgsInstance() {
-        return new getComputeResource_args();
+      public getAllApplicationInterfaceNames_args getEmptyArgsInstance() {
+        return new getAllApplicationInterfaceNames_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription>() { 
-          public void onComplete(org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription o) {
-            getComputeResource_result result = new getComputeResource_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>>() { 
+          public void onComplete(java.util.Map<java.lang.String,java.lang.String> o) {
+            getAllApplicationInterfaceNames_result result = new getAllApplicationInterfaceNames_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -26880,7 +26653,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getComputeResource_result result = new getComputeResource_result();
+            getAllApplicationInterfaceNames_result result = new getAllApplicationInterfaceNames_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -26912,25 +26685,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getComputeResource_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription> resultHandler) throws org.apache.thrift.TException {
-        iface.getComputeResource(args.computeResourceId,resultHandler);
+      public void start(I iface, getAllApplicationInterfaceNames_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>> resultHandler) throws org.apache.thrift.TException {
+        iface.getAllApplicationInterfaceNames(args.gatewayId,resultHandler);
       }
     }
 
-    public static class getAllComputeResourceNames<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllComputeResourceNames_args, java.util.Map<java.lang.String,java.lang.String>> {
-      public getAllComputeResourceNames() {
-        super("getAllComputeResourceNames");
+    public static class getAllApplicationInterfaces<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllApplicationInterfaces_args, java.util.List<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription>> {
+      public getAllApplicationInterfaces() {
+        super("getAllApplicationInterfaces");
       }
 
-      public getAllComputeResourceNames_args getEmptyArgsInstance() {
-        return new getAllComputeResourceNames_args();
+      public getAllApplicationInterfaces_args getEmptyArgsInstance() {
+        return new getAllApplicationInterfaces_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>>() { 
-          public void onComplete(java.util.Map<java.lang.String,java.lang.String> o) {
-            getAllComputeResourceNames_result result = new getAllComputeResourceNames_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription>>() { 
+          public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription> o) {
+            getAllApplicationInterfaces_result result = new getAllApplicationInterfaces_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -26945,7 +26718,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getAllComputeResourceNames_result result = new getAllComputeResourceNames_result();
+            getAllApplicationInterfaces_result result = new getAllApplicationInterfaces_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -26977,27 +26750,26 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getAllComputeResourceNames_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>> resultHandler) throws org.apache.thrift.TException {
-        iface.getAllComputeResourceNames(resultHandler);
+      public void start(I iface, getAllApplicationInterfaces_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription>> resultHandler) throws org.apache.thrift.TException {
+        iface.getAllApplicationInterfaces(args.gatewayId,resultHandler);
       }
     }
 
-    public static class updateComputeResource<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateComputeResource_args, java.lang.Boolean> {
-      public updateComputeResource() {
-        super("updateComputeResource");
+    public static class getApplicationInputs<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getApplicationInputs_args, java.util.List<org.apache.airavata.model.application.io.InputDataObjectType>> {
+      public getApplicationInputs() {
+        super("getApplicationInputs");
       }
 
-      public updateComputeResource_args getEmptyArgsInstance() {
-        return new updateComputeResource_args();
+      public getApplicationInputs_args getEmptyArgsInstance() {
+        return new getApplicationInputs_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.InputDataObjectType>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            updateComputeResource_result result = new updateComputeResource_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.InputDataObjectType>>() { 
+          public void onComplete(java.util.List<org.apache.airavata.model.application.io.InputDataObjectType> o) {
+            getApplicationInputs_result result = new getApplicationInputs_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -27011,7 +26783,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            updateComputeResource_result result = new updateComputeResource_result();
+            getApplicationInputs_result result = new getApplicationInputs_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -27043,27 +26815,26 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, updateComputeResource_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.updateComputeResource(args.computeResourceId, args.computeResourceDescription,resultHandler);
+      public void start(I iface, getApplicationInputs_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.InputDataObjectType>> resultHandler) throws org.apache.thrift.TException {
+        iface.getApplicationInputs(args.appInterfaceId,resultHandler);
       }
     }
 
-    public static class deleteComputeResource<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteComputeResource_args, java.lang.Boolean> {
-      public deleteComputeResource() {
-        super("deleteComputeResource");
+    public static class getApplicationOutputs<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getApplicationOutputs_args, java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>> {
+      public getApplicationOutputs() {
+        super("getApplicationOutputs");
       }
 
-      public deleteComputeResource_args getEmptyArgsInstance() {
-        return new deleteComputeResource_args();
+      public getApplicationOutputs_args getEmptyArgsInstance() {
+        return new getApplicationOutputs_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            deleteComputeResource_result result = new deleteComputeResource_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>>() { 
+          public void onComplete(java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> o) {
+            getApplicationOutputs_result result = new getApplicationOutputs_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -27077,7 +26848,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            deleteComputeResource_result result = new deleteComputeResource_result();
+            getApplicationOutputs_result result = new getApplicationOutputs_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -27109,25 +26880,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, deleteComputeResource_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.deleteComputeResource(args.computeResourceId,resultHandler);
+      public void start(I iface, getApplicationOutputs_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>> resultHandler) throws org.apache.thrift.TException {
+        iface.getApplicationOutputs(args.appInterfaceId,resultHandler);
       }
     }
 
-    public static class registerStorageResource<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerStorageResource_args, java.lang.String> {
-      public registerStorageResource() {
-        super("registerStorageResource");
+    public static class getAvailableAppInterfaceComputeResources<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAvailableAppInterfaceComputeResources_args, java.util.Map<java.lang.String,java.lang.String>> {
+      public getAvailableAppInterfaceComputeResources() {
+        super("getAvailableAppInterfaceComputeResources");
       }
 
-      public registerStorageResource_args getEmptyArgsInstance() {
-        return new registerStorageResource_args();
+      public getAvailableAppInterfaceComputeResources_args getEmptyArgsInstance() {
+        return new getAvailableAppInterfaceComputeResources_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
-          public void onComplete(java.lang.String o) {
-            registerStorageResource_result result = new registerStorageResource_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>>() { 
+          public void onComplete(java.util.Map<java.lang.String,java.lang.String> o) {
+            getAvailableAppInterfaceComputeResources_result result = new getAvailableAppInterfaceComputeResources_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -27142,7 +26913,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            registerStorageResource_result result = new registerStorageResource_result();
+            getAvailableAppInterfaceComputeResources_result result = new getAvailableAppInterfaceComputeResources_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -27174,25 +26945,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, registerStorageResource_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
-        iface.registerStorageResource(args.storageResourceDescription,resultHandler);
+      public void start(I iface, getAvailableAppInterfaceComputeResources_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>> resultHandler) throws org.apache.thrift.TException {
+        iface.getAvailableAppInterfaceComputeResources(args.appInterfaceId,resultHandler);
       }
     }
 
-    public static class getStorageResource<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getStorageResource_args, org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription> {
-      public getStorageResource() {
-        super("getStorageResource");
+    public static class registerComputeResource<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerComputeResource_args, java.lang.String> {
+      public registerComputeResource() {
+        super("registerComputeResource");
       }
 
-      public getStorageResource_args getEmptyArgsInstance() {
-        return new getStorageResource_args();
+      public registerComputeResource_args getEmptyArgsInstance() {
+        return new registerComputeResource_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription>() { 
-          public void onComplete(org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription o) {
-            getStorageResource_result result = new getStorageResource_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          public void onComplete(java.lang.String o) {
+            registerComputeResource_result result = new registerComputeResource_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -27207,7 +26978,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getStorageResource_result result = new getStorageResource_result();
+            registerComputeResource_result result = new registerComputeResource_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -27239,25 +27010,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getStorageResource_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription> resultHandler) throws org.apache.thrift.TException {
-        iface.getStorageResource(args.storageResourceId,resultHandler);
+      public void start(I iface, registerComputeResource_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
+        iface.registerComputeResource(args.computeResourceDescription,resultHandler);
       }
     }
 
-    public static class getAllStorageResourceNames<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllStorageResourceNames_args, java.util.Map<java.lang.String,java.lang.String>> {
-      public getAllStorageResourceNames() {
-        super("getAllStorageResourceNames");
+    public static class getComputeResource<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getComputeResource_args, org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription> {
+      public getComputeResource() {
+        super("getComputeResource");
       }
 
-      public getAllStorageResourceNames_args getEmptyArgsInstance() {
-        return new getAllStorageResourceNames_args();
+      public getComputeResource_args getEmptyArgsInstance() {
+        return new getComputeResource_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>>() { 
-          public void onComplete(java.util.Map<java.lang.String,java.lang.String> o) {
-            getAllStorageResourceNames_result result = new getAllStorageResourceNames_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription>() { 
+          public void onComplete(org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription o) {
+            getComputeResource_result result = new getComputeResource_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -27272,7 +27043,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getAllStorageResourceNames_result result = new getAllStorageResourceNames_result();
+            getComputeResource_result result = new getComputeResource_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -27304,27 +27075,26 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getAllStorageResourceNames_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>> resultHandler) throws org.apache.thrift.TException {
-        iface.getAllStorageResourceNames(resultHandler);
+      public void start(I iface, getComputeResource_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription> resultHandler) throws org.apache.thrift.TException {
+        iface.getComputeResource(args.computeResourceId,resultHandler);
       }
     }
 
-    public static class updateStorageResource<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateStorageResource_args, java.lang.Boolean> {
-      public updateStorageResource() {
-        super("updateStorageResource");
+    public static class getAllComputeResourceNames<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllComputeResourceNames_args, java.util.Map<java.lang.String,java.lang.String>> {
+      public getAllComputeResourceNames() {
+        super("getAllComputeResourceNames");
       }
 
-      public updateStorageResource_args getEmptyArgsInstance() {
-        return new updateStorageResource_args();
+      public getAllComputeResourceNames_args getEmptyArgsInstance() {
+        return new getAllComputeResourceNames_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            updateStorageResource_result result = new updateStorageResource_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>>() { 
+          public void onComplete(java.util.Map<java.lang.String,java.lang.String> o) {
+            getAllComputeResourceNames_result result = new getAllComputeResourceNames_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -27338,7 +27108,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            updateStorageResource_result result = new updateStorageResource_result();
+            getAllComputeResourceNames_result result = new getAllComputeResourceNames_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -27370,25 +27140,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, updateStorageResource_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.updateStorageResource(args.storageResourceId, args.storageResourceDescription,resultHandler);
+      public void start(I iface, getAllComputeResourceNames_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>> resultHandler) throws org.apache.thrift.TException {
+        iface.getAllComputeResourceNames(resultHandler);
       }
     }
 
-    public static class deleteStorageResource<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteStorageResource_args, java.lang.Boolean> {
-      public deleteStorageResource() {
-        super("deleteStorageResource");
+    public static class updateComputeResource<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateComputeResource_args, java.lang.Boolean> {
+      public updateComputeResource() {
+        super("updateComputeResource");
       }
 
-      public deleteStorageResource_args getEmptyArgsInstance() {
-        return new deleteStorageResource_args();
+      public updateComputeResource_args getEmptyArgsInstance() {
+        return new updateComputeResource_args();
       }
 
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
           public void onComplete(java.lang.Boolean o) {
-            deleteStorageResource_result result = new deleteStorageResource_result();
+            updateComputeResource_result result = new updateComputeResource_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -27404,7 +27174,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            deleteStorageResource_result result = new deleteStorageResource_result();
+            updateComputeResource_result result = new updateComputeResource_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -27436,26 +27206,27 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, deleteStorageResource_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.deleteStorageResource(args.storageResourceId,resultHandler);
+      public void start(I iface, updateComputeResource_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.updateComputeResource(args.computeResourceId, args.computeResourceDescription,resultHandler);
       }
     }
 
-    public static class addLocalSubmissionDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addLocalSubmissionDetails_args, java.lang.String> {
-      public addLocalSubmissionDetails() {
-        super("addLocalSubmissionDetails");
+    public static class deleteComputeResource<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteComputeResource_args, java.lang.Boolean> {
+      public deleteComputeResource() {
+        super("deleteComputeResource");
       }
 
-      public addLocalSubmissionDetails_args getEmptyArgsInstance() {
-        return new addLocalSubmissionDetails_args();
+      public deleteComputeResource_args getEmptyArgsInstance() {
+        return new deleteComputeResource_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
-          public void onComplete(java.lang.String o) {
-            addLocalSubmissionDetails_result result = new addLocalSubmissionDetails_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            deleteComputeResource_result result = new deleteComputeResource_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -27469,7 +27240,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            addLocalSubmissionDetails_result result = new addLocalSubmissionDetails_result();
+            deleteComputeResource_result result = new deleteComputeResource_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -27501,27 +27272,26 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, addLocalSubmissionDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
-        iface.addLocalSubmissionDetails(args.computeResourceId, args.priorityOrder, args.localSubmission,resultHandler);
+      public void start(I iface, deleteComputeResource_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.deleteComputeResource(args.computeResourceId,resultHandler);
       }
     }
 
-    public static class updateLocalSubmissionDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateLocalSubmissionDetails_args, java.lang.Boolean> {
-      public updateLocalSubmissionDetails() {
-        super("updateLocalSubmissionDetails");
+    public static class registerStorageResource<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerStorageResource_args, java.lang.String> {
+      public registerStorageResource() {
+        super("registerStorageResource");
       }
 
-      public updateLocalSubmissionDetails_args getEmptyArgsInstance() {
-        return new updateLocalSubmissionDetails_args();
+      public registerStorageResource_args getEmptyArgsInstance() {
+        return new registerStorageResource_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            updateLocalSubmissionDetails_result result = new updateLocalSubmissionDetails_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          public void onComplete(java.lang.String o) {
+            registerStorageResource_result result = new registerStorageResource_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -27535,7 +27305,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            updateLocalSubmissionDetails_result result = new updateLocalSubmissionDetails_result();
+            registerStorageResource_result result = new registerStorageResource_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -27567,25 +27337,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, updateLocalSubmissionDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.updateLocalSubmissionDetails(args.jobSubmissionInterfaceId, args.localSubmission,resultHandler);
+      public void start(I iface, registerStorageResource_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
+        iface.registerStorageResource(args.storageResourceDescription,resultHandler);
       }
     }
 
-    public static class getLocalJobSubmission<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getLocalJobSubmission_args, org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission> {
-      public getLocalJobSubmission() {
-        super("getLocalJobSubmission");
+    public static class getStorageResource<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getStorageResource_args, org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription> {
+      public getStorageResource() {
+        super("getStorageResource");
       }
 
-      public getLocalJobSubmission_args getEmptyArgsInstance() {
-        return new getLocalJobSubmission_args();
+      public getStorageResource_args getEmptyArgsInstance() {
+        return new getStorageResource_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission>() { 
-          public void onComplete(org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission o) {
-            getLocalJobSubmission_result result = new getLocalJobSubmission_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription>() { 
+          public void onComplete(org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription o) {
+            getStorageResource_result result = new getStorageResource_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -27600,7 +27370,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getLocalJobSubmission_result result = new getLocalJobSubmission_result();
+            getStorageResource_result result = new getStorageResource_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -27632,25 +27402,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getLocalJobSubmission_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission> resultHandler) throws org.apache.thrift.TException {
-        iface.getLocalJobSubmission(args.jobSubmissionId,resultHandler);
+      public void start(I iface, getStorageResource_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription> resultHandler) throws org.apache.thrift.TException {
+        iface.getStorageResource(args.storageResourceId,resultHandler);
       }
     }
 
-    public static class addSSHJobSubmissionDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addSSHJobSubmissionDetails_args, java.lang.String> {
-      public addSSHJobSubmissionDetails() {
-        super("addSSHJobSubmissionDetails");
+    public static class getAllStorageResourceNames<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllStorageResourceNames_args, java.util.Map<java.lang.String,java.lang.String>> {
+      public getAllStorageResourceNames() {
+        super("getAllStorageResourceNames");
       }
 
-      public addSSHJobSubmissionDetails_args getEmptyArgsInstance() {
-        return new addSSHJobSubmissionDetails_args();
+      public getAllStorageResourceNames_args getEmptyArgsInstance() {
+        return new getAllStorageResourceNames_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
-          public void onComplete(java.lang.String o) {
-            addSSHJobSubmissionDetails_result result = new addSSHJobSubmissionDetails_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>>() { 
+          public void onComplete(java.util.Map<java.lang.String,java.lang.String> o) {
+            getAllStorageResourceNames_result result = new getAllStorageResourceNames_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -27665,7 +27435,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            addSSHJobSubmissionDetails_result result = new addSSHJobSubmissionDetails_result();
+            getAllStorageResourceNames_result result = new getAllStorageResourceNames_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -27697,26 +27467,27 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, addSSHJobSubmissionDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
-        iface.addSSHJobSubmissionDetails(args.computeResourceId, args.priorityOrder, args.sshJobSubmission,resultHandler);
+      public void start(I iface, getAllStorageResourceNames_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>> resultHandler) throws org.apache.thrift.TException {
+        iface.getAllStorageResourceNames(resultHandler);
       }
     }
 
-    public static class addSSHForkJobSubmissionDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addSSHForkJobSubmissionDetails_args, java.lang.String> {
-      public addSSHForkJobSubmissionDetails() {
-        super("addSSHForkJobSubmissionDetails");
+    public static class updateStorageResource<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateStorageResource_args, java.lang.Boolean> {
+      public updateStorageResource() {
+        super("updateStorageResource");
       }
 
-      public addSSHForkJobSubmissionDetails_args getEmptyArgsInstance() {
-        return new addSSHForkJobSubmissionDetails_args();
+      public updateStorageResource_args getEmptyArgsInstance() {
+        return new updateStorageResource_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
-          public void onComplete(java.lang.String o) {
-            addSSHForkJobSubmissionDetails_result result = new addSSHForkJobSubmissionDetails_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            updateStorageResource_result result = new updateStorageResource_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -27730,7 +27501,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            addSSHForkJobSubmissionDetails_result result = new addSSHForkJobSubmissionDetails_result();
+            updateStorageResource_result result = new updateStorageResource_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -27762,26 +27533,27 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, addSSHForkJobSubmissionDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
-        iface.addSSHForkJobSubmissionDetails(args.computeResourceId, args.priorityOrder, args.sshJobSubmission,resultHandler);
+      public void start(I iface, updateStorageResource_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.updateStorageResource(args.storageResourceId, args.storageResourceDescription,resultHandler);
       }
     }
 
-    public static class getSSHJobSubmission<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getSSHJobSubmission_args, org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission> {
-      public getSSHJobSubmission() {
-        super("getSSHJobSubmission");
+    public static class deleteStorageResource<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteStorageResource_args, java.lang.Boolean> {
+      public deleteStorageResource() {
+        super("deleteStorageResource");
       }
 
-      public getSSHJobSubmission_args getEmptyArgsInstance() {
-        return new getSSHJobSubmission_args();
+      public deleteStorageResource_args getEmptyArgsInstance() {
+        return new deleteStorageResource_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission>() { 
-          public void onComplete(org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission o) {
-            getSSHJobSubmission_result result = new getSSHJobSubmission_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            deleteStorageResource_result result = new deleteStorageResource_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -27795,7 +27567,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getSSHJobSubmission_result result = new getSSHJobSubmission_result();
+            deleteStorageResource_result result = new deleteStorageResource_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -27827,25 +27599,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getSSHJobSubmission_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission> resultHandler) throws org.apache.thrift.TException {
-        iface.getSSHJobSubmission(args.jobSubmissionId,resultHandler);
+      public void start(I iface, deleteStorageResource_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.deleteStorageResource(args.storageResourceId,resultHandler);
       }
     }
 
-    public static class addUNICOREJobSubmissionDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addUNICOREJobSubmissionDetails_args, java.lang.String> {
-      public addUNICOREJobSubmissionDetails() {
-        super("addUNICOREJobSubmissionDetails");
+    public static class addLocalSubmissionDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addLocalSubmissionDetails_args, java.lang.String> {
+      public addLocalSubmissionDetails() {
+        super("addLocalSubmissionDetails");
       }
 
-      public addUNICOREJobSubmissionDetails_args getEmptyArgsInstance() {
-        return new addUNICOREJobSubmissionDetails_args();
+      public addLocalSubmissionDetails_args getEmptyArgsInstance() {
+        return new addLocalSubmissionDetails_args();
       }
 
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
           public void onComplete(java.lang.String o) {
-            addUNICOREJobSubmissionDetails_result result = new addUNICOREJobSubmissionDetails_result();
+            addLocalSubmissionDetails_result result = new addLocalSubmissionDetails_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -27860,7 +27632,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            addUNICOREJobSubmissionDetails_result result = new addUNICOREJobSubmissionDetails_result();
+            addLocalSubmissionDetails_result result = new addLocalSubmissionDetails_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -27892,26 +27664,27 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, addUNICOREJobSubmissionDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
-        iface.addUNICOREJobSubmissionDetails(args.computeResourceId, args.priorityOrder, args.unicoreJobSubmission,resultHandler);
+      public void start(I iface, addLocalSubmissionDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
+        iface.addLocalSubmissionDetails(args.computeResourceId, args.priorityOrder, args.localSubmission,resultHandler);
       }
     }
 
-    public static class getUnicoreJobSubmission<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getUnicoreJobSubmission_args, org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission> {
-      public getUnicoreJobSubmission() {
-        super("getUnicoreJobSubmission");
+    public static class updateLocalSubmissionDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateLocalSubmissionDetails_args, java.lang.Boolean> {
+      public updateLocalSubmissionDetails() {
+        super("updateLocalSubmissionDetails");
       }
 
-      public getUnicoreJobSubmission_args getEmptyArgsInstance() {
-        return new getUnicoreJobSubmission_args();
+      public updateLocalSubmissionDetails_args getEmptyArgsInstance() {
+        return new updateLocalSubmissionDetails_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission>() { 
-          public void onComplete(org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission o) {
-            getUnicoreJobSubmission_result result = new getUnicoreJobSubmission_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            updateLocalSubmissionDetails_result result = new updateLocalSubmissionDetails_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -27925,7 +27698,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getUnicoreJobSubmission_result result = new getUnicoreJobSubmission_result();
+            updateLocalSubmissionDetails_result result = new updateLocalSubmissionDetails_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -27957,25 +27730,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getUnicoreJobSubmission_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission> resultHandler) throws org.apache.thrift.TException {
-        iface.getUnicoreJobSubmission(args.jobSubmissionId,resultHandler);
+      public void start(I iface, updateLocalSubmissionDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.updateLocalSubmissionDetails(args.jobSubmissionInterfaceId, args.localSubmission,resultHandler);
       }
     }
 
-    public static class addCloudJobSubmissionDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addCloudJobSubmissionDetails_args, java.lang.String> {
-      public addCloudJobSubmissionDetails() {
-        super("addCloudJobSubmissionDetails");
+    public static class getLocalJobSubmission<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getLocalJobSubmission_args, org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission> {
+      public getLocalJobSubmission() {
+        super("getLocalJobSubmission");
       }
 
-      public addCloudJobSubmissionDetails_args getEmptyArgsInstance() {
-        return new addCloudJobSubmissionDetails_args();
+      public getLocalJobSubmission_args getEmptyArgsInstance() {
+        return new getLocalJobSubmission_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
-          public void onComplete(java.lang.String o) {
-            addCloudJobSubmissionDetails_result result = new addCloudJobSubmissionDetails_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission>() { 
+          public void onComplete(org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission o) {
+            getLocalJobSubmission_result result = new getLocalJobSubmission_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -27990,7 +27763,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            addCloudJobSubmissionDetails_result result = new addCloudJobSubmissionDetails_result();
+            getLocalJobSubmission_result result = new getLocalJobSubmission_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -28022,25 +27795,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, addCloudJobSubmissionDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
-        iface.addCloudJobSubmissionDetails(args.computeResourceId, args.priorityOrder, args.cloudSubmission,resultHandler);
+      public void start(I iface, getLocalJobSubmission_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission> resultHandler) throws org.apache.thrift.TException {
+        iface.getLocalJobSubmission(args.jobSubmissionId,resultHandler);
       }
     }
 
-    public static class getCloudJobSubmission<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getCloudJobSubmission_args, org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission> {
-      public getCloudJobSubmission() {
-        super("getCloudJobSubmission");
+    public static class addSSHJobSubmissionDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addSSHJobSubmissionDetails_args, java.lang.String> {
+      public addSSHJobSubmissionDetails() {
+        super("addSSHJobSubmissionDetails");
       }
 
-      public getCloudJobSubmission_args getEmptyArgsInstance() {
-        return new getCloudJobSubmission_args();
+      public addSSHJobSubmissionDetails_args getEmptyArgsInstance() {
+        return new addSSHJobSubmissionDetails_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission>() { 
-          public void onComplete(org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission o) {
-            getCloudJobSubmission_result result = new getCloudJobSubmission_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          public void onComplete(java.lang.String o) {
+            addSSHJobSubmissionDetails_result result = new addSSHJobSubmissionDetails_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -28055,7 +27828,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getCloudJobSubmission_result result = new getCloudJobSubmission_result();
+            addSSHJobSubmissionDetails_result result = new addSSHJobSubmissionDetails_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -28087,27 +27860,26 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getCloudJobSubmission_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission> resultHandler) throws org.apache.thrift.TException {
-        iface.getCloudJobSubmission(args.jobSubmissionId,resultHandler);
+      public void start(I iface, addSSHJobSubmissionDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
+        iface.addSSHJobSubmissionDetails(args.computeResourceId, args.priorityOrder, args.sshJobSubmission,resultHandler);
       }
     }
 
-    public static class updateSSHJobSubmissionDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateSSHJobSubmissionDetails_args, java.lang.Boolean> {
-      public updateSSHJobSubmissionDetails() {
-        super("updateSSHJobSubmissionDetails");
+    public static class addSSHForkJobSubmissionDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addSSHForkJobSubmissionDetails_args, java.lang.String> {
+      public addSSHForkJobSubmissionDetails() {
+        super("addSSHForkJobSubmissionDetails");
       }
 
-      public updateSSHJobSubmissionDetails_args getEmptyArgsInstance() {
-        return new updateSSHJobSubmissionDetails_args();
+      public addSSHForkJobSubmissionDetails_args getEmptyArgsInstance() {
+        return new addSSHForkJobSubmissionDetails_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            updateSSHJobSubmissionDetails_result result = new updateSSHJobSubmissionDetails_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          public void onComplete(java.lang.String o) {
+            addSSHForkJobSubmissionDetails_result result = new addSSHForkJobSubmissionDetails_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -28121,7 +27893,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            updateSSHJobSubmissionDetails_result result = new updateSSHJobSubmissionDetails_result();
+            addSSHForkJobSubmissionDetails_result result = new addSSHForkJobSubmissionDetails_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -28153,27 +27925,26 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, updateSSHJobSubmissionDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.updateSSHJobSubmissionDetails(args.jobSubmissionInterfaceId, args.sshJobSubmission,resultHandler);
+      public void start(I iface, addSSHForkJobSubmissionDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
+        iface.addSSHForkJobSubmissionDetails(args.computeResourceId, args.priorityOrder, args.sshJobSubmission,resultHandler);
       }
     }
 
-    public static class updateCloudJobSubmissionDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateCloudJobSubmissionDetails_args, java.lang.Boolean> {
-      public updateCloudJobSubmissionDetails() {
-        super("updateCloudJobSubmissionDetails");
+    public static class getSSHJobSubmission<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getSSHJobSubmission_args, org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission> {
+      public getSSHJobSubmission() {
+        super("getSSHJobSubmission");
       }
 
-      public updateCloudJobSubmissionDetails_args getEmptyArgsInstance() {
-        return new updateCloudJobSubmissionDetails_args();
+      public getSSHJobSubmission_args getEmptyArgsInstance() {
+        return new getSSHJobSubmission_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            updateCloudJobSubmissionDetails_result result = new updateCloudJobSubmissionDetails_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission>() { 
+          public void onComplete(org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission o) {
+            getSSHJobSubmission_result result = new getSSHJobSubmission_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -28187,7 +27958,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            updateCloudJobSubmissionDetails_result result = new updateCloudJobSubmissionDetails_result();
+            getSSHJobSubmission_result result = new getSSHJobSubmission_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -28219,27 +27990,26 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, updateCloudJobSubmissionDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.updateCloudJobSubmissionDetails(args.jobSubmissionInterfaceId, args.sshJobSubmission,resultHandler);
+      public void start(I iface, getSSHJobSubmission_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission> resultHandler) throws org.apache.thrift.TException {
+        iface.getSSHJobSubmission(args.jobSubmissionId,resultHandler);
       }
     }
 
-    public static class updateUnicoreJobSubmissionDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateUnicoreJobSubmissionDetails_args, java.lang.Boolean> {
-      public updateUnicoreJobSubmissionDetails() {
-        super("updateUnicoreJobSubmissionDetails");
+    public static class addUNICOREJobSubmissionDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addUNICOREJobSubmissionDetails_args, java.lang.String> {
+      public addUNICOREJobSubmissionDetails() {
+        super("addUNICOREJobSubmissionDetails");
       }
 
-      public updateUnicoreJobSubmissionDetails_args getEmptyArgsInstance() {
-        return new updateUnicoreJobSubmissionDetails_args();
+      public addUNICOREJobSubmissionDetails_args getEmptyArgsInstance() {
+        return new addUNICOREJobSubmissionDetails_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            updateUnicoreJobSubmissionDetails_result result = new updateUnicoreJobSubmissionDetails_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          public void onComplete(java.lang.String o) {
+            addUNICOREJobSubmissionDetails_result result = new addUNICOREJobSubmissionDetails_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -28253,7 +28023,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            updateUnicoreJobSubmissionDetails_result result = new updateUnicoreJobSubmissionDetails_result();
+            addUNICOREJobSubmissionDetails_result result = new addUNICOREJobSubmissionDetails_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -28285,25 +28055,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, updateUnicoreJobSubmissionDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.updateUnicoreJobSubmissionDetails(args.jobSubmissionInterfaceId, args.unicoreJobSubmission,resultHandler);
+      public void start(I iface, addUNICOREJobSubmissionDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
+        iface.addUNICOREJobSubmissionDetails(args.computeResourceId, args.priorityOrder, args.unicoreJobSubmission,resultHandler);
       }
     }
 
-    public static class addLocalDataMovementDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addLocalDataMovementDetails_args, java.lang.String> {
-      public addLocalDataMovementDetails() {
-        super("addLocalDataMovementDetails");
+    public static class getUnicoreJobSubmission<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getUnicoreJobSubmission_args, org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission> {
+      public getUnicoreJobSubmission() {
+        super("getUnicoreJobSubmission");
       }
 
-      public addLocalDataMovementDetails_args getEmptyArgsInstance() {
-        return new addLocalDataMovementDetails_args();
+      public getUnicoreJobSubmission_args getEmptyArgsInstance() {
+        return new getUnicoreJobSubmission_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
-          public void onComplete(java.lang.String o) {
-            addLocalDataMovementDetails_result result = new addLocalDataMovementDetails_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission>() { 
+          public void onComplete(org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission o) {
+            getUnicoreJobSubmission_result result = new getUnicoreJobSubmission_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -28318,7 +28088,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            addLocalDataMovementDetails_result result = new addLocalDataMovementDetails_result();
+            getUnicoreJobSubmission_result result = new getUnicoreJobSubmission_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -28350,27 +28120,26 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, addLocalDataMovementDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
-        iface.addLocalDataMovementDetails(args.productUri, args.dataMoveType, args.priorityOrder, args.localDataMovement,resultHandler);
+      public void start(I iface, getUnicoreJobSubmission_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission> resultHandler) throws org.apache.thrift.TException {
+        iface.getUnicoreJobSubmission(args.jobSubmissionId,resultHandler);
       }
     }
 
-    public static class updateLocalDataMovementDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateLocalDataMovementDetails_args, java.lang.Boolean> {
-      public updateLocalDataMovementDetails() {
-        super("updateLocalDataMovementDetails");
+    public static class addCloudJobSubmissionDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addCloudJobSubmissionDetails_args, java.lang.String> {
+      public addCloudJobSubmissionDetails() {
+        super("addCloudJobSubmissionDetails");
       }
 
-      public updateLocalDataMovementDetails_args getEmptyArgsInstance() {
-        return new updateLocalDataMovementDetails_args();
+      public addCloudJobSubmissionDetails_args getEmptyArgsInstance() {
+        return new addCloudJobSubmissionDetails_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            updateLocalDataMovementDetails_result result = new updateLocalDataMovementDetails_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          public void onComplete(java.lang.String o) {
+            addCloudJobSubmissionDetails_result result = new addCloudJobSubmissionDetails_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -28384,7 +28153,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            updateLocalDataMovementDetails_result result = new updateLocalDataMovementDetails_result();
+            addCloudJobSubmissionDetails_result result = new addCloudJobSubmissionDetails_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -28416,25 +28185,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, updateLocalDataMovementDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.updateLocalDataMovementDetails(args.dataMovementInterfaceId, args.localDataMovement,resultHandler);
+      public void start(I iface, addCloudJobSubmissionDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
+        iface.addCloudJobSubmissionDetails(args.computeResourceId, args.priorityOrder, args.cloudSubmission,resultHandler);
       }
     }
 
-    public static class getLocalDataMovement<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getLocalDataMovement_args, org.apache.airavata.model.data.movement.LOCALDataMovement> {
-      public getLocalDataMovement() {
-        super("getLocalDataMovement");
+    public static class getCloudJobSubmission<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getCloudJobSubmission_args, org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission> {
+      public getCloudJobSubmission() {
+        super("getCloudJobSubmission");
       }
 
-      public getLocalDataMovement_args getEmptyArgsInstance() {
-        return new getLocalDataMovement_args();
+      public getCloudJobSubmission_args getEmptyArgsInstance() {
+        return new getCloudJobSubmission_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.LOCALDataMovement> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.LOCALDataMovement>() { 
-          public void onComplete(org.apache.airavata.model.data.movement.LOCALDataMovement o) {
-            getLocalDataMovement_result result = new getLocalDataMovement_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission>() { 
+          public void onComplete(org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission o) {
+            getCloudJobSubmission_result result = new getCloudJobSubmission_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -28449,7 +28218,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getLocalDataMovement_result result = new getLocalDataMovement_result();
+            getCloudJobSubmission_result result = new getCloudJobSubmission_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -28481,26 +28250,27 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getLocalDataMovement_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.LOCALDataMovement> resultHandler) throws org.apache.thrift.TException {
-        iface.getLocalDataMovement(args.dataMovementId,resultHandler);
+      public void start(I iface, getCloudJobSubmission_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission> resultHandler) throws org.apache.thrift.TException {
+        iface.getCloudJobSubmission(args.jobSubmissionId,resultHandler);
       }
     }
 
-    public static class addSCPDataMovementDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addSCPDataMovementDetails_args, java.lang.String> {
-      public addSCPDataMovementDetails() {
-        super("addSCPDataMovementDetails");
+    public static class updateSSHJobSubmissionDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateSSHJobSubmissionDetails_args, java.lang.Boolean> {
+      public updateSSHJobSubmissionDetails() {
+        super("updateSSHJobSubmissionDetails");
       }
 
-      public addSCPDataMovementDetails_args getEmptyArgsInstance() {
-        return new addSCPDataMovementDetails_args();
+      public updateSSHJobSubmissionDetails_args getEmptyArgsInstance() {
+        return new updateSSHJobSubmissionDetails_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
-          public void onComplete(java.lang.String o) {
-            addSCPDataMovementDetails_result result = new addSCPDataMovementDetails_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            updateSSHJobSubmissionDetails_result result = new updateSSHJobSubmissionDetails_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -28514,7 +28284,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            addSCPDataMovementDetails_result result = new addSCPDataMovementDetails_result();
+            updateSSHJobSubmissionDetails_result result = new updateSSHJobSubmissionDetails_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -28546,25 +28316,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, addSCPDataMovementDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
-        iface.addSCPDataMovementDetails(args.productUri, args.dataMoveType, args.priorityOrder, args.scpDataMovement,resultHandler);
+      public void start(I iface, updateSSHJobSubmissionDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.updateSSHJobSubmissionDetails(args.jobSubmissionInterfaceId, args.sshJobSubmission,resultHandler);
       }
     }
 
-    public static class updateSCPDataMovementDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateSCPDataMovementDetails_args, java.lang.Boolean> {
-      public updateSCPDataMovementDetails() {
-        super("updateSCPDataMovementDetails");
+    public static class updateCloudJobSubmissionDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateCloudJobSubmissionDetails_args, java.lang.Boolean> {
+      public updateCloudJobSubmissionDetails() {
+        super("updateCloudJobSubmissionDetails");
       }
 
-      public updateSCPDataMovementDetails_args getEmptyArgsInstance() {
-        return new updateSCPDataMovementDetails_args();
+      public updateCloudJobSubmissionDetails_args getEmptyArgsInstance() {
+        return new updateCloudJobSubmissionDetails_args();
       }
 
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
           public void onComplete(java.lang.Boolean o) {
-            updateSCPDataMovementDetails_result result = new updateSCPDataMovementDetails_result();
+            updateCloudJobSubmissionDetails_result result = new updateCloudJobSubmissionDetails_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -28580,7 +28350,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            updateSCPDataMovementDetails_result result = new updateSCPDataMovementDetails_result();
+            updateCloudJobSubmissionDetails_result result = new updateCloudJobSubmissionDetails_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -28612,26 +28382,27 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, updateSCPDataMovementDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.updateSCPDataMovementDetails(args.dataMovementInterfaceId, args.scpDataMovement,resultHandler);
+      public void start(I iface, updateCloudJobSubmissionDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.updateCloudJobSubmissionDetails(args.jobSubmissionInterfaceId, args.sshJobSubmission,resultHandler);
       }
     }
 
-    public static class getSCPDataMovement<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getSCPDataMovement_args, org.apache.airavata.model.data.movement.SCPDataMovement> {
-      public getSCPDataMovement() {
-        super("getSCPDataMovement");
+    public static class updateUnicoreJobSubmissionDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateUnicoreJobSubmissionDetails_args, java.lang.Boolean> {
+      public updateUnicoreJobSubmissionDetails() {
+        super("updateUnicoreJobSubmissionDetails");
       }
 
-      public getSCPDataMovement_args getEmptyArgsInstance() {
-        return new getSCPDataMovement_args();
+      public updateUnicoreJobSubmissionDetails_args getEmptyArgsInstance() {
+        return new updateUnicoreJobSubmissionDetails_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.SCPDataMovement> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.SCPDataMovement>() { 
-          public void onComplete(org.apache.airavata.model.data.movement.SCPDataMovement o) {
-            getSCPDataMovement_result result = new getSCPDataMovement_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            updateUnicoreJobSubmissionDetails_result result = new updateUnicoreJobSubmissionDetails_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -28645,7 +28416,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getSCPDataMovement_result result = new getSCPDataMovement_result();
+            updateUnicoreJobSubmissionDetails_result result = new updateUnicoreJobSubmissionDetails_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -28677,25 +28448,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getSCPDataMovement_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.SCPDataMovement> resultHandler) throws org.apache.thrift.TException {
-        iface.getSCPDataMovement(args.dataMovementId,resultHandler);
+      public void start(I iface, updateUnicoreJobSubmissionDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.updateUnicoreJobSubmissionDetails(args.jobSubmissionInterfaceId, args.unicoreJobSubmission,resultHandler);
       }
     }
 
-    public static class addUnicoreDataMovementDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addUnicoreDataMovementDetails_args, java.lang.String> {
-      public addUnicoreDataMovementDetails() {
-        super("addUnicoreDataMovementDetails");
+    public static class addLocalDataMovementDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addLocalDataMovementDetails_args, java.lang.String> {
+      public addLocalDataMovementDetails() {
+        super("addLocalDataMovementDetails");
       }
 
-      public addUnicoreDataMovementDetails_args getEmptyArgsInstance() {
-        return new addUnicoreDataMovementDetails_args();
+      public addLocalDataMovementDetails_args getEmptyArgsInstance() {
+        return new addLocalDataMovementDetails_args();
       }
 
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
           public void onComplete(java.lang.String o) {
-            addUnicoreDataMovementDetails_result result = new addUnicoreDataMovementDetails_result();
+            addLocalDataMovementDetails_result result = new addLocalDataMovementDetails_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -28710,7 +28481,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            addUnicoreDataMovementDetails_result result = new addUnicoreDataMovementDetails_result();
+            addLocalDataMovementDetails_result result = new addLocalDataMovementDetails_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -28742,25 +28513,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, addUnicoreDataMovementDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
-        iface.addUnicoreDataMovementDetails(args.productUri, args.dataMoveType, args.priorityOrder, args.unicoreDataMovement,resultHandler);
+      public void start(I iface, addLocalDataMovementDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
+        iface.addLocalDataMovementDetails(args.productUri, args.dataMoveType, args.priorityOrder, args.localDataMovement,resultHandler);
       }
     }
 
-    public static class updateUnicoreDataMovementDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateUnicoreDataMovementDetails_args, java.lang.Boolean> {
-      public updateUnicoreDataMovementDetails() {
-        super("updateUnicoreDataMovementDetails");
+    public static class updateLocalDataMovementDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateLocalDataMovementDetails_args, java.lang.Boolean> {
+      public updateLocalDataMovementDetails() {
+        super("updateLocalDataMovementDetails");
       }
 
-      public updateUnicoreDataMovementDetails_args getEmptyArgsInstance() {
-        return new updateUnicoreDataMovementDetails_args();
+      public updateLocalDataMovementDetails_args getEmptyArgsInstance() {
+        return new updateLocalDataMovementDetails_args();
       }
 
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
           public void onComplete(java.lang.Boolean o) {
-            updateUnicoreDataMovementDetails_result result = new updateUnicoreDataMovementDetails_result();
+            updateLocalDataMovementDetails_result result = new updateLocalDataMovementDetails_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -28776,7 +28547,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            updateUnicoreDataMovementDetails_result result = new updateUnicoreDataMovementDetails_result();
+            updateLocalDataMovementDetails_result result = new updateLocalDataMovementDetails_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -28808,25 +28579,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, updateUnicoreDataMovementDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.updateUnicoreDataMovementDetails(args.dataMovementInterfaceId, args.unicoreDataMovement,resultHandler);
+      public void start(I iface, updateLocalDataMovementDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.updateLocalDataMovementDetails(args.dataMovementInterfaceId, args.localDataMovement,resultHandler);
       }
     }
 
-    public static class getUnicoreDataMovement<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getUnicoreDataMovement_args, org.apache.airavata.model.data.movement.UnicoreDataMovement> {
-      public getUnicoreDataMovement() {
-        super("getUnicoreDataMovement");
+    public static class getLocalDataMovement<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getLocalDataMovement_args, org.apache.airavata.model.data.movement.LOCALDataMovement> {
+      public getLocalDataMovement() {
+        super("getLocalDataMovement");
       }
 
-      public getUnicoreDataMovement_args getEmptyArgsInstance() {
-        return new getUnicoreDataMovement_args();
+      public getLocalDataMovement_args getEmptyArgsInstance() {
+        return new getLocalDataMovement_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.UnicoreDataMovement> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.LOCALDataMovement> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.UnicoreDataMovement>() { 
-          public void onComplete(org.apache.airavata.model.data.movement.UnicoreDataMovement o) {
-            getUnicoreDataMovement_result result = new getUnicoreDataMovement_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.LOCALDataMovement>() { 
+          public void onComplete(org.apache.airavata.model.data.movement.LOCALDataMovement o) {
+            getLocalDataMovement_result result = new getLocalDataMovement_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -28841,7 +28612,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getUnicoreDataMovement_result result = new getUnicoreDataMovement_result();
+            getLocalDataMovement_result result = new getLocalDataMovement_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -28873,25 +28644,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getUnicoreDataMovement_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.UnicoreDataMovement> resultHandler) throws org.apache.thrift.TException {
-        iface.getUnicoreDataMovement(args.dataMovementId,resultHandler);
+      public void start(I iface, getLocalDataMovement_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.LOCALDataMovement> resultHandler) throws org.apache.thrift.TException {
+        iface.getLocalDataMovement(args.dataMovementId,resultHandler);
       }
     }
 
-    public static class addGridFTPDataMovementDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addGridFTPDataMovementDetails_args, java.lang.String> {
-      public addGridFTPDataMovementDetails() {
-        super("addGridFTPDataMovementDetails");
+    public static class addSCPDataMovementDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addSCPDataMovementDetails_args, java.lang.String> {
+      public addSCPDataMovementDetails() {
+        super("addSCPDataMovementDetails");
       }
 
-      public addGridFTPDataMovementDetails_args getEmptyArgsInstance() {
-        return new addGridFTPDataMovementDetails_args();
+      public addSCPDataMovementDetails_args getEmptyArgsInstance() {
+        return new addSCPDataMovementDetails_args();
       }
 
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
           public void onComplete(java.lang.String o) {
-            addGridFTPDataMovementDetails_result result = new addGridFTPDataMovementDetails_result();
+            addSCPDataMovementDetails_result result = new addSCPDataMovementDetails_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -28906,7 +28677,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            addGridFTPDataMovementDetails_result result = new addGridFTPDataMovementDetails_result();
+            addSCPDataMovementDetails_result result = new addSCPDataMovementDetails_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -28938,25 +28709,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, addGridFTPDataMovementDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
-        iface.addGridFTPDataMovementDetails(args.productUri, args.dataMoveType, args.priorityOrder, args.gridFTPDataMovement,resultHandler);
+      public void start(I iface, addSCPDataMovementDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
+        iface.addSCPDataMovementDetails(args.productUri, args.dataMoveType, args.priorityOrder, args.scpDataMovement,resultHandler);
       }
     }
 
-    public static class updateGridFTPDataMovementDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateGridFTPDataMovementDetails_args, java.lang.Boolean> {
-      public updateGridFTPDataMovementDetails() {
-        super("updateGridFTPDataMovementDetails");
+    public static class updateSCPDataMovementDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateSCPDataMovementDetails_args, java.lang.Boolean> {
+      public updateSCPDataMovementDetails() {
+        super("updateSCPDataMovementDetails");
       }
 
-      public updateGridFTPDataMovementDetails_args getEmptyArgsInstance() {
-        return new updateGridFTPDataMovementDetails_args();
+      public updateSCPDataMovementDetails_args getEmptyArgsInstance() {
+        return new updateSCPDataMovementDetails_args();
       }
 
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
           public void onComplete(java.lang.Boolean o) {
-            updateGridFTPDataMovementDetails_result result = new updateGridFTPDataMovementDetails_result();
+            updateSCPDataMovementDetails_result result = new updateSCPDataMovementDetails_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -28972,7 +28743,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            updateGridFTPDataMovementDetails_result result = new updateGridFTPDataMovementDetails_result();
+            updateSCPDataMovementDetails_result result = new updateSCPDataMovementDetails_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -29004,25 +28775,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, updateGridFTPDataMovementDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.updateGridFTPDataMovementDetails(args.dataMovementInterfaceId, args.gridFTPDataMovement,resultHandler);
+      public void start(I iface, updateSCPDataMovementDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.updateSCPDataMovementDetails(args.dataMovementInterfaceId, args.scpDataMovement,resultHandler);
       }
     }
 
-    public static class getGridFTPDataMovement<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getGridFTPDataMovement_args, org.apache.airavata.model.data.movement.GridFTPDataMovement> {
-      public getGridFTPDataMovement() {
-        super("getGridFTPDataMovement");
+    public static class getSCPDataMovement<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getSCPDataMovement_args, org.apache.airavata.model.data.movement.SCPDataMovement> {
+      public getSCPDataMovement() {
+        super("getSCPDataMovement");
       }
 
-      public getGridFTPDataMovement_args getEmptyArgsInstance() {
-        return new getGridFTPDataMovement_args();
+      public getSCPDataMovement_args getEmptyArgsInstance() {
+        return new getSCPDataMovement_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.GridFTPDataMovement> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.SCPDataMovement> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.GridFTPDataMovement>() { 
-          public void onComplete(org.apache.airavata.model.data.movement.GridFTPDataMovement o) {
-            getGridFTPDataMovement_result result = new getGridFTPDataMovement_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.SCPDataMovement>() { 
+          public void onComplete(org.apache.airavata.model.data.movement.SCPDataMovement o) {
+            getSCPDataMovement_result result = new getSCPDataMovement_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -29037,7 +28808,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getGridFTPDataMovement_result result = new getGridFTPDataMovement_result();
+            getSCPDataMovement_result result = new getSCPDataMovement_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -29069,27 +28840,26 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getGridFTPDataMovement_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.GridFTPDataMovement> resultHandler) throws org.apache.thrift.TException {
-        iface.getGridFTPDataMovement(args.dataMovementId,resultHandler);
+      public void start(I iface, getSCPDataMovement_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.SCPDataMovement> resultHandler) throws org.apache.thrift.TException {
+        iface.getSCPDataMovement(args.dataMovementId,resultHandler);
       }
     }
 
-    public static class changeJobSubmissionPriority<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, changeJobSubmissionPriority_args, java.lang.Boolean> {
-      public changeJobSubmissionPriority() {
-        super("changeJobSubmissionPriority");
+    public static class addUnicoreDataMovementDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addUnicoreDataMovementDetails_args, java.lang.String> {
+      public addUnicoreDataMovementDetails() {
+        super("addUnicoreDataMovementDetails");
       }
 
-      public changeJobSubmissionPriority_args getEmptyArgsInstance() {
-        return new changeJobSubmissionPriority_args();
+      public addUnicoreDataMovementDetails_args getEmptyArgsInstance() {
+        return new addUnicoreDataMovementDetails_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            changeJobSubmissionPriority_result result = new changeJobSubmissionPriority_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          public void onComplete(java.lang.String o) {
+            addUnicoreDataMovementDetails_result result = new addUnicoreDataMovementDetails_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -29103,7 +28873,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            changeJobSubmissionPriority_result result = new changeJobSubmissionPriority_result();
+            addUnicoreDataMovementDetails_result result = new addUnicoreDataMovementDetails_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -29135,25 +28905,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, changeJobSubmissionPriority_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.changeJobSubmissionPriority(args.jobSubmissionInterfaceId, args.newPriorityOrder,resultHandler);
+      public void start(I iface, addUnicoreDataMovementDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
+        iface.addUnicoreDataMovementDetails(args.productUri, args.dataMoveType, args.priorityOrder, args.unicoreDataMovement,resultHandler);
       }
     }
 
-    public static class changeDataMovementPriority<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, changeDataMovementPriority_args, java.lang.Boolean> {
-      public changeDataMovementPriority() {
-        super("changeDataMovementPriority");
+    public static class updateUnicoreDataMovementDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateUnicoreDataMovementDetails_args, java.lang.Boolean> {
+      public updateUnicoreDataMovementDetails() {
+        super("updateUnicoreDataMovementDetails");
       }
 
-      public changeDataMovementPriority_args getEmptyArgsInstance() {
-        return new changeDataMovementPriority_args();
+      public updateUnicoreDataMovementDetails_args getEmptyArgsInstance() {
+        return new updateUnicoreDataMovementDetails_args();
       }
 
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
           public void onComplete(java.lang.Boolean o) {
-            changeDataMovementPriority_result result = new changeDataMovementPriority_result();
+            updateUnicoreDataMovementDetails_result result = new updateUnicoreDataMovementDetails_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -29169,7 +28939,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            changeDataMovementPriority_result result = new changeDataMovementPriority_result();
+            updateUnicoreDataMovementDetails_result result = new updateUnicoreDataMovementDetails_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -29201,27 +28971,26 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, changeDataMovementPriority_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.changeDataMovementPriority(args.dataMovementInterfaceId, args.newPriorityOrder,resultHandler);
+      public void start(I iface, updateUnicoreDataMovementDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.updateUnicoreDataMovementDetails(args.dataMovementInterfaceId, args.unicoreDataMovement,resultHandler);
       }
     }
 
-    public static class changeJobSubmissionPriorities<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, changeJobSubmissionPriorities_args, java.lang.Boolean> {
-      public changeJobSubmissionPriorities() {
-        super("changeJobSubmissionPriorities");
+    public static class getUnicoreDataMovement<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getUnicoreDataMovement_args, org.apache.airavata.model.data.movement.UnicoreDataMovement> {
+      public getUnicoreDataMovement() {
+        super("getUnicoreDataMovement");
       }
 
-      public changeJobSubmissionPriorities_args getEmptyArgsInstance() {
-        return new changeJobSubmissionPriorities_args();
+      public getUnicoreDataMovement_args getEmptyArgsInstance() {
+        return new getUnicoreDataMovement_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.UnicoreDataMovement> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            changeJobSubmissionPriorities_result result = new changeJobSubmissionPriorities_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.UnicoreDataMovement>() { 
+          public void onComplete(org.apache.airavata.model.data.movement.UnicoreDataMovement o) {
+            getUnicoreDataMovement_result result = new getUnicoreDataMovement_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -29235,7 +29004,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            changeJobSubmissionPriorities_result result = new changeJobSubmissionPriorities_result();
+            getUnicoreDataMovement_result result = new getUnicoreDataMovement_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -29267,27 +29036,26 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, changeJobSubmissionPriorities_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.changeJobSubmissionPriorities(args.jobSubmissionPriorityMap,resultHandler);
+      public void start(I iface, getUnicoreDataMovement_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.UnicoreDataMovement> resultHandler) throws org.apache.thrift.TException {
+        iface.getUnicoreDataMovement(args.dataMovementId,resultHandler);
       }
     }
 
-    public static class changeDataMovementPriorities<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, changeDataMovementPriorities_args, java.lang.Boolean> {
-      public changeDataMovementPriorities() {
-        super("changeDataMovementPriorities");
+    public static class addGridFTPDataMovementDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addGridFTPDataMovementDetails_args, java.lang.String> {
+      public addGridFTPDataMovementDetails() {
+        super("addGridFTPDataMovementDetails");
       }
 
-      public changeDataMovementPriorities_args getEmptyArgsInstance() {
-        return new changeDataMovementPriorities_args();
+      public addGridFTPDataMovementDetails_args getEmptyArgsInstance() {
+        return new addGridFTPDataMovementDetails_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            changeDataMovementPriorities_result result = new changeDataMovementPriorities_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          public void onComplete(java.lang.String o) {
+            addGridFTPDataMovementDetails_result result = new addGridFTPDataMovementDetails_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -29301,7 +29069,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            changeDataMovementPriorities_result result = new changeDataMovementPriorities_result();
+            addGridFTPDataMovementDetails_result result = new addGridFTPDataMovementDetails_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -29333,25 +29101,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, changeDataMovementPriorities_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.changeDataMovementPriorities(args.dataMovementPriorityMap,resultHandler);
+      public void start(I iface, addGridFTPDataMovementDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
+        iface.addGridFTPDataMovementDetails(args.productUri, args.dataMoveType, args.priorityOrder, args.gridFTPDataMovement,resultHandler);
       }
     }
 
-    public static class deleteJobSubmissionInterface<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteJobSubmissionInterface_args, java.lang.Boolean> {
-      public deleteJobSubmissionInterface() {
-        super("deleteJobSubmissionInterface");
+    public static class updateGridFTPDataMovementDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateGridFTPDataMovementDetails_args, java.lang.Boolean> {
+      public updateGridFTPDataMovementDetails() {
+        super("updateGridFTPDataMovementDetails");
       }
 
-      public deleteJobSubmissionInterface_args getEmptyArgsInstance() {
-        return new deleteJobSubmissionInterface_args();
+      public updateGridFTPDataMovementDetails_args getEmptyArgsInstance() {
+        return new updateGridFTPDataMovementDetails_args();
       }
 
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
           public void onComplete(java.lang.Boolean o) {
-            deleteJobSubmissionInterface_result result = new deleteJobSubmissionInterface_result();
+            updateGridFTPDataMovementDetails_result result = new updateGridFTPDataMovementDetails_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -29367,7 +29135,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            deleteJobSubmissionInterface_result result = new deleteJobSubmissionInterface_result();
+            updateGridFTPDataMovementDetails_result result = new updateGridFTPDataMovementDetails_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -29399,27 +29167,26 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, deleteJobSubmissionInterface_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.deleteJobSubmissionInterface(args.computeResourceId, args.jobSubmissionInterfaceId,resultHandler);
+      public void start(I iface, updateGridFTPDataMovementDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.updateGridFTPDataMovementDetails(args.dataMovementInterfaceId, args.gridFTPDataMovement,resultHandler);
       }
     }
 
-    public static class deleteDataMovementInterface<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteDataMovementInterface_args, java.lang.Boolean> {
-      public deleteDataMovementInterface() {
-        super("deleteDataMovementInterface");
+    public static class getGridFTPDataMovement<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getGridFTPDataMovement_args, org.apache.airavata.model.data.movement.GridFTPDataMovement> {
+      public getGridFTPDataMovement() {
+        super("getGridFTPDataMovement");
       }
 
-      public deleteDataMovementInterface_args getEmptyArgsInstance() {
-        return new deleteDataMovementInterface_args();
+      public getGridFTPDataMovement_args getEmptyArgsInstance() {
+        return new getGridFTPDataMovement_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.GridFTPDataMovement> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            deleteDataMovementInterface_result result = new deleteDataMovementInterface_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.GridFTPDataMovement>() { 
+          public void onComplete(org.apache.airavata.model.data.movement.GridFTPDataMovement o) {
+            getGridFTPDataMovement_result result = new getGridFTPDataMovement_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -29433,7 +29200,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            deleteDataMovementInterface_result result = new deleteDataMovementInterface_result();
+            getGridFTPDataMovement_result result = new getGridFTPDataMovement_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -29465,26 +29232,27 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, deleteDataMovementInterface_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.deleteDataMovementInterface(args.productUri, args.dataMovementInterfaceId, args.dataMoveType,resultHandler);
+      public void start(I iface, getGridFTPDataMovement_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.GridFTPDataMovement> resultHandler) throws org.apache.thrift.TException {
+        iface.getGridFTPDataMovement(args.dataMovementId,resultHandler);
       }
     }
 
-    public static class registerResourceJobManager<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerResourceJobManager_args, java.lang.String> {
-      public registerResourceJobManager() {
-        super("registerResourceJobManager");
+    public static class changeJobSubmissionPriority<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, changeJobSubmissionPriority_args, java.lang.Boolean> {
+      public changeJobSubmissionPriority() {
+        super("changeJobSubmissionPriority");
       }
 
-      public registerResourceJobManager_args getEmptyArgsInstance() {
-        return new registerResourceJobManager_args();
+      public changeJobSubmissionPriority_args getEmptyArgsInstance() {
+        return new changeJobSubmissionPriority_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
-          public void onComplete(java.lang.String o) {
-            registerResourceJobManager_result result = new registerResourceJobManager_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            changeJobSubmissionPriority_result result = new changeJobSubmissionPriority_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -29498,7 +29266,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            registerResourceJobManager_result result = new registerResourceJobManager_result();
+            changeJobSubmissionPriority_result result = new changeJobSubmissionPriority_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -29530,25 +29298,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, registerResourceJobManager_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
-        iface.registerResourceJobManager(args.resourceJobManager,resultHandler);
+      public void start(I iface, changeJobSubmissionPriority_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.changeJobSubmissionPriority(args.jobSubmissionInterfaceId, args.newPriorityOrder,resultHandler);
       }
     }
 
-    public static class updateResourceJobManager<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateResourceJobManager_args, java.lang.Boolean> {
-      public updateResourceJobManager() {
-        super("updateResourceJobManager");
+    public static class changeDataMovementPriority<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, changeDataMovementPriority_args, java.lang.Boolean> {
+      public changeDataMovementPriority() {
+        super("changeDataMovementPriority");
       }
 
-      public updateResourceJobManager_args getEmptyArgsInstance() {
-        return new updateResourceJobManager_args();
+      public changeDataMovementPriority_args getEmptyArgsInstance() {
+        return new changeDataMovementPriority_args();
       }
 
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
           public void onComplete(java.lang.Boolean o) {
-            updateResourceJobManager_result result = new updateResourceJobManager_result();
+            changeDataMovementPriority_result result = new changeDataMovementPriority_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -29564,7 +29332,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            updateResourceJobManager_result result = new updateResourceJobManager_result();
+            changeDataMovementPriority_result result = new changeDataMovementPriority_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -29596,26 +29364,27 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, updateResourceJobManager_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.updateResourceJobManager(args.resourceJobManagerId, args.updatedResourceJobManager,resultHandler);
+      public void start(I iface, changeDataMovementPriority_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.changeDataMovementPriority(args.dataMovementInterfaceId, args.newPriorityOrder,resultHandler);
       }
     }
 
-    public static class getResourceJobManager<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getResourceJobManager_args, org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager> {
-      public getResourceJobManager() {
-        super("getResourceJobManager");
+    public static class changeJobSubmissionPriorities<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, changeJobSubmissionPriorities_args, java.lang.Boolean> {
+      public changeJobSubmissionPriorities() {
+        super("changeJobSubmissionPriorities");
       }
 
-      public getResourceJobManager_args getEmptyArgsInstance() {
-        return new getResourceJobManager_args();
+      public changeJobSubmissionPriorities_args getEmptyArgsInstance() {
+        return new changeJobSubmissionPriorities_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager>() { 
-          public void onComplete(org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager o) {
-            getResourceJobManager_result result = new getResourceJobManager_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            changeJobSubmissionPriorities_result result = new changeJobSubmissionPriorities_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -29629,7 +29398,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getResourceJobManager_result result = new getResourceJobManager_result();
+            changeJobSubmissionPriorities_result result = new changeJobSubmissionPriorities_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -29661,25 +29430,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getResourceJobManager_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager> resultHandler) throws org.apache.thrift.TException {
-        iface.getResourceJobManager(args.resourceJobManagerId,resultHandler);
+      public void start(I iface, changeJobSubmissionPriorities_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.changeJobSubmissionPriorities(args.jobSubmissionPriorityMap,resultHandler);
       }
     }
 
-    public static class deleteResourceJobManager<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteResourceJobManager_args, java.lang.Boolean> {
-      public deleteResourceJobManager() {
-        super("deleteResourceJobManager");
+    public static class changeDataMovementPriorities<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, changeDataMovementPriorities_args, java.lang.Boolean> {
+      public changeDataMovementPriorities() {
+        super("changeDataMovementPriorities");
       }
 
-      public deleteResourceJobManager_args getEmptyArgsInstance() {
-        return new deleteResourceJobManager_args();
+      public changeDataMovementPriorities_args getEmptyArgsInstance() {
+        return new changeDataMovementPriorities_args();
       }
 
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
           public void onComplete(java.lang.Boolean o) {
-            deleteResourceJobManager_result result = new deleteResourceJobManager_result();
+            changeDataMovementPriorities_result result = new changeDataMovementPriorities_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -29695,7 +29464,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            deleteResourceJobManager_result result = new deleteResourceJobManager_result();
+            changeDataMovementPriorities_result result = new changeDataMovementPriorities_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -29727,25 +29496,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, deleteResourceJobManager_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.deleteResourceJobManager(args.resourceJobManagerId,resultHandler);
+      public void start(I iface, changeDataMovementPriorities_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.changeDataMovementPriorities(args.dataMovementPriorityMap,resultHandler);
       }
     }
 
-    public static class deleteBatchQueue<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteBatchQueue_args, java.lang.Boolean> {
-      public deleteBatchQueue() {
-        super("deleteBatchQueue");
+    public static class deleteJobSubmissionInterface<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteJobSubmissionInterface_args, java.lang.Boolean> {
+      public deleteJobSubmissionInterface() {
+        super("deleteJobSubmissionInterface");
       }
 
-      public deleteBatchQueue_args getEmptyArgsInstance() {
-        return new deleteBatchQueue_args();
+      public deleteJobSubmissionInterface_args getEmptyArgsInstance() {
+        return new deleteJobSubmissionInterface_args();
       }
 
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
           public void onComplete(java.lang.Boolean o) {
-            deleteBatchQueue_result result = new deleteBatchQueue_result();
+            deleteJobSubmissionInterface_result result = new deleteJobSubmissionInterface_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -29761,7 +29530,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            deleteBatchQueue_result result = new deleteBatchQueue_result();
+            deleteJobSubmissionInterface_result result = new deleteJobSubmissionInterface_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -29793,26 +29562,27 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, deleteBatchQueue_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.deleteBatchQueue(args.computeResourceId, args.queueName,resultHandler);
+      public void start(I iface, deleteJobSubmissionInterface_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.deleteJobSubmissionInterface(args.computeResourceId, args.jobSubmissionInterfaceId,resultHandler);
       }
     }
 
-    public static class registerGatewayResourceProfile<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerGatewayResourceProfile_args, java.lang.String> {
-      public registerGatewayResourceProfile() {
-        super("registerGatewayResourceProfile");
+    public static class deleteDataMovementInterface<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteDataMovementInterface_args, java.lang.Boolean> {
+      public deleteDataMovementInterface() {
+        super("deleteDataMovementInterface");
       }
 
-      public registerGatewayResourceProfile_args getEmptyArgsInstance() {
-        return new registerGatewayResourceProfile_args();
+      public deleteDataMovementInterface_args getEmptyArgsInstance() {
+        return new deleteDataMovementInterface_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
-          public void onComplete(java.lang.String o) {
-            registerGatewayResourceProfile_result result = new registerGatewayResourceProfile_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            deleteDataMovementInterface_result result = new deleteDataMovementInterface_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -29826,7 +29596,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            registerGatewayResourceProfile_result result = new registerGatewayResourceProfile_result();
+            deleteDataMovementInterface_result result = new deleteDataMovementInterface_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -29858,25 +29628,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, registerGatewayResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
-        iface.registerGatewayResourceProfile(args.gatewayResourceProfile,resultHandler);
+      public void start(I iface, deleteDataMovementInterface_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.deleteDataMovementInterface(args.productUri, args.dataMovementInterfaceId, args.dataMoveType,resultHandler);
       }
     }
 
-    public static class getGatewayResourceProfile<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getGatewayResourceProfile_args, org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile> {
-      public getGatewayResourceProfile() {
-        super("getGatewayResourceProfile");
+    public static class registerResourceJobManager<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerResourceJobManager_args, java.lang.String> {
+      public registerResourceJobManager() {
+        super("registerResourceJobManager");
       }
 
-      public getGatewayResourceProfile_args getEmptyArgsInstance() {
-        return new getGatewayResourceProfile_args();
+      public registerResourceJobManager_args getEmptyArgsInstance() {
+        return new registerResourceJobManager_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile>() { 
-          public void onComplete(org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile o) {
-            getGatewayResourceProfile_result result = new getGatewayResourceProfile_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          public void onComplete(java.lang.String o) {
+            registerResourceJobManager_result result = new registerResourceJobManager_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -29891,7 +29661,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getGatewayResourceProfile_result result = new getGatewayResourceProfile_result();
+            registerResourceJobManager_result result = new registerResourceJobManager_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -29923,25 +29693,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getGatewayResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile> resultHandler) throws org.apache.thrift.TException {
-        iface.getGatewayResourceProfile(args.gatewayID,resultHandler);
+      public void start(I iface, registerResourceJobManager_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
+        iface.registerResourceJobManager(args.resourceJobManager,resultHandler);
       }
     }
 
-    public static class updateGatewayResourceProfile<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateGatewayResourceProfile_args, java.lang.Boolean> {
-      public updateGatewayResourceProfile() {
-        super("updateGatewayResourceProfile");
+    public static class updateResourceJobManager<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateResourceJobManager_args, java.lang.Boolean> {
+      public updateResourceJobManager() {
+        super("updateResourceJobManager");
       }
 
-      public updateGatewayResourceProfile_args getEmptyArgsInstance() {
-        return new updateGatewayResourceProfile_args();
+      public updateResourceJobManager_args getEmptyArgsInstance() {
+        return new updateResourceJobManager_args();
       }
 
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
           public void onComplete(java.lang.Boolean o) {
-            updateGatewayResourceProfile_result result = new updateGatewayResourceProfile_result();
+            updateResourceJobManager_result result = new updateResourceJobManager_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -29957,7 +29727,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            updateGatewayResourceProfile_result result = new updateGatewayResourceProfile_result();
+            updateResourceJobManager_result result = new updateResourceJobManager_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -29989,27 +29759,26 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, updateGatewayResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.updateGatewayResourceProfile(args.gatewayID, args.gatewayResourceProfile,resultHandler);
+      public void start(I iface, updateResourceJobManager_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.updateResourceJobManager(args.resourceJobManagerId, args.updatedResourceJobManager,resultHandler);
       }
     }
 
-    public static class deleteGatewayResourceProfile<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteGatewayResourceProfile_args, java.lang.Boolean> {
-      public deleteGatewayResourceProfile() {
-        super("deleteGatewayResourceProfile");
+    public static class getResourceJobManager<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getResourceJobManager_args, org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager> {
+      public getResourceJobManager() {
+        super("getResourceJobManager");
       }
 
-      public deleteGatewayResourceProfile_args getEmptyArgsInstance() {
-        return new deleteGatewayResourceProfile_args();
+      public getResourceJobManager_args getEmptyArgsInstance() {
+        return new getResourceJobManager_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            deleteGatewayResourceProfile_result result = new deleteGatewayResourceProfile_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager>() { 
+          public void onComplete(org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager o) {
+            getResourceJobManager_result result = new getResourceJobManager_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -30023,7 +29792,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            deleteGatewayResourceProfile_result result = new deleteGatewayResourceProfile_result();
+            getResourceJobManager_result result = new getResourceJobManager_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -30055,25 +29824,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, deleteGatewayResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.deleteGatewayResourceProfile(args.gatewayID,resultHandler);
+      public void start(I iface, getResourceJobManager_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager> resultHandler) throws org.apache.thrift.TException {
+        iface.getResourceJobManager(args.resourceJobManagerId,resultHandler);
       }
     }
 
-    public static class addGatewayComputeResourcePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addGatewayComputeResourcePreference_args, java.lang.Boolean> {
-      public addGatewayComputeResourcePreference() {
-        super("addGatewayComputeResourcePreference");
+    public static class deleteResourceJobManager<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteResourceJobManager_args, java.lang.Boolean> {
+      public deleteResourceJobManager() {
+        super("deleteResourceJobManager");
       }
 
-      public addGatewayComputeResourcePreference_args getEmptyArgsInstance() {
-        return new addGatewayComputeResourcePreference_args();
+      public deleteResourceJobManager_args getEmptyArgsInstance() {
+        return new deleteResourceJobManager_args();
       }
 
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
           public void onComplete(java.lang.Boolean o) {
-            addGatewayComputeResourcePreference_result result = new addGatewayComputeResourcePreference_result();
+            deleteResourceJobManager_result result = new deleteResourceJobManager_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -30089,7 +29858,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            addGatewayComputeResourcePreference_result result = new addGatewayComputeResourcePreference_result();
+            deleteResourceJobManager_result result = new deleteResourceJobManager_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -30121,25 +29890,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, addGatewayComputeResourcePreference_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.addGatewayComputeResourcePreference(args.gatewayID, args.computeResourceId, args.computeResourcePreference,resultHandler);
+      public void start(I iface, deleteResourceJobManager_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.deleteResourceJobManager(args.resourceJobManagerId,resultHandler);
       }
     }
 
-    public static class addGatewayStoragePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addGatewayStoragePreference_args, java.lang.Boolean> {
-      public addGatewayStoragePreference() {
-        super("addGatewayStoragePreference");
+    public static class deleteBatchQueue<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteBatchQueue_args, java.lang.Boolean> {
+      public deleteBatchQueue() {
+        super("deleteBatchQueue");
       }
 
-      public addGatewayStoragePreference_args getEmptyArgsInstance() {
-        return new addGatewayStoragePreference_args();
+      public deleteBatchQueue_args getEmptyArgsInstance() {
+        return new deleteBatchQueue_args();
       }
 
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
           public void onComplete(java.lang.Boolean o) {
-            addGatewayStoragePreference_result result = new addGatewayStoragePreference_result();
+            deleteBatchQueue_result result = new deleteBatchQueue_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -30155,7 +29924,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            addGatewayStoragePreference_result result = new addGatewayStoragePreference_result();
+            deleteBatchQueue_result result = new deleteBatchQueue_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -30187,25 +29956,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, addGatewayStoragePreference_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.addGatewayStoragePreference(args.gatewayID, args.storageResourceId, args.storagePreference,resultHandler);
+      public void start(I iface, deleteBatchQueue_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.deleteBatchQueue(args.computeResourceId, args.queueName,resultHandler);
       }
     }
 
-    public static class getGatewayComputeResourcePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getGatewayComputeResourcePreference_args, org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference> {
-      public getGatewayComputeResourcePreference() {
-        super("getGatewayComputeResourcePreference");
+    public static class registerGatewayResourceProfile<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerGatewayResourceProfile_args, java.lang.String> {
+      public registerGatewayResourceProfile() {
+        super("registerGatewayResourceProfile");
       }
 
-      public getGatewayComputeResourcePreference_args getEmptyArgsInstance() {
-        return new getGatewayComputeResourcePreference_args();
+      public registerGatewayResourceProfile_args getEmptyArgsInstance() {
+        return new registerGatewayResourceProfile_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference>() { 
-          public void onComplete(org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference o) {
-            getGatewayComputeResourcePreference_result result = new getGatewayComputeResourcePreference_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          public void onComplete(java.lang.String o) {
+            registerGatewayResourceProfile_result result = new registerGatewayResourceProfile_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -30220,7 +29989,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getGatewayComputeResourcePreference_result result = new getGatewayComputeResourcePreference_result();
+            registerGatewayResourceProfile_result result = new registerGatewayResourceProfile_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -30252,25 +30021,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getGatewayComputeResourcePreference_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference> resultHandler) throws org.apache.thrift.TException {
-        iface.getGatewayComputeResourcePreference(args.gatewayID, args.computeResourceId,resultHandler);
+      public void start(I iface, registerGatewayResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
+        iface.registerGatewayResourceProfile(args.gatewayResourceProfile,resultHandler);
       }
     }
 
-    public static class getGatewayStoragePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getGatewayStoragePreference_args, org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference> {
-      public getGatewayStoragePreference() {
-        super("getGatewayStoragePreference");
+    public static class getGatewayResourceProfile<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getGatewayResourceProfile_args, org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile> {
+      public getGatewayResourceProfile() {
+        super("getGatewayResourceProfile");
       }
 
-      public getGatewayStoragePreference_args getEmptyArgsInstance() {
-        return new getGatewayStoragePreference_args();
+      public getGatewayResourceProfile_args getEmptyArgsInstance() {
+        return new getGatewayResourceProfile_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference>() { 
-          public void onComplete(org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference o) {
-            getGatewayStoragePreference_result result = new getGatewayStoragePreference_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile>() { 
+          public void onComplete(org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile o) {
+            getGatewayResourceProfile_result result = new getGatewayResourceProfile_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -30285,7 +30054,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getGatewayStoragePreference_result result = new getGatewayStoragePreference_result();
+            getGatewayResourceProfile_result result = new getGatewayResourceProfile_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -30317,26 +30086,27 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getGatewayStoragePreference_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference> resultHandler) throws org.apache.thrift.TException {
-        iface.getGatewayStoragePreference(args.gatewayID, args.storageResourceId,resultHandler);
+      public void start(I iface, getGatewayResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile> resultHandler) throws org.apache.thrift.TException {
+        iface.getGatewayResourceProfile(args.gatewayID,resultHandler);
       }
     }
 
-    public static class getAllGatewayComputeResourcePreferences<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllGatewayComputeResourcePreferences_args, java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference>> {
-      public getAllGatewayComputeResourcePreferences() {
-        super("getAllGatewayComputeResourcePreferences");
+    public static class updateGatewayResourceProfile<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateGatewayResourceProfile_args, java.lang.Boolean> {
+      public updateGatewayResourceProfile() {
+        super("updateGatewayResourceProfile");
       }
 
-      public getAllGatewayComputeResourcePreferences_args getEmptyArgsInstance() {
-        return new getAllGatewayComputeResourcePreferences_args();
+      public updateGatewayResourceProfile_args getEmptyArgsInstance() {
+        return new updateGatewayResourceProfile_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference>>() { 
-          public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference> o) {
-            getAllGatewayComputeResourcePreferences_result result = new getAllGatewayComputeResourcePreferences_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            updateGatewayResourceProfile_result result = new updateGatewayResourceProfile_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -30350,7 +30120,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getAllGatewayComputeResourcePreferences_result result = new getAllGatewayComputeResourcePreferences_result();
+            updateGatewayResourceProfile_result result = new updateGatewayResourceProfile_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -30382,26 +30152,27 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getAllGatewayComputeResourcePreferences_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference>> resultHandler) throws org.apache.thrift.TException {
-        iface.getAllGatewayComputeResourcePreferences(args.gatewayID,resultHandler);
+      public void start(I iface, updateGatewayResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.updateGatewayResourceProfile(args.gatewayID, args.gatewayResourceProfile,resultHandler);
       }
     }
 
-    public static class getAllGatewayStoragePreferences<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllGatewayStoragePreferences_args, java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference>> {
-      public getAllGatewayStoragePreferences() {
-        super("getAllGatewayStoragePreferences");
+    public static class deleteGatewayResourceProfile<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteGatewayResourceProfile_args, java.lang.Boolean> {
+      public deleteGatewayResourceProfile() {
+        super("deleteGatewayResourceProfile");
       }
 
-      public getAllGatewayStoragePreferences_args getEmptyArgsInstance() {
-        return new getAllGatewayStoragePreferences_args();
+      public deleteGatewayResourceProfile_args getEmptyArgsInstance() {
+        return new deleteGatewayResourceProfile_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference>>() { 
-          public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference> o) {
-            getAllGatewayStoragePreferences_result result = new getAllGatewayStoragePreferences_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            deleteGatewayResourceProfile_result result = new deleteGatewayResourceProfile_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -30415,7 +30186,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getAllGatewayStoragePreferences_result result = new getAllGatewayStoragePreferences_result();
+            deleteGatewayResourceProfile_result result = new deleteGatewayResourceProfile_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -30447,26 +30218,27 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getAllGatewayStoragePreferences_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference>> resultHandler) throws org.apache.thrift.TException {
-        iface.getAllGatewayStoragePreferences(args.gatewayID,resultHandler);
+      public void start(I iface, deleteGatewayResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.deleteGatewayResourceProfile(args.gatewayID,resultHandler);
       }
     }
 
-    public static class getAllGatewayResourceProfiles<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllGatewayResourceProfiles_args, java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile>> {
-      public getAllGatewayResourceProfiles() {
-        super("getAllGatewayResourceProfiles");
+    public static class addGatewayComputeResourcePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addGatewayComputeResourcePreference_args, java.lang.Boolean> {
+      public addGatewayComputeResourcePreference() {
+        super("addGatewayComputeResourcePreference");
       }
 
-      public getAllGatewayResourceProfiles_args getEmptyArgsInstance() {
-        return new getAllGatewayResourceProfiles_args();
+      public addGatewayComputeResourcePreference_args getEmptyArgsInstance() {
+        return new addGatewayComputeResourcePreference_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile>>() { 
-          public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile> o) {
-            getAllGatewayResourceProfiles_result result = new getAllGatewayResourceProfiles_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            addGatewayComputeResourcePreference_result result = new addGatewayComputeResourcePreference_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -30480,7 +30252,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getAllGatewayResourceProfiles_result result = new getAllGatewayResourceProfiles_result();
+            addGatewayComputeResourcePreference_result result = new addGatewayComputeResourcePreference_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -30512,25 +30284,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getAllGatewayResourceProfiles_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile>> resultHandler) throws org.apache.thrift.TException {
-        iface.getAllGatewayResourceProfiles(resultHandler);
+      public void start(I iface, addGatewayComputeResourcePreference_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.addGatewayComputeResourcePreference(args.gatewayID, args.computeResourceId, args.computeResourcePreference,resultHandler);
       }
     }
 
-    public static class updateGatewayComputeResourcePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateGatewayComputeResourcePreference_args, java.lang.Boolean> {
-      public updateGatewayComputeResourcePreference() {
-        super("updateGatewayComputeResourcePreference");
+    public static class addGatewayStoragePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addGatewayStoragePreference_args, java.lang.Boolean> {
+      public addGatewayStoragePreference() {
+        super("addGatewayStoragePreference");
       }
 
-      public updateGatewayComputeResourcePreference_args getEmptyArgsInstance() {
-        return new updateGatewayComputeResourcePreference_args();
+      public addGatewayStoragePreference_args getEmptyArgsInstance() {
+        return new addGatewayStoragePreference_args();
       }
 
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
           public void onComplete(java.lang.Boolean o) {
-            updateGatewayComputeResourcePreference_result result = new updateGatewayComputeResourcePreference_result();
+            addGatewayStoragePreference_result result = new addGatewayStoragePreference_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -30546,7 +30318,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            updateGatewayComputeResourcePreference_result result = new updateGatewayComputeResourcePreference_result();
+            addGatewayStoragePreference_result result = new addGatewayStoragePreference_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -30578,27 +30350,26 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, updateGatewayComputeResourcePreference_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.updateGatewayComputeResourcePreference(args.gatewayID, args.computeResourceId, args.computeResourcePreference,resultHandler);
+      public void start(I iface, addGatewayStoragePreference_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.addGatewayStoragePreference(args.gatewayID, args.storageResourceId, args.storagePreference,resultHandler);
       }
     }
 
-    public static class updateGatewayStoragePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateGatewayStoragePreference_args, java.lang.Boolean> {
-      public updateGatewayStoragePreference() {
-        super("updateGatewayStoragePreference");
+    public static class getGatewayComputeResourcePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getGatewayComputeResourcePreference_args, org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference> {
+      public getGatewayComputeResourcePreference() {
+        super("getGatewayComputeResourcePreference");
       }
 
-      public updateGatewayStoragePreference_args getEmptyArgsInstance() {
-        return new updateGatewayStoragePreference_args();
+      public getGatewayComputeResourcePreference_args getEmptyArgsInstance() {
+        return new getGatewayComputeResourcePreference_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            updateGatewayStoragePreference_result result = new updateGatewayStoragePreference_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference>() { 
+          public void onComplete(org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference o) {
+            getGatewayComputeResourcePreference_result result = new getGatewayComputeResourcePreference_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -30612,7 +30383,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            updateGatewayStoragePreference_result result = new updateGatewayStoragePreference_result();
+            getGatewayComputeResourcePreference_result result = new getGatewayComputeResourcePreference_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -30644,27 +30415,26 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, updateGatewayStoragePreference_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.updateGatewayStoragePreference(args.gatewayID, args.storageId, args.storagePreference,resultHandler);
+      public void start(I iface, getGatewayComputeResourcePreference_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference> resultHandler) throws org.apache.thrift.TException {
+        iface.getGatewayComputeResourcePreference(args.gatewayID, args.computeResourceId,resultHandler);
       }
     }
 
-    public static class deleteGatewayComputeResourcePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteGatewayComputeResourcePreference_args, java.lang.Boolean> {
-      public deleteGatewayComputeResourcePreference() {
-        super("deleteGatewayComputeResourcePreference");
+    public static class getGatewayStoragePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getGatewayStoragePreference_args, org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference> {
+      public getGatewayStoragePreference() {
+        super("getGatewayStoragePreference");
       }
 
-      public deleteGatewayComputeResourcePreference_args getEmptyArgsInstance() {
-        return new deleteGatewayComputeResourcePreference_args();
+      public getGatewayStoragePreference_args getEmptyArgsInstance() {
+        return new getGatewayStoragePreference_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            deleteGatewayComputeResourcePreference_result result = new deleteGatewayComputeResourcePreference_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference>() { 
+          public void onComplete(org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference o) {
+            getGatewayStoragePreference_result result = new getGatewayStoragePreference_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -30678,7 +30448,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            deleteGatewayComputeResourcePreference_result result = new deleteGatewayComputeResourcePreference_result();
+            getGatewayStoragePreference_result result = new getGatewayStoragePreference_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -30710,27 +30480,26 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, deleteGatewayComputeResourcePreference_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.deleteGatewayComputeResourcePreference(args.gatewayID, args.computeResourceId,resultHandler);
+      public void start(I iface, getGatewayStoragePreference_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference> resultHandler) throws org.apache.thrift.TException {
+        iface.getGatewayStoragePreference(args.gatewayID, args.storageResourceId,resultHandler);
       }
     }
 
-    public static class deleteGatewayStoragePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteGatewayStoragePreference_args, java.lang.Boolean> {
-      public deleteGatewayStoragePreference() {
-        super("deleteGatewayStoragePreference");
+    public static class getAllGatewayComputeResourcePreferences<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllGatewayComputeResourcePreferences_args, java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference>> {
+      public getAllGatewayComputeResourcePreferences() {
+        super("getAllGatewayComputeResourcePreferences");
       }
 
-      public deleteGatewayStoragePreference_args getEmptyArgsInstance() {
-        return new deleteGatewayStoragePreference_args();
+      public getAllGatewayComputeResourcePreferences_args getEmptyArgsInstance() {
+        return new getAllGatewayComputeResourcePreferences_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            deleteGatewayStoragePreference_result result = new deleteGatewayStoragePreference_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference>>() { 
+          public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference> o) {
+            getAllGatewayComputeResourcePreferences_result result = new getAllGatewayComputeResourcePreferences_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -30744,7 +30513,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            deleteGatewayStoragePreference_result result = new deleteGatewayStoragePreference_result();
+            getAllGatewayComputeResourcePreferences_result result = new getAllGatewayComputeResourcePreferences_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -30776,25 +30545,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, deleteGatewayStoragePreference_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.deleteGatewayStoragePreference(args.gatewayID, args.storageId,resultHandler);
+      public void start(I iface, getAllGatewayComputeResourcePreferences_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference>> resultHandler) throws org.apache.thrift.TException {
+        iface.getAllGatewayComputeResourcePreferences(args.gatewayID,resultHandler);
       }
     }
 
-    public static class registerUserResourceProfile<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerUserResourceProfile_args, java.lang.String> {
-      public registerUserResourceProfile() {
-        super("registerUserResourceProfile");
+    public static class getAllGatewayStoragePreferences<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllGatewayStoragePreferences_args, java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference>> {
+      public getAllGatewayStoragePreferences() {
+        super("getAllGatewayStoragePreferences");
       }
 
-      public registerUserResourceProfile_args getEmptyArgsInstance() {
-        return new registerUserResourceProfile_args();
+      public getAllGatewayStoragePreferences_args getEmptyArgsInstance() {
+        return new getAllGatewayStoragePreferences_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
-          public void onComplete(java.lang.String o) {
-            registerUserResourceProfile_result result = new registerUserResourceProfile_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference>>() { 
+          public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference> o) {
+            getAllGatewayStoragePreferences_result result = new getAllGatewayStoragePreferences_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -30809,7 +30578,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            registerUserResourceProfile_result result = new registerUserResourceProfile_result();
+            getAllGatewayStoragePreferences_result result = new getAllGatewayStoragePreferences_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -30841,27 +30610,26 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, registerUserResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
-        iface.registerUserResourceProfile(args.userResourceProfile,resultHandler);
+      public void start(I iface, getAllGatewayStoragePreferences_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference>> resultHandler) throws org.apache.thrift.TException {
+        iface.getAllGatewayStoragePreferences(args.gatewayID,resultHandler);
       }
     }
 
-    public static class isUserResourceProfileExists<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, isUserResourceProfileExists_args, java.lang.Boolean> {
-      public isUserResourceProfileExists() {
-        super("isUserResourceProfileExists");
+    public static class getAllGatewayResourceProfiles<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllGatewayResourceProfiles_args, java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile>> {
+      public getAllGatewayResourceProfiles() {
+        super("getAllGatewayResourceProfiles");
       }
 
-      public isUserResourceProfileExists_args getEmptyArgsInstance() {
-        return new isUserResourceProfileExists_args();
+      public getAllGatewayResourceProfiles_args getEmptyArgsInstance() {
+        return new getAllGatewayResourceProfiles_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            isUserResourceProfileExists_result result = new isUserResourceProfileExists_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile>>() { 
+          public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile> o) {
+            getAllGatewayResourceProfiles_result result = new getAllGatewayResourceProfiles_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -30875,7 +30643,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            isUserResourceProfileExists_result result = new isUserResourceProfileExists_result();
+            getAllGatewayResourceProfiles_result result = new getAllGatewayResourceProfiles_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -30907,25 +30675,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, isUserResourceProfileExists_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.isUserResourceProfileExists(args.userId, args.gatewayID,resultHandler);
+      public void start(I iface, getAllGatewayResourceProfiles_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile>> resultHandler) throws org.apache.thrift.TException {
+        iface.getAllGatewayResourceProfiles(resultHandler);
       }
     }
 
-    public static class isUserComputeResourcePreferenceExists<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, isUserComputeResourcePreferenceExists_args, java.lang.Boolean> {
-      public isUserComputeResourcePreferenceExists() {
-        super("isUserComputeResourcePreferenceExists");
+    public static class updateGatewayComputeResourcePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateGatewayComputeResourcePreference_args, java.lang.Boolean> {
+      public updateGatewayComputeResourcePreference() {
+        super("updateGatewayComputeResourcePreference");
       }
 
-      public isUserComputeResourcePreferenceExists_args getEmptyArgsInstance() {
-        return new isUserComputeResourcePreferenceExists_args();
+      public updateGatewayComputeResourcePreference_args getEmptyArgsInstance() {
+        return new updateGatewayComputeResourcePreference_args();
       }
 
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
           public void onComplete(java.lang.Boolean o) {
-            isUserComputeResourcePreferenceExists_result result = new isUserComputeResourcePreferenceExists_result();
+            updateGatewayComputeResourcePreference_result result = new updateGatewayComputeResourcePreference_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -30941,7 +30709,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            isUserComputeResourcePreferenceExists_result result = new isUserComputeResourcePreferenceExists_result();
+            updateGatewayComputeResourcePreference_result result = new updateGatewayComputeResourcePreference_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -30973,25 +30741,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, isUserComputeResourcePreferenceExists_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.isUserComputeResourcePreferenceExists(args.userId, args.gatewayID, args.computeResourceId,resultHandler);
+      public void start(I iface, updateGatewayComputeResourcePreference_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.updateGatewayComputeResourcePreference(args.gatewayID, args.computeResourceId, args.computeResourcePreference,resultHandler);
       }
     }
 
-    public static class isGroupComputeResourcePreferenceExists<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, isGroupComputeResourcePreferenceExists_args, java.lang.Boolean> {
-      public isGroupComputeResourcePreferenceExists() {
-        super("isGroupComputeResourcePreferenceExists");
+    public static class updateGatewayStoragePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateGatewayStoragePreference_args, java.lang.Boolean> {
+      public updateGatewayStoragePreference() {
+        super("updateGatewayStoragePreference");
       }
 
-      public isGroupComputeResourcePreferenceExists_args getEmptyArgsInstance() {
-        return new isGroupComputeResourcePreferenceExists_args();
+      public updateGatewayStoragePreference_args getEmptyArgsInstance() {
+        return new updateGatewayStoragePreference_args();
       }
 
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
           public void onComplete(java.lang.Boolean o) {
-            isGroupComputeResourcePreferenceExists_result result = new isGroupComputeResourcePreferenceExists_result();
+            updateGatewayStoragePreference_result result = new updateGatewayStoragePreference_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -31007,7 +30775,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            isGroupComputeResourcePreferenceExists_result result = new isGroupComputeResourcePreferenceExists_result();
+            updateGatewayStoragePreference_result result = new updateGatewayStoragePreference_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -31039,25 +30807,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, isGroupComputeResourcePreferenceExists_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.isGroupComputeResourcePreferenceExists(args.computeResourceId, args.groupResourceProfileId,resultHandler);
+      public void start(I iface, updateGatewayStoragePreference_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.updateGatewayStoragePreference(args.gatewayID, args.storageId, args.storagePreference,resultHandler);
       }
     }
 
-    public static class isGroupResourceProfileExists<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, isGroupResourceProfileExists_args, java.lang.Boolean> {
-      public isGroupResourceProfileExists() {
-        super("isGroupResourceProfileExists");
+    public static class deleteGatewayComputeResourcePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteGatewayComputeResourcePreference_args, java.lang.Boolean> {
+      public deleteGatewayComputeResourcePreference() {
+        super("deleteGatewayComputeResourcePreference");
       }
 
-      public isGroupResourceProfileExists_args getEmptyArgsInstance() {
-        return new isGroupResourceProfileExists_args();
+      public deleteGatewayComputeResourcePreference_args getEmptyArgsInstance() {
+        return new deleteGatewayComputeResourcePreference_args();
       }
 
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
           public void onComplete(java.lang.Boolean o) {
-            isGroupResourceProfileExists_result result = new isGroupResourceProfileExists_result();
+            deleteGatewayComputeResourcePreference_result result = new deleteGatewayComputeResourcePreference_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -31073,7 +30841,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            isGroupResourceProfileExists_result result = new isGroupResourceProfileExists_result();
+            deleteGatewayComputeResourcePreference_result result = new deleteGatewayComputeResourcePreference_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -31105,26 +30873,27 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, isGroupResourceProfileExists_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.isGroupResourceProfileExists(args.groupResourceProfileId,resultHandler);
+      public void start(I iface, deleteGatewayComputeResourcePreference_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.deleteGatewayComputeResourcePreference(args.gatewayID, args.computeResourceId,resultHandler);
       }
     }
 
-    public static class getUserResourceProfile<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getUserResourceProfile_args, org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile> {
-      public getUserResourceProfile() {
-        super("getUserResourceProfile");
+    public static class deleteGatewayStoragePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteGatewayStoragePreference_args, java.lang.Boolean> {
+      public deleteGatewayStoragePreference() {
+        super("deleteGatewayStoragePreference");
       }
 
-      public getUserResourceProfile_args getEmptyArgsInstance() {
-        return new getUserResourceProfile_args();
+      public deleteGatewayStoragePreference_args getEmptyArgsInstance() {
+        return new deleteGatewayStoragePreference_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile>() { 
-          public void onComplete(org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile o) {
-            getUserResourceProfile_result result = new getUserResourceProfile_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            deleteGatewayStoragePreference_result result = new deleteGatewayStoragePreference_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -31138,7 +30907,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getUserResourceProfile_result result = new getUserResourceProfile_result();
+            deleteGatewayStoragePreference_result result = new deleteGatewayStoragePreference_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -31170,27 +30939,26 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getUserResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile> resultHandler) throws org.apache.thrift.TException {
-        iface.getUserResourceProfile(args.userId, args.gatewayID,resultHandler);
+      public void start(I iface, deleteGatewayStoragePreference_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.deleteGatewayStoragePreference(args.gatewayID, args.storageId,resultHandler);
       }
     }
 
-    public static class updateUserResourceProfile<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateUserResourceProfile_args, java.lang.Boolean> {
-      public updateUserResourceProfile() {
-        super("updateUserResourceProfile");
+    public static class registerUserResourceProfile<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerUserResourceProfile_args, java.lang.String> {
+      public registerUserResourceProfile() {
+        super("registerUserResourceProfile");
       }
 
-      public updateUserResourceProfile_args getEmptyArgsInstance() {
-        return new updateUserResourceProfile_args();
+      public registerUserResourceProfile_args getEmptyArgsInstance() {
+        return new registerUserResourceProfile_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            updateUserResourceProfile_result result = new updateUserResourceProfile_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          public void onComplete(java.lang.String o) {
+            registerUserResourceProfile_result result = new registerUserResourceProfile_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -31204,7 +30972,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            updateUserResourceProfile_result result = new updateUserResourceProfile_result();
+            registerUserResourceProfile_result result = new registerUserResourceProfile_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -31236,25 +31004,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, updateUserResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.updateUserResourceProfile(args.userId, args.gatewayID, args.userResourceProfile,resultHandler);
+      public void start(I iface, registerUserResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
+        iface.registerUserResourceProfile(args.userResourceProfile,resultHandler);
       }
     }
 
-    public static class deleteUserResourceProfile<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteUserResourceProfile_args, java.lang.Boolean> {
-      public deleteUserResourceProfile() {
-        super("deleteUserResourceProfile");
+    public static class isUserResourceProfileExists<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, isUserResourceProfileExists_args, java.lang.Boolean> {
+      public isUserResourceProfileExists() {
+        super("isUserResourceProfileExists");
       }
 
-      public deleteUserResourceProfile_args getEmptyArgsInstance() {
-        return new deleteUserResourceProfile_args();
+      public isUserResourceProfileExists_args getEmptyArgsInstance() {
+        return new isUserResourceProfileExists_args();
       }
 
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
           public void onComplete(java.lang.Boolean o) {
-            deleteUserResourceProfile_result result = new deleteUserResourceProfile_result();
+            isUserResourceProfileExists_result result = new isUserResourceProfileExists_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -31270,7 +31038,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            deleteUserResourceProfile_result result = new deleteUserResourceProfile_result();
+            isUserResourceProfileExists_result result = new isUserResourceProfileExists_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -31302,26 +31070,27 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, deleteUserResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.deleteUserResourceProfile(args.userId, args.gatewayID,resultHandler);
+      public void start(I iface, isUserResourceProfileExists_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.isUserResourceProfileExists(args.userId, args.gatewayID,resultHandler);
       }
     }
 
-    public static class addUser<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addUser_args, java.lang.String> {
-      public addUser() {
-        super("addUser");
+    public static class isUserComputeResourcePreferenceExists<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, isUserComputeResourcePreferenceExists_args, java.lang.Boolean> {
+      public isUserComputeResourcePreferenceExists() {
+        super("isUserComputeResourcePreferenceExists");
       }
 
-      public addUser_args getEmptyArgsInstance() {
-        return new addUser_args();
+      public isUserComputeResourcePreferenceExists_args getEmptyArgsInstance() {
+        return new isUserComputeResourcePreferenceExists_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
-          public void onComplete(java.lang.String o) {
-            addUser_result result = new addUser_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            isUserComputeResourcePreferenceExists_result result = new isUserComputeResourcePreferenceExists_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -31335,15 +31104,11 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            addUser_result result = new addUser_result();
+            isUserComputeResourcePreferenceExists_result result = new isUserComputeResourcePreferenceExists_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
               msg = result;
-            } else if (e instanceof org.apache.airavata.model.error.DuplicateEntryException) {
-              result.dee = (org.apache.airavata.model.error.DuplicateEntryException) e;
-              result.setDeeIsSet(true);
-              msg = result;
             } else if (e instanceof org.apache.thrift.transport.TTransportException) {
               _LOGGER.error("TTransportException inside handler", e);
               fb.close();
@@ -31371,25 +31136,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, addUser_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
-        iface.addUser(args.userProfile,resultHandler);
+      public void start(I iface, isUserComputeResourcePreferenceExists_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.isUserComputeResourcePreferenceExists(args.userId, args.gatewayID, args.computeResourceId,resultHandler);
       }
     }
 
-    public static class addUserComputeResourcePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addUserComputeResourcePreference_args, java.lang.Boolean> {
-      public addUserComputeResourcePreference() {
-        super("addUserComputeResourcePreference");
+    public static class isGroupComputeResourcePreferenceExists<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, isGroupComputeResourcePreferenceExists_args, java.lang.Boolean> {
+      public isGroupComputeResourcePreferenceExists() {
+        super("isGroupComputeResourcePreferenceExists");
       }
 
-      public addUserComputeResourcePreference_args getEmptyArgsInstance() {
-        return new addUserComputeResourcePreference_args();
+      public isGroupComputeResourcePreferenceExists_args getEmptyArgsInstance() {
+        return new isGroupComputeResourcePreferenceExists_args();
       }
 
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
           public void onComplete(java.lang.Boolean o) {
-            addUserComputeResourcePreference_result result = new addUserComputeResourcePreference_result();
+            isGroupComputeResourcePreferenceExists_result result = new isGroupComputeResourcePreferenceExists_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -31405,7 +31170,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            addUserComputeResourcePreference_result result = new addUserComputeResourcePreference_result();
+            isGroupComputeResourcePreferenceExists_result result = new isGroupComputeResourcePreferenceExists_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -31437,25 +31202,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, addUserComputeResourcePreference_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.addUserComputeResourcePreference(args.userId, args.gatewayID, args.computeResourceId, args.userComputeResourcePreference,resultHandler);
+      public void start(I iface, isGroupComputeResourcePreferenceExists_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.isGroupComputeResourcePreferenceExists(args.computeResourceId, args.groupResourceProfileId,resultHandler);
       }
     }
 
-    public static class addUserStoragePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addUserStoragePreference_args, java.lang.Boolean> {
-      public addUserStoragePreference() {
-        super("addUserStoragePreference");
+    public static class isGroupResourceProfileExists<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, isGroupResourceProfileExists_args, java.lang.Boolean> {
+      public isGroupResourceProfileExists() {
+        super("isGroupResourceProfileExists");
       }
 
-      public addUserStoragePreference_args getEmptyArgsInstance() {
-        return new addUserStoragePreference_args();
+      public isGroupResourceProfileExists_args getEmptyArgsInstance() {
+        return new isGroupResourceProfileExists_args();
       }
 
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
           public void onComplete(java.lang.Boolean o) {
-            addUserStoragePreference_result result = new addUserStoragePreference_result();
+            isGroupResourceProfileExists_result result = new isGroupResourceProfileExists_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -31471,7 +31236,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            addUserStoragePreference_result result = new addUserStoragePreference_result();
+            isGroupResourceProfileExists_result result = new isGroupResourceProfileExists_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -31503,25 +31268,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, addUserStoragePreference_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.addUserStoragePreference(args.userId, args.gatewayID, args.userStorageResourceId, args.userStoragePreference,resultHandler);
+      public void start(I iface, isGroupResourceProfileExists_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.isGroupResourceProfileExists(args.groupResourceProfileId,resultHandler);
       }
     }
 
-    public static class getUserComputeResourcePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getUserComputeResourcePreference_args, org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference> {
-      public getUserComputeResourcePreference() {
-        super("getUserComputeResourcePreference");
+    public static class getUserResourceProfile<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getUserResourceProfile_args, org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile> {
+      public getUserResourceProfile() {
+        super("getUserResourceProfile");
       }
 
-      public getUserComputeResourcePreference_args getEmptyArgsInstance() {
-        return new getUserComputeResourcePreference_args();
+      public getUserResourceProfile_args getEmptyArgsInstance() {
+        return new getUserResourceProfile_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference>() { 
-          public void onComplete(org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference o) {
-            getUserComputeResourcePreference_result result = new getUserComputeResourcePreference_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile>() { 
+          public void onComplete(org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile o) {
+            getUserResourceProfile_result result = new getUserResourceProfile_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -31536,7 +31301,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getUserComputeResourcePreference_result result = new getUserComputeResourcePreference_result();
+            getUserResourceProfile_result result = new getUserResourceProfile_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -31568,26 +31333,27 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getUserComputeResourcePreference_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference> resultHandler) throws org.apache.thrift.TException {
-        iface.getUserComputeResourcePreference(args.userId, args.gatewayID, args.userComputeResourceId,resultHandler);
+      public void start(I iface, getUserResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile> resultHandler) throws org.apache.thrift.TException {
+        iface.getUserResourceProfile(args.userId, args.gatewayID,resultHandler);
       }
     }
 
-    public static class getUserStoragePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getUserStoragePreference_args, org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference> {
-      public getUserStoragePreference() {
-        super("getUserStoragePreference");
+    public static class updateUserResourceProfile<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateUserResourceProfile_args, java.lang.Boolean> {
+      public updateUserResourceProfile() {
+        super("updateUserResourceProfile");
       }
 
-      public getUserStoragePreference_args getEmptyArgsInstance() {
-        return new getUserStoragePreference_args();
+      public updateUserResourceProfile_args getEmptyArgsInstance() {
+        return new updateUserResourceProfile_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference>() { 
-          public void onComplete(org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference o) {
-            getUserStoragePreference_result result = new getUserStoragePreference_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            updateUserResourceProfile_result result = new updateUserResourceProfile_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -31601,7 +31367,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getUserStoragePreference_result result = new getUserStoragePreference_result();
+            updateUserResourceProfile_result result = new updateUserResourceProfile_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -31633,26 +31399,27 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getUserStoragePreference_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference> resultHandler) throws org.apache.thrift.TException {
-        iface.getUserStoragePreference(args.userId, args.gatewayID, args.userStorageResourceId,resultHandler);
+      public void start(I iface, updateUserResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.updateUserResourceProfile(args.userId, args.gatewayID, args.userResourceProfile,resultHandler);
       }
     }
 
-    public static class getAllUserComputeResourcePreferences<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllUserComputeResourcePreferences_args, java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference>> {
-      public getAllUserComputeResourcePreferences() {
-        super("getAllUserComputeResourcePreferences");
+    public static class deleteUserResourceProfile<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteUserResourceProfile_args, java.lang.Boolean> {
+      public deleteUserResourceProfile() {
+        super("deleteUserResourceProfile");
       }
 
-      public getAllUserComputeResourcePreferences_args getEmptyArgsInstance() {
-        return new getAllUserComputeResourcePreferences_args();
+      public deleteUserResourceProfile_args getEmptyArgsInstance() {
+        return new deleteUserResourceProfile_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference>>() { 
-          public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference> o) {
-            getAllUserComputeResourcePreferences_result result = new getAllUserComputeResourcePreferences_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            deleteUserResourceProfile_result result = new deleteUserResourceProfile_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -31666,7 +31433,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getAllUserComputeResourcePreferences_result result = new getAllUserComputeResourcePreferences_result();
+            deleteUserResourceProfile_result result = new deleteUserResourceProfile_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -31698,25 +31465,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getAllUserComputeResourcePreferences_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference>> resultHandler) throws org.apache.thrift.TException {
-        iface.getAllUserComputeResourcePreferences(args.userId, args.gatewayID,resultHandler);
+      public void start(I iface, deleteUserResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.deleteUserResourceProfile(args.userId, args.gatewayID,resultHandler);
       }
     }
 
-    public static class getAllUserStoragePreferences<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllUserStoragePreferences_args, java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference>> {
-      public getAllUserStoragePreferences() {
-        super("getAllUserStoragePreferences");
+    public static class addUser<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addUser_args, java.lang.String> {
+      public addUser() {
+        super("addUser");
       }
 
-      public getAllUserStoragePreferences_args getEmptyArgsInstance() {
-        return new getAllUserStoragePreferences_args();
+      public addUser_args getEmptyArgsInstance() {
+        return new addUser_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference>>() { 
-          public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference> o) {
-            getAllUserStoragePreferences_result result = new getAllUserStoragePreferences_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          public void onComplete(java.lang.String o) {
+            addUser_result result = new addUser_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -31731,11 +31498,15 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getAllUserStoragePreferences_result result = new getAllUserStoragePreferences_result();
+            addUser_result result = new addUser_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
               msg = result;
+            } else if (e instanceof org.apache.airavata.model.error.DuplicateEntryException) {
+              result.dee = (org.apache.airavata.model.error.DuplicateEntryException) e;
+              result.setDeeIsSet(true);
+              msg = result;
             } else if (e instanceof org.apache.thrift.transport.TTransportException) {
               _LOGGER.error("TTransportException inside handler", e);
               fb.close();
@@ -31763,26 +31534,27 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getAllUserStoragePreferences_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference>> resultHandler) throws org.apache.thrift.TException {
-        iface.getAllUserStoragePreferences(args.userId, args.gatewayID,resultHandler);
+      public void start(I iface, addUser_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
+        iface.addUser(args.userProfile,resultHandler);
       }
     }
 
-    public static class getAllUserResourceProfiles<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllUserResourceProfiles_args, java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile>> {
-      public getAllUserResourceProfiles() {
-        super("getAllUserResourceProfiles");
+    public static class addUserComputeResourcePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addUserComputeResourcePreference_args, java.lang.Boolean> {
+      public addUserComputeResourcePreference() {
+        super("addUserComputeResourcePreference");
       }
 
-      public getAllUserResourceProfiles_args getEmptyArgsInstance() {
-        return new getAllUserResourceProfiles_args();
+      public addUserComputeResourcePreference_args getEmptyArgsInstance() {
+        return new addUserComputeResourcePreference_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile>>() { 
-          public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile> o) {
-            getAllUserResourceProfiles_result result = new getAllUserResourceProfiles_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            addUserComputeResourcePreference_result result = new addUserComputeResourcePreference_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -31796,7 +31568,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getAllUserResourceProfiles_result result = new getAllUserResourceProfiles_result();
+            addUserComputeResourcePreference_result result = new addUserComputeResourcePreference_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -31828,25 +31600,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getAllUserResourceProfiles_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile>> resultHandler) throws org.apache.thrift.TException {
-        iface.getAllUserResourceProfiles(resultHandler);
+      public void start(I iface, addUserComputeResourcePreference_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.addUserComputeResourcePreference(args.userId, args.gatewayID, args.computeResourceId, args.userComputeResourcePreference,resultHandler);
       }
     }
 
-    public static class updateUserComputeResourcePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateUserComputeResourcePreference_args, java.lang.Boolean> {
-      public updateUserComputeResourcePreference() {
-        super("updateUserComputeResourcePreference");
+    public static class addUserStoragePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addUserStoragePreference_args, java.lang.Boolean> {
+      public addUserStoragePreference() {
+        super("addUserStoragePreference");
       }
 
-      public updateUserComputeResourcePreference_args getEmptyArgsInstance() {
-        return new updateUserComputeResourcePreference_args();
+      public addUserStoragePreference_args getEmptyArgsInstance() {
+        return new addUserStoragePreference_args();
       }
 
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
           public void onComplete(java.lang.Boolean o) {
-            updateUserComputeResourcePreference_result result = new updateUserComputeResourcePreference_result();
+            addUserStoragePreference_result result = new addUserStoragePreference_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -31862,7 +31634,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            updateUserComputeResourcePreference_result result = new updateUserComputeResourcePreference_result();
+            addUserStoragePreference_result result = new addUserStoragePreference_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -31894,27 +31666,26 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, updateUserComputeResourcePreference_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.updateUserComputeResourcePreference(args.userId, args.gatewayID, args.userComputeResourceId, args.userComputeResourcePreference,resultHandler);
+      public void start(I iface, addUserStoragePreference_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.addUserStoragePreference(args.userId, args.gatewayID, args.userStorageResourceId, args.userStoragePreference,resultHandler);
       }
     }
 
-    public static class updateUserStoragePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateUserStoragePreference_args, java.lang.Boolean> {
-      public updateUserStoragePreference() {
-        super("updateUserStoragePreference");
+    public static class getUserComputeResourcePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getUserComputeResourcePreference_args, org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference> {
+      public getUserComputeResourcePreference() {
+        super("getUserComputeResourcePreference");
       }
 
-      public updateUserStoragePreference_args getEmptyArgsInstance() {
-        return new updateUserStoragePreference_args();
+      public getUserComputeResourcePreference_args getEmptyArgsInstance() {
+        return new getUserComputeResourcePreference_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            updateUserStoragePreference_result result = new updateUserStoragePreference_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference>() { 
+          public void onComplete(org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference o) {
+            getUserComputeResourcePreference_result result = new getUserComputeResourcePreference_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -31928,7 +31699,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            updateUserStoragePreference_result result = new updateUserStoragePreference_result();
+            getUserComputeResourcePreference_result result = new getUserComputeResourcePreference_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -31960,27 +31731,26 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, updateUserStoragePreference_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.updateUserStoragePreference(args.userId, args.gatewayID, args.userStorageId, args.userStoragePreference,resultHandler);
+      public void start(I iface, getUserComputeResourcePreference_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference> resultHandler) throws org.apache.thrift.TException {
+        iface.getUserComputeResourcePreference(args.userId, args.gatewayID, args.userComputeResourceId,resultHandler);
       }
     }
 
-    public static class deleteUserComputeResourcePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteUserComputeResourcePreference_args, java.lang.Boolean> {
-      public deleteUserComputeResourcePreference() {
-        super("deleteUserComputeResourcePreference");
+    public static class getUserStoragePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getUserStoragePreference_args, org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference> {
+      public getUserStoragePreference() {
+        super("getUserStoragePreference");
       }
 
-      public deleteUserComputeResourcePreference_args getEmptyArgsInstance() {
-        return new deleteUserComputeResourcePreference_args();
+      public getUserStoragePreference_args getEmptyArgsInstance() {
+        return new getUserStoragePreference_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            deleteUserComputeResourcePreference_result result = new deleteUserComputeResourcePreference_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference>() { 
+          public void onComplete(org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference o) {
+            getUserStoragePreference_result result = new getUserStoragePreference_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -31994,7 +31764,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            deleteUserComputeResourcePreference_result result = new deleteUserComputeResourcePreference_result();
+            getUserStoragePreference_result result = new getUserStoragePreference_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -32026,27 +31796,26 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, deleteUserComputeResourcePreference_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.deleteUserComputeResourcePreference(args.userId, args.gatewayID, args.userComputeResourceId,resultHandler);
+      public void start(I iface, getUserStoragePreference_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference> resultHandler) throws org.apache.thrift.TException {
+        iface.getUserStoragePreference(args.userId, args.gatewayID, args.userStorageResourceId,resultHandler);
       }
     }
 
-    public static class deleteUserStoragePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteUserStoragePreference_args, java.lang.Boolean> {
-      public deleteUserStoragePreference() {
-        super("deleteUserStoragePreference");
+    public static class getAllUserComputeResourcePreferences<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllUserComputeResourcePreferences_args, java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference>> {
+      public getAllUserComputeResourcePreferences() {
+        super("getAllUserComputeResourcePreferences");
       }
 
-      public deleteUserStoragePreference_args getEmptyArgsInstance() {
-        return new deleteUserStoragePreference_args();
+      public getAllUserComputeResourcePreferences_args getEmptyArgsInstance() {
+        return new getAllUserComputeResourcePreferences_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            deleteUserStoragePreference_result result = new deleteUserStoragePreference_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference>>() { 
+          public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference> o) {
+            getAllUserComputeResourcePreferences_result result = new getAllUserComputeResourcePreferences_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -32060,7 +31829,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            deleteUserStoragePreference_result result = new deleteUserStoragePreference_result();
+            getAllUserComputeResourcePreferences_result result = new getAllUserComputeResourcePreferences_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -32092,25 +31861,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, deleteUserStoragePreference_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.deleteUserStoragePreference(args.userId, args.gatewayID, args.userStorageId,resultHandler);
+      public void start(I iface, getAllUserComputeResourcePreferences_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference>> resultHandler) throws org.apache.thrift.TException {
+        iface.getAllUserComputeResourcePreferences(args.userId, args.gatewayID,resultHandler);
       }
     }
 
-    public static class getLatestQueueStatuses<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getLatestQueueStatuses_args, java.util.List<org.apache.airavata.model.status.QueueStatusModel>> {
-      public getLatestQueueStatuses() {
-        super("getLatestQueueStatuses");
+    public static class getAllUserStoragePreferences<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllUserStoragePreferences_args, java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference>> {
+      public getAllUserStoragePreferences() {
+        super("getAllUserStoragePreferences");
       }
 
-      public getLatestQueueStatuses_args getEmptyArgsInstance() {
-        return new getLatestQueueStatuses_args();
+      public getAllUserStoragePreferences_args getEmptyArgsInstance() {
+        return new getAllUserStoragePreferences_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.status.QueueStatusModel>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.status.QueueStatusModel>>() { 
-          public void onComplete(java.util.List<org.apache.airavata.model.status.QueueStatusModel> o) {
-            getLatestQueueStatuses_result result = new getLatestQueueStatuses_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference>>() { 
+          public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference> o) {
+            getAllUserStoragePreferences_result result = new getAllUserStoragePreferences_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -32125,7 +31894,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getLatestQueueStatuses_result result = new getLatestQueueStatuses_result();
+            getAllUserStoragePreferences_result result = new getAllUserStoragePreferences_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -32157,25 +31926,26 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getLatestQueueStatuses_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.status.QueueStatusModel>> resultHandler) throws org.apache.thrift.TException {
-        iface.getLatestQueueStatuses(resultHandler);
+      public void start(I iface, getAllUserStoragePreferences_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference>> resultHandler) throws org.apache.thrift.TException {
+        iface.getAllUserStoragePreferences(args.userId, args.gatewayID,resultHandler);
       }
     }
 
-    public static class registerQueueStatuses<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerQueueStatuses_args, Void> {
-      public registerQueueStatuses() {
-        super("registerQueueStatuses");
+    public static class getAllUserResourceProfiles<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllUserResourceProfiles_args, java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile>> {
+      public getAllUserResourceProfiles() {
+        super("getAllUserResourceProfiles");
       }
 
-      public registerQueueStatuses_args getEmptyArgsInstance() {
-        return new registerQueueStatuses_args();
+      public getAllUserResourceProfiles_args getEmptyArgsInstance() {
+        return new getAllUserResourceProfiles_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
-          public void onComplete(Void o) {
-            registerQueueStatuses_result result = new registerQueueStatuses_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile>>() { 
+          public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile> o) {
+            getAllUserResourceProfiles_result result = new getAllUserResourceProfiles_result();
+            result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -32189,7 +31959,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            registerQueueStatuses_result result = new registerQueueStatuses_result();
+            getAllUserResourceProfiles_result result = new getAllUserResourceProfiles_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -32221,26 +31991,27 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, registerQueueStatuses_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
-        iface.registerQueueStatuses(args.queueStatuses,resultHandler);
+      public void start(I iface, getAllUserResourceProfiles_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile>> resultHandler) throws org.apache.thrift.TException {
+        iface.getAllUserResourceProfiles(resultHandler);
       }
     }
 
-    public static class getQueueStatus<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getQueueStatus_args, org.apache.airavata.model.status.QueueStatusModel> {
-      public getQueueStatus() {
-        super("getQueueStatus");
+    public static class updateUserComputeResourcePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateUserComputeResourcePreference_args, java.lang.Boolean> {
+      public updateUserComputeResourcePreference() {
+        super("updateUserComputeResourcePreference");
       }
 
-      public getQueueStatus_args getEmptyArgsInstance() {
-        return new getQueueStatus_args();
+      public updateUserComputeResourcePreference_args getEmptyArgsInstance() {
+        return new updateUserComputeResourcePreference_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.status.QueueStatusModel> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.status.QueueStatusModel>() { 
-          public void onComplete(org.apache.airavata.model.status.QueueStatusModel o) {
-            getQueueStatus_result result = new getQueueStatus_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            updateUserComputeResourcePreference_result result = new updateUserComputeResourcePreference_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -32254,7 +32025,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getQueueStatus_result result = new getQueueStatus_result();
+            updateUserComputeResourcePreference_result result = new updateUserComputeResourcePreference_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -32286,26 +32057,27 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getQueueStatus_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.status.QueueStatusModel> resultHandler) throws org.apache.thrift.TException {
-        iface.getQueueStatus(args.hostName, args.queueName,resultHandler);
+      public void start(I iface, updateUserComputeResourcePreference_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.updateUserComputeResourcePreference(args.userId, args.gatewayID, args.userComputeResourceId, args.userComputeResourcePreference,resultHandler);
       }
     }
 
-    public static class registerDataProduct<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerDataProduct_args, java.lang.String> {
-      public registerDataProduct() {
-        super("registerDataProduct");
+    public static class updateUserStoragePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateUserStoragePreference_args, java.lang.Boolean> {
+      public updateUserStoragePreference() {
+        super("updateUserStoragePreference");
       }
 
-      public registerDataProduct_args getEmptyArgsInstance() {
-        return new registerDataProduct_args();
+      public updateUserStoragePreference_args getEmptyArgsInstance() {
+        return new updateUserStoragePreference_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
-          public void onComplete(java.lang.String o) {
-            registerDataProduct_result result = new registerDataProduct_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            updateUserStoragePreference_result result = new updateUserStoragePreference_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -32319,7 +32091,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            registerDataProduct_result result = new registerDataProduct_result();
+            updateUserStoragePreference_result result = new updateUserStoragePreference_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -32351,26 +32123,27 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, registerDataProduct_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
-        iface.registerDataProduct(args.dataProductModel,resultHandler);
+      public void start(I iface, updateUserStoragePreference_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.updateUserStoragePreference(args.userId, args.gatewayID, args.userStorageId, args.userStoragePreference,resultHandler);
       }
     }
 
-    public static class getDataProduct<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getDataProduct_args, org.apache.airavata.model.data.replica.DataProductModel> {
-      public getDataProduct() {
-        super("getDataProduct");
+    public static class deleteUserComputeResourcePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteUserComputeResourcePreference_args, java.lang.Boolean> {
+      public deleteUserComputeResourcePreference() {
+        super("deleteUserComputeResourcePreference");
       }
 
-      public getDataProduct_args getEmptyArgsInstance() {
-        return new getDataProduct_args();
+      public deleteUserComputeResourcePreference_args getEmptyArgsInstance() {
+        return new deleteUserComputeResourcePreference_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.replica.DataProductModel> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.replica.DataProductModel>() { 
-          public void onComplete(org.apache.airavata.model.data.replica.DataProductModel o) {
-            getDataProduct_result result = new getDataProduct_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            deleteUserComputeResourcePreference_result result = new deleteUserComputeResourcePreference_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -32384,7 +32157,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getDataProduct_result result = new getDataProduct_result();
+            deleteUserComputeResourcePreference_result result = new deleteUserComputeResourcePreference_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -32416,26 +32189,27 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getDataProduct_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.replica.DataProductModel> resultHandler) throws org.apache.thrift.TException {
-        iface.getDataProduct(args.dataProductUri,resultHandler);
+      public void start(I iface, deleteUserComputeResourcePreference_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.deleteUserComputeResourcePreference(args.userId, args.gatewayID, args.userComputeResourceId,resultHandler);
       }
     }
 
-    public static class registerReplicaLocation<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerReplicaLocation_args, java.lang.String> {
-      public registerReplicaLocation() {
-        super("registerReplicaLocation");
+    public static class deleteUserStoragePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteUserStoragePreference_args, java.lang.Boolean> {
+      public deleteUserStoragePreference() {
+        super("deleteUserStoragePreference");
       }
 
-      public registerReplicaLocation_args getEmptyArgsInstance() {
-        return new registerReplicaLocation_args();
+      public deleteUserStoragePreference_args getEmptyArgsInstance() {
+        return new deleteUserStoragePreference_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
-          public void onComplete(java.lang.String o) {
-            registerReplicaLocation_result result = new registerReplicaLocation_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            deleteUserStoragePreference_result result = new deleteUserStoragePreference_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -32449,7 +32223,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            registerReplicaLocation_result result = new registerReplicaLocation_result();
+            deleteUserStoragePreference_result result = new deleteUserStoragePreference_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -32481,25 +32255,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, registerReplicaLocation_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
-        iface.registerReplicaLocation(args.replicaLocationModel,resultHandler);
+      public void start(I iface, deleteUserStoragePreference_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.deleteUserStoragePreference(args.userId, args.gatewayID, args.userStorageId,resultHandler);
       }
     }
 
-    public static class getParentDataProduct<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getParentDataProduct_args, org.apache.airavata.model.data.replica.DataProductModel> {
-      public getParentDataProduct() {
-        super("getParentDataProduct");
+    public static class getLatestQueueStatuses<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getLatestQueueStatuses_args, java.util.List<org.apache.airavata.model.status.QueueStatusModel>> {
+      public getLatestQueueStatuses() {
+        super("getLatestQueueStatuses");
       }
 
-      public getParentDataProduct_args getEmptyArgsInstance() {
-        return new getParentDataProduct_args();
+      public getLatestQueueStatuses_args getEmptyArgsInstance() {
+        return new getLatestQueueStatuses_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.replica.DataProductModel> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.status.QueueStatusModel>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.replica.DataProductModel>() { 
-          public void onComplete(org.apache.airavata.model.data.replica.DataProductModel o) {
-            getParentDataProduct_result result = new getParentDataProduct_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.status.QueueStatusModel>>() { 
+          public void onComplete(java.util.List<org.apache.airavata.model.status.QueueStatusModel> o) {
+            getLatestQueueStatuses_result result = new getLatestQueueStatuses_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -32514,7 +32288,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getParentDataProduct_result result = new getParentDataProduct_result();
+            getLatestQueueStatuses_result result = new getLatestQueueStatuses_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -32546,26 +32320,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getParentDataProduct_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.replica.DataProductModel> resultHandler) throws org.apache.thrift.TException {
-        iface.getParentDataProduct(args.productUri,resultHandler);
+      public void start(I iface, getLatestQueueStatuses_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.status.QueueStatusModel>> resultHandler) throws org.apache.thrift.TException {
+        iface.getLatestQueueStatuses(resultHandler);
       }
     }
 
-    public static class getChildDataProducts<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getChildDataProducts_args, java.util.List<org.apache.airavata.model.data.replica.DataProductModel>> {
-      public getChildDataProducts() {
-        super("getChildDataProducts");
+    public static class registerQueueStatuses<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerQueueStatuses_args, Void> {
+      public registerQueueStatuses() {
+        super("registerQueueStatuses");
       }
 
-      public getChildDataProducts_args getEmptyArgsInstance() {
-        return new getChildDataProducts_args();
+      public registerQueueStatuses_args getEmptyArgsInstance() {
+        return new registerQueueStatuses_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.data.replica.DataProductModel>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.data.replica.DataProductModel>>() { 
-          public void onComplete(java.util.List<org.apache.airavata.model.data.replica.DataProductModel> o) {
-            getChildDataProducts_result result = new getChildDataProducts_result();
-            result.success = o;
+        return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
+          public void onComplete(Void o) {
+            registerQueueStatuses_result result = new registerQueueStatuses_result();
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -32579,7 +32352,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getChildDataProducts_result result = new getChildDataProducts_result();
+            registerQueueStatuses_result result = new registerQueueStatuses_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -32611,25 +32384,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getChildDataProducts_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.data.replica.DataProductModel>> resultHandler) throws org.apache.thrift.TException {
-        iface.getChildDataProducts(args.productUri,resultHandler);
+      public void start(I iface, registerQueueStatuses_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
+        iface.registerQueueStatuses(args.queueStatuses,resultHandler);
       }
     }
 
-    public static class searchDataProductsByName<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, searchDataProductsByName_args, java.util.List<org.apache.airavata.model.data.replica.DataProductModel>> {
-      public searchDataProductsByName() {
-        super("searchDataProductsByName");
+    public static class getQueueStatus<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getQueueStatus_args, org.apache.airavata.model.status.QueueStatusModel> {
+      public getQueueStatus() {
+        super("getQueueStatus");
       }
 
-      public searchDataProductsByName_args getEmptyArgsInstance() {
-        return new searchDataProductsByName_args();
+      public getQueueStatus_args getEmptyArgsInstance() {
+        return new getQueueStatus_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.data.replica.DataProductModel>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.status.QueueStatusModel> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.data.replica.DataProductModel>>() { 
-          public void onComplete(java.util.List<org.apache.airavata.model.data.replica.DataProductModel> o) {
-            searchDataProductsByName_result result = new searchDataProductsByName_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.status.QueueStatusModel>() { 
+          public void onComplete(org.apache.airavata.model.status.QueueStatusModel o) {
+            getQueueStatus_result result = new getQueueStatus_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -32644,7 +32417,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            searchDataProductsByName_result result = new searchDataProductsByName_result();
+            getQueueStatus_result result = new getQueueStatus_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -32676,25 +32449,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, searchDataProductsByName_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.data.replica.DataProductModel>> resultHandler) throws org.apache.thrift.TException {
-        iface.searchDataProductsByName(args.gatewayId, args.userId, args.productName, args.limit, args.offset,resultHandler);
+      public void start(I iface, getQueueStatus_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.status.QueueStatusModel> resultHandler) throws org.apache.thrift.TException {
+        iface.getQueueStatus(args.hostName, args.queueName,resultHandler);
       }
     }
 
-    public static class createGroupResourceProfile<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, createGroupResourceProfile_args, java.lang.String> {
-      public createGroupResourceProfile() {
-        super("createGroupResourceProfile");
+    public static class registerDataProduct<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerDataProduct_args, java.lang.String> {
+      public registerDataProduct() {
+        super("registerDataProduct");
       }
 
-      public createGroupResourceProfile_args getEmptyArgsInstance() {
-        return new createGroupResourceProfile_args();
+      public registerDataProduct_args getEmptyArgsInstance() {
+        return new registerDataProduct_args();
       }
 
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
           public void onComplete(java.lang.String o) {
-            createGroupResourceProfile_result result = new createGroupResourceProfile_result();
+            registerDataProduct_result result = new registerDataProduct_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -32709,7 +32482,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            createGroupResourceProfile_result result = new createGroupResourceProfile_result();
+            registerDataProduct_result result = new registerDataProduct_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -32741,25 +32514,26 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, createGroupResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
-        iface.createGroupResourceProfile(args.groupResourceProfile,resultHandler);
+      public void start(I iface, registerDataProduct_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
+        iface.registerDataProduct(args.dataProductModel,resultHandler);
       }
     }
 
-    public static class updateGroupResourceProfile<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateGroupResourceProfile_args, Void> {
-      public updateGroupResourceProfile() {
-        super("updateGroupResourceProfile");
+    public static class getDataProduct<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getDataProduct_args, org.apache.airavata.model.data.replica.DataProductModel> {
+      public getDataProduct() {
+        super("getDataProduct");
       }
 
-      public updateGroupResourceProfile_args getEmptyArgsInstance() {
-        return new updateGroupResourceProfile_args();
+      public getDataProduct_args getEmptyArgsInstance() {
+        return new getDataProduct_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.replica.DataProductModel> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
-          public void onComplete(Void o) {
-            updateGroupResourceProfile_result result = new updateGroupResourceProfile_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.replica.DataProductModel>() { 
+          public void onComplete(org.apache.airavata.model.data.replica.DataProductModel o) {
+            getDataProduct_result result = new getDataProduct_result();
+            result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -32773,7 +32547,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            updateGroupResourceProfile_result result = new updateGroupResourceProfile_result();
+            getDataProduct_result result = new getDataProduct_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -32805,25 +32579,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, updateGroupResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
-        iface.updateGroupResourceProfile(args.groupResourceProfile,resultHandler);
+      public void start(I iface, getDataProduct_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.replica.DataProductModel> resultHandler) throws org.apache.thrift.TException {
+        iface.getDataProduct(args.dataProductUri,resultHandler);
       }
     }
 
-    public static class getGroupResourceProfile<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getGroupResourceProfile_args, org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile> {
-      public getGroupResourceProfile() {
-        super("getGroupResourceProfile");
+    public static class registerReplicaLocation<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerReplicaLocation_args, java.lang.String> {
+      public registerReplicaLocation() {
+        super("registerReplicaLocation");
       }
 
-      public getGroupResourceProfile_args getEmptyArgsInstance() {
-        return new getGroupResourceProfile_args();
+      public registerReplicaLocation_args getEmptyArgsInstance() {
+        return new registerReplicaLocation_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile>() { 
-          public void onComplete(org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile o) {
-            getGroupResourceProfile_result result = new getGroupResourceProfile_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          public void onComplete(java.lang.String o) {
+            registerReplicaLocation_result result = new registerReplicaLocation_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -32838,7 +32612,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getGroupResourceProfile_result result = new getGroupResourceProfile_result();
+            registerReplicaLocation_result result = new registerReplicaLocation_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -32870,27 +32644,26 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getGroupResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile> resultHandler) throws org.apache.thrift.TException {
-        iface.getGroupResourceProfile(args.groupResourceProfileId,resultHandler);
+      public void start(I iface, registerReplicaLocation_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
+        iface.registerReplicaLocation(args.replicaLocationModel,resultHandler);
       }
     }
 
-    public static class removeGroupResourceProfile<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, removeGroupResourceProfile_args, java.lang.Boolean> {
-      public removeGroupResourceProfile() {
-        super("removeGroupResourceProfile");
+    public static class getParentDataProduct<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getParentDataProduct_args, org.apache.airavata.model.data.replica.DataProductModel> {
+      public getParentDataProduct() {
+        super("getParentDataProduct");
       }
 
-      public removeGroupResourceProfile_args getEmptyArgsInstance() {
-        return new removeGroupResourceProfile_args();
+      public getParentDataProduct_args getEmptyArgsInstance() {
+        return new getParentDataProduct_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.replica.DataProductModel> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            removeGroupResourceProfile_result result = new removeGroupResourceProfile_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.replica.DataProductModel>() { 
+          public void onComplete(org.apache.airavata.model.data.replica.DataProductModel o) {
+            getParentDataProduct_result result = new getParentDataProduct_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -32904,7 +32677,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            removeGroupResourceProfile_result result = new removeGroupResourceProfile_result();
+            getParentDataProduct_result result = new getParentDataProduct_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -32936,25 +32709,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, removeGroupResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.removeGroupResourceProfile(args.groupResourceProfileId,resultHandler);
+      public void start(I iface, getParentDataProduct_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.replica.DataProductModel> resultHandler) throws org.apache.thrift.TException {
+        iface.getParentDataProduct(args.productUri,resultHandler);
       }
     }
 
-    public static class getGroupResourceList<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getGroupResourceList_args, java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile>> {
-      public getGroupResourceList() {
-        super("getGroupResourceList");
+    public static class getChildDataProducts<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getChildDataProducts_args, java.util.List<org.apache.airavata.model.data.replica.DataProductModel>> {
+      public getChildDataProducts() {
+        super("getChildDataProducts");
       }
 
-      public getGroupResourceList_args getEmptyArgsInstance() {
-        return new getGroupResourceList_args();
+      public getChildDataProducts_args getEmptyArgsInstance() {
+        return new getChildDataProducts_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.data.replica.DataProductModel>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile>>() { 
-          public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile> o) {
-            getGroupResourceList_result result = new getGroupResourceList_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.data.replica.DataProductModel>>() { 
+          public void onComplete(java.util.List<org.apache.airavata.model.data.replica.DataProductModel> o) {
+            getChildDataProducts_result result = new getChildDataProducts_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -32969,7 +32742,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getGroupResourceList_result result = new getGroupResourceList_result();
+            getChildDataProducts_result result = new getChildDataProducts_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -33001,27 +32774,26 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getGroupResourceList_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile>> resultHandler) throws org.apache.thrift.TException {
-        iface.getGroupResourceList(args.gatewayId, args.accessibleGroupResProfileIds,resultHandler);
+      public void start(I iface, getChildDataProducts_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.data.replica.DataProductModel>> resultHandler) throws org.apache.thrift.TException {
+        iface.getChildDataProducts(args.productUri,resultHandler);
       }
     }
 
-    public static class removeGroupComputePrefs<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, removeGroupComputePrefs_args, java.lang.Boolean> {
-      public removeGroupComputePrefs() {
-        super("removeGroupComputePrefs");
+    public static class searchDataProductsByName<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, searchDataProductsByName_args, java.util.List<org.apache.airavata.model.data.replica.DataProductModel>> {
+      public searchDataProductsByName() {
+        super("searchDataProductsByName");
       }
 
-      public removeGroupComputePrefs_args getEmptyArgsInstance() {
-        return new removeGroupComputePrefs_args();
+      public searchDataProductsByName_args getEmptyArgsInstance() {
+        return new searchDataProductsByName_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.data.replica.DataProductModel>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            removeGroupComputePrefs_result result = new removeGroupComputePrefs_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.data.replica.DataProductModel>>() { 
+          public void onComplete(java.util.List<org.apache.airavata.model.data.replica.DataProductModel> o) {
+            searchDataProductsByName_result result = new searchDataProductsByName_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -33035,7 +32807,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            removeGroupComputePrefs_result result = new removeGroupComputePrefs_result();
+            searchDataProductsByName_result result = new searchDataProductsByName_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -33067,27 +32839,26 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, removeGroupComputePrefs_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.removeGroupComputePrefs(args.computeResourceId, args.groupResourceProfileId,resultHandler);
+      public void start(I iface, searchDataProductsByName_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.data.replica.DataProductModel>> resultHandler) throws org.apache.thrift.TException {
+        iface.searchDataProductsByName(args.gatewayId, args.userId, args.productName, args.limit, args.offset,resultHandler);
       }
     }
 
-    public static class removeGroupComputeResourcePolicy<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, removeGroupComputeResourcePolicy_args, java.lang.Boolean> {
-      public removeGroupComputeResourcePolicy() {
-        super("removeGroupComputeResourcePolicy");
+    public static class createGroupResourceProfile<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, createGroupResourceProfile_args, java.lang.String> {
+      public createGroupResourceProfile() {
+        super("createGroupResourceProfile");
       }
 
-      public removeGroupComputeResourcePolicy_args getEmptyArgsInstance() {
-        return new removeGroupComputeResourcePolicy_args();
+      public createGroupResourceProfile_args getEmptyArgsInstance() {
+        return new createGroupResourceProfile_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            removeGroupComputeResourcePolicy_result result = new removeGroupComputeResourcePolicy_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          public void onComplete(java.lang.String o) {
+            createGroupResourceProfile_result result = new createGroupResourceProfile_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -33101,7 +32872,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            removeGroupComputeResourcePolicy_result result = new removeGroupComputeResourcePolicy_result();
+            createGroupResourceProfile_result result = new createGroupResourceProfile_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -33133,27 +32904,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, removeGroupComputeResourcePolicy_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.removeGroupComputeResourcePolicy(args.resourcePolicyId,resultHandler);
+      public void start(I iface, createGroupResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
+        iface.createGroupResourceProfile(args.groupResourceProfile,resultHandler);
       }
     }
 
-    public static class removeGroupBatchQueueResourcePolicy<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, removeGroupBatchQueueResourcePolicy_args, java.lang.Boolean> {
-      public removeGroupBatchQueueResourcePolicy() {
-        super("removeGroupBatchQueueResourcePolicy");
+    public static class updateGroupResourceProfile<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateGroupResourceProfile_args, Void> {
+      public updateGroupResourceProfile() {
+        super("updateGroupResourceProfile");
       }
 
-      public removeGroupBatchQueueResourcePolicy_args getEmptyArgsInstance() {
-        return new removeGroupBatchQueueResourcePolicy_args();
+      public updateGroupResourceProfile_args getEmptyArgsInstance() {
+        return new updateGroupResourceProfile_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            removeGroupBatchQueueResourcePolicy_result result = new removeGroupBatchQueueResourcePolicy_result();
-            result.success = o;
-            result.setSuccessIsSet(true);
+        return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
+          public void onComplete(Void o) {
+            updateGroupResourceProfile_result result = new updateGroupResourceProfile_result();
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -33167,7 +32936,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            removeGroupBatchQueueResourcePolicy_result result = new removeGroupBatchQueueResourcePolicy_result();
+            updateGroupResourceProfile_result result = new updateGroupResourceProfile_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -33199,25 +32968,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, removeGroupBatchQueueResourcePolicy_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.removeGroupBatchQueueResourcePolicy(args.resourcePolicyId,resultHandler);
+      public void start(I iface, updateGroupResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
+        iface.updateGroupResourceProfile(args.groupResourceProfile,resultHandler);
       }
     }
 
-    public static class getGroupComputeResourcePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getGroupComputeResourcePreference_args, org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference> {
-      public getGroupComputeResourcePreference() {
-        super("getGroupComputeResourcePreference");
+    public static class getGroupResourceProfile<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getGroupResourceProfile_args, org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile> {
+      public getGroupResourceProfile() {
+        super("getGroupResourceProfile");
       }
 
-      public getGroupComputeResourcePreference_args getEmptyArgsInstance() {
-        return new getGroupComputeResourcePreference_args();
+      public getGroupResourceProfile_args getEmptyArgsInstance() {
+        return new getGroupResourceProfile_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference>() { 
-          public void onComplete(org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference o) {
-            getGroupComputeResourcePreference_result result = new getGroupComputeResourcePreference_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile>() { 
+          public void onComplete(org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile o) {
+            getGroupResourceProfile_result result = new getGroupResourceProfile_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -33232,7 +33001,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getGroupComputeResourcePreference_result result = new getGroupComputeResourcePreference_result();
+            getGroupResourceProfile_result result = new getGroupResourceProfile_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -33264,26 +33033,27 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getGroupComputeResourcePreference_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference> resultHandler) throws org.apache.thrift.TException {
-        iface.getGroupComputeResourcePreference(args.computeResourceId, args.groupResourceProfileId,resultHandler);
+      public void start(I iface, getGroupResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile> resultHandler) throws org.apache.thrift.TException {
+        iface.getGroupResourceProfile(args.groupResourceProfileId,resultHandler);
       }
     }
 
-    public static class getGroupComputeResourcePolicy<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getGroupComputeResourcePolicy_args, org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy> {
-      public getGroupComputeResourcePolicy() {
-        super("getGroupComputeResourcePolicy");
+    public static class removeGroupResourceProfile<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, removeGroupResourceProfile_args, java.lang.Boolean> {
+      public removeGroupResourceProfile() {
+        super("removeGroupResourceProfile");
       }
 
-      public getGroupComputeResourcePolicy_args getEmptyArgsInstance() {
-        return new getGroupComputeResourcePolicy_args();
+      public removeGroupResourceProfile_args getEmptyArgsInstance() {
+        return new removeGroupResourceProfile_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy>() { 
-          public void onComplete(org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy o) {
-            getGroupComputeResourcePolicy_result result = new getGroupComputeResourcePolicy_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            removeGroupResourceProfile_result result = new removeGroupResourceProfile_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -33297,7 +33067,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getGroupComputeResourcePolicy_result result = new getGroupComputeResourcePolicy_result();
+            removeGroupResourceProfile_result result = new removeGroupResourceProfile_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -33329,25 +33099,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getGroupComputeResourcePolicy_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy> resultHandler) throws org.apache.thrift.TException {
-        iface.getGroupComputeResourcePolicy(args.resourcePolicyId,resultHandler);
+      public void start(I iface, removeGroupResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.removeGroupResourceProfile(args.groupResourceProfileId,resultHandler);
       }
     }
 
-    public static class getBatchQueueResourcePolicy<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getBatchQueueResourcePolicy_args, org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy> {
-      public getBatchQueueResourcePolicy() {
-        super("getBatchQueueResourcePolicy");
+    public static class getGroupResourceList<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getGroupResourceList_args, java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile>> {
+      public getGroupResourceList() {
+        super("getGroupResourceList");
       }
 
-      public getBatchQueueResourcePolicy_args getEmptyArgsInstance() {
-        return new getBatchQueueResourcePolicy_args();
+      public getGroupResourceList_args getEmptyArgsInstance() {
+        return new getGroupResourceList_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy>() { 
-          public void onComplete(org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy o) {
-            getBatchQueueResourcePolicy_result result = new getBatchQueueResourcePolicy_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile>>() { 
+          public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile> o) {
+            getGroupResourceList_result result = new getGroupResourceList_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -33362,7 +33132,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getBatchQueueResourcePolicy_result result = new getBatchQueueResourcePolicy_result();
+            getGroupResourceList_result result = new getGroupResourceList_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -33394,26 +33164,27 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getBatchQueueResourcePolicy_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy> resultHandler) throws org.apache.thrift.TException {
-        iface.getBatchQueueResourcePolicy(args.resourcePolicyId,resultHandler);
+      public void start(I iface, getGroupResourceList_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile>> resultHandler) throws org.apache.thrift.TException {
+        iface.getGroupResourceList(args.gatewayId, args.accessibleGroupResProfileIds,resultHandler);
       }
     }
 
-    public static class getGroupComputeResourcePrefList<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getGroupComputeResourcePrefList_args, java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference>> {
-      public getGroupComputeResourcePrefList() {
-        super("getGroupComputeResourcePrefList");
+    public static class removeGroupComputePrefs<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, removeGroupComputePrefs_args, java.lang.Boolean> {
+      public removeGroupComputePrefs() {
+        super("removeGroupComputePrefs");
       }
 
-      public getGroupComputeResourcePrefList_args getEmptyArgsInstance() {
-        return new getGroupComputeResourcePrefList_args();
+      public removeGroupComputePrefs_args getEmptyArgsInstance() {
+        return new removeGroupComputePrefs_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference>>() { 
-          public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference> o) {
-            getGroupComputeResourcePrefList_result result = new getGroupComputeResourcePrefList_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            removeGroupComputePrefs_result result = new removeGroupComputePrefs_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -33427,7 +33198,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getGroupComputeResourcePrefList_result result = new getGroupComputeResourcePrefList_result();
+            removeGroupComputePrefs_result result = new removeGroupComputePrefs_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -33459,26 +33230,27 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getGroupComputeResourcePrefList_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference>> resultHandler) throws org.apache.thrift.TException {
-        iface.getGroupComputeResourcePrefList(args.groupResourceProfileId,resultHandler);
+      public void start(I iface, removeGroupComputePrefs_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.removeGroupComputePrefs(args.computeResourceId, args.groupResourceProfileId,resultHandler);
       }
     }
 
-    public static class getGroupBatchQueueResourcePolicyList<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getGroupBatchQueueResourcePolicyList_args, java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy>> {
-      public getGroupBatchQueueResourcePolicyList() {
-        super("getGroupBatchQueueResourcePolicyList");
+    public static class removeGroupComputeResourcePolicy<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, removeGroupComputeResourcePolicy_args, java.lang.Boolean> {
+      public removeGroupComputeResourcePolicy() {
+        super("removeGroupComputeResourcePolicy");
       }
 
-      public getGroupBatchQueueResourcePolicyList_args getEmptyArgsInstance() {
-        return new getGroupBatchQueueResourcePolicyList_args();
+      public removeGroupComputeResourcePolicy_args getEmptyArgsInstance() {
+        return new removeGroupComputeResourcePolicy_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy>>() { 
-          public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy> o) {
-            getGroupBatchQueueResourcePolicyList_result result = new getGroupBatchQueueResourcePolicyList_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            removeGroupComputeResourcePolicy_result result = new removeGroupComputeResourcePolicy_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -33492,7 +33264,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getGroupBatchQueueResourcePolicyList_result result = new getGroupBatchQueueResourcePolicyList_result();
+            removeGroupComputeResourcePolicy_result result = new removeGroupComputeResourcePolicy_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -33524,26 +33296,27 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getGroupBatchQueueResourcePolicyList_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy>> resultHandler) throws org.apache.thrift.TException {
-        iface.getGroupBatchQueueResourcePolicyList(args.groupResourceProfileId,resultHandler);
+      public void start(I iface, removeGroupComputeResourcePolicy_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.removeGroupComputeResourcePolicy(args.resourcePolicyId,resultHandler);
       }
     }
 
-    public static class getGroupComputeResourcePolicyList<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getGroupComputeResourcePolicyList_args, java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy>> {
-      public getGroupComputeResourcePolicyList() {
-        super("getGroupComputeResourcePolicyList");
+    public static class removeGroupBatchQueueResourcePolicy<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, removeGroupBatchQueueResourcePolicy_args, java.lang.Boolean> {
+      public removeGroupBatchQueueResourcePolicy() {
+        super("removeGroupBatchQueueResourcePolicy");
       }
 
-      public getGroupComputeResourcePolicyList_args getEmptyArgsInstance() {
-        return new getGroupComputeResourcePolicyList_args();
+      public removeGroupBatchQueueResourcePolicy_args getEmptyArgsInstance() {
+        return new removeGroupBatchQueueResourcePolicy_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy>>() { 
-          public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy> o) {
-            getGroupComputeResourcePolicyList_result result = new getGroupComputeResourcePolicyList_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            removeGroupBatchQueueResourcePolicy_result result = new removeGroupBatchQueueResourcePolicy_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -33557,7 +33330,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getGroupComputeResourcePolicyList_result result = new getGroupComputeResourcePolicyList_result();
+            removeGroupBatchQueueResourcePolicy_result result = new removeGroupBatchQueueResourcePolicy_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -33589,25 +33362,26 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getGroupComputeResourcePolicyList_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy>> resultHandler) throws org.apache.thrift.TException {
-        iface.getGroupComputeResourcePolicyList(args.groupResourceProfileId,resultHandler);
+      public void start(I iface, removeGroupBatchQueueResourcePolicy_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.removeGroupBatchQueueResourcePolicy(args.resourcePolicyId,resultHandler);
       }
     }
 
-    public static class createGatewayGroups<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, createGatewayGroups_args, Void> {
-      public createGatewayGroups() {
-        super("createGatewayGroups");
+    public static class getGroupComputeResourcePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getGroupComputeResourcePreference_args, org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference> {
+      public getGroupComputeResourcePreference() {
+        super("getGroupComputeResourcePreference");
       }
 
-      public createGatewayGroups_args getEmptyArgsInstance() {
-        return new createGatewayGroups_args();
+      public getGroupComputeResourcePreference_args getEmptyArgsInstance() {
+        return new getGroupComputeResourcePreference_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
-          public void onComplete(Void o) {
-            createGatewayGroups_result result = new createGatewayGroups_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference>() { 
+          public void onComplete(org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference o) {
+            getGroupComputeResourcePreference_result result = new getGroupComputeResourcePreference_result();
+            result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -33621,15 +33395,11 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            createGatewayGroups_result result = new createGatewayGroups_result();
+            getGroupComputeResourcePreference_result result = new getGroupComputeResourcePreference_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
               msg = result;
-            } else if (e instanceof org.apache.airavata.model.error.DuplicateEntryException) {
-              result.dee = (org.apache.airavata.model.error.DuplicateEntryException) e;
-              result.setDeeIsSet(true);
-              msg = result;
             } else if (e instanceof org.apache.thrift.transport.TTransportException) {
               _LOGGER.error("TTransportException inside handler", e);
               fb.close();
@@ -33657,25 +33427,26 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, createGatewayGroups_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
-        iface.createGatewayGroups(args.gatewayGroups,resultHandler);
+      public void start(I iface, getGroupComputeResourcePreference_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference> resultHandler) throws org.apache.thrift.TException {
+        iface.getGroupComputeResourcePreference(args.computeResourceId, args.groupResourceProfileId,resultHandler);
       }
     }
 
-    public static class updateGatewayGroups<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateGatewayGroups_args, Void> {
-      public updateGatewayGroups() {
-        super("updateGatewayGroups");
+    public static class getGroupComputeResourcePolicy<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getGroupComputeResourcePolicy_args, org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy> {
+      public getGroupComputeResourcePolicy() {
+        super("getGroupComputeResourcePolicy");
       }
 
-      public updateGatewayGroups_args getEmptyArgsInstance() {
-        return new updateGatewayGroups_args();
+      public getGroupComputeResourcePolicy_args getEmptyArgsInstance() {
+        return new getGroupComputeResourcePolicy_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
-          public void onComplete(Void o) {
-            updateGatewayGroups_result result = new updateGatewayGroups_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy>() { 
+          public void onComplete(org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy o) {
+            getGroupComputeResourcePolicy_result result = new getGroupComputeResourcePolicy_result();
+            result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -33689,7 +33460,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            updateGatewayGroups_result result = new updateGatewayGroups_result();
+            getGroupComputeResourcePolicy_result result = new getGroupComputeResourcePolicy_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -33721,27 +33492,26 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, updateGatewayGroups_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
-        iface.updateGatewayGroups(args.gatewayGroups,resultHandler);
+      public void start(I iface, getGroupComputeResourcePolicy_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy> resultHandler) throws org.apache.thrift.TException {
+        iface.getGroupComputeResourcePolicy(args.resourcePolicyId,resultHandler);
       }
     }
 
-    public static class isGatewayGroupsExists<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, isGatewayGroupsExists_args, java.lang.Boolean> {
-      public isGatewayGroupsExists() {
-        super("isGatewayGroupsExists");
+    public static class getBatchQueueResourcePolicy<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getBatchQueueResourcePolicy_args, org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy> {
+      public getBatchQueueResourcePolicy() {
+        super("getBatchQueueResourcePolicy");
       }
 
-      public isGatewayGroupsExists_args getEmptyArgsInstance() {
-        return new isGatewayGroupsExists_args();
+      public getBatchQueueResourcePolicy_args getEmptyArgsInstance() {
+        return new getBatchQueueResourcePolicy_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            isGatewayGroupsExists_result result = new isGatewayGroupsExists_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy>() { 
+          public void onComplete(org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy o) {
+            getBatchQueueResourcePolicy_result result = new getBatchQueueResourcePolicy_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -33755,7 +33525,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            isGatewayGroupsExists_result result = new isGatewayGroupsExists_result();
+            getBatchQueueResourcePolicy_result result = new getBatchQueueResourcePolicy_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -33787,25 +33557,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, isGatewayGroupsExists_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.isGatewayGroupsExists(args.gatewayId,resultHandler);
+      public void start(I iface, getBatchQueueResourcePolicy_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy> resultHandler) throws org.apache.thrift.TException {
+        iface.getBatchQueueResourcePolicy(args.resourcePolicyId,resultHandler);
       }
     }
 
-    public static class getGatewayGroups<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getGatewayGroups_args, org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups> {
-      public getGatewayGroups() {
-        super("getGatewayGroups");
+    public static class getGroupComputeResourcePrefList<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getGroupComputeResourcePrefList_args, java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference>> {
+      public getGroupComputeResourcePrefList() {
+        super("getGroupComputeResourcePrefList");
       }
 
-      public getGatewayGroups_args getEmptyArgsInstance() {
-        return new getGatewayGroups_args();
+      public getGroupComputeResourcePrefList_args getEmptyArgsInstance() {
+        return new getGroupComputeResourcePrefList_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups>() { 
-          public void onComplete(org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups o) {
-            getGatewayGroups_result result = new getGatewayGroups_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference>>() { 
+          public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference> o) {
+            getGroupComputeResourcePrefList_result result = new getGroupComputeResourcePrefList_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -33820,7 +33590,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getGatewayGroups_result result = new getGatewayGroups_result();
+            getGroupComputeResourcePrefList_result result = new getGroupComputeResourcePrefList_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -33852,25 +33622,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getGatewayGroups_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups> resultHandler) throws org.apache.thrift.TException {
-        iface.getGatewayGroups(args.gatewayId,resultHandler);
+      public void start(I iface, getGroupComputeResourcePrefList_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference>> resultHandler) throws org.apache.thrift.TException {
+        iface.getGroupComputeResourcePrefList(args.groupResourceProfileId,resultHandler);
       }
     }
 
-    public static class getParser<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getParser_args, org.apache.airavata.model.appcatalog.parser.Parser> {
-      public getParser() {
-        super("getParser");
+    public static class getGroupBatchQueueResourcePolicyList<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getGroupBatchQueueResourcePolicyList_args, java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy>> {
+      public getGroupBatchQueueResourcePolicyList() {
+        super("getGroupBatchQueueResourcePolicyList");
       }
 
-      public getParser_args getEmptyArgsInstance() {
-        return new getParser_args();
+      public getGroupBatchQueueResourcePolicyList_args getEmptyArgsInstance() {
+        return new getGroupBatchQueueResourcePolicyList_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.parser.Parser> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.parser.Parser>() { 
-          public void onComplete(org.apache.airavata.model.appcatalog.parser.Parser o) {
-            getParser_result result = new getParser_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy>>() { 
+          public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy> o) {
+            getGroupBatchQueueResourcePolicyList_result result = new getGroupBatchQueueResourcePolicyList_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -33885,7 +33655,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getParser_result result = new getParser_result();
+            getGroupBatchQueueResourcePolicyList_result result = new getGroupBatchQueueResourcePolicyList_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -33917,25 +33687,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getParser_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.parser.Parser> resultHandler) throws org.apache.thrift.TException {
-        iface.getParser(args.parserId, args.gatewayId,resultHandler);
+      public void start(I iface, getGroupBatchQueueResourcePolicyList_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy>> resultHandler) throws org.apache.thrift.TException {
+        iface.getGroupBatchQueueResourcePolicyList(args.groupResourceProfileId,resultHandler);
       }
     }
 
-    public static class saveParser<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, saveParser_args, java.lang.String> {
-      public saveParser() {
-        super("saveParser");
+    public static class getGroupComputeResourcePolicyList<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getGroupComputeResourcePolicyList_args, java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy>> {
+      public getGroupComputeResourcePolicyList() {
+        super("getGroupComputeResourcePolicyList");
       }
 
-      public saveParser_args getEmptyArgsInstance() {
-        return new saveParser_args();
+      public getGroupComputeResourcePolicyList_args getEmptyArgsInstance() {
+        return new getGroupComputeResourcePolicyList_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
-          public void onComplete(java.lang.String o) {
-            saveParser_result result = new saveParser_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy>>() { 
+          public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy> o) {
+            getGroupComputeResourcePolicyList_result result = new getGroupComputeResourcePolicyList_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -33950,7 +33720,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            saveParser_result result = new saveParser_result();
+            getGroupComputeResourcePolicyList_result result = new getGroupComputeResourcePolicyList_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -33982,26 +33752,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, saveParser_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
-        iface.saveParser(args.parser,resultHandler);
+      public void start(I iface, getGroupComputeResourcePolicyList_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy>> resultHandler) throws org.apache.thrift.TException {
+        iface.getGroupComputeResourcePolicyList(args.groupResourceProfileId,resultHandler);
       }
     }
 
-    public static class listAllParsers<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, listAllParsers_args, java.util.List<org.apache.airavata.model.appcatalog.parser.Parser>> {
-      public listAllParsers() {
-        super("listAllParsers");
+    public static class createGatewayGroups<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, createGatewayGroups_args, Void> {
+      public createGatewayGroups() {
+        super("createGatewayGroups");
       }
 
-      public listAllParsers_args getEmptyArgsInstance() {
-        return new listAllParsers_args();
+      public createGatewayGroups_args getEmptyArgsInstance() {
+        return new createGatewayGroups_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.parser.Parser>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.parser.Parser>>() { 
-          public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.parser.Parser> o) {
-            listAllParsers_result result = new listAllParsers_result();
-            result.success = o;
+        return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
+          public void onComplete(Void o) {
+            createGatewayGroups_result result = new createGatewayGroups_result();
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -34015,11 +33784,15 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            listAllParsers_result result = new listAllParsers_result();
+            createGatewayGroups_result result = new createGatewayGroups_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
               msg = result;
+            } else if (e instanceof org.apache.airavata.model.error.DuplicateEntryException) {
+              result.dee = (org.apache.airavata.model.error.DuplicateEntryException) e;
+              result.setDeeIsSet(true);
+              msg = result;
             } else if (e instanceof org.apache.thrift.transport.TTransportException) {
               _LOGGER.error("TTransportException inside handler", e);
               fb.close();
@@ -34047,25 +33820,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, listAllParsers_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.parser.Parser>> resultHandler) throws org.apache.thrift.TException {
-        iface.listAllParsers(args.gatewayId,resultHandler);
+      public void start(I iface, createGatewayGroups_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
+        iface.createGatewayGroups(args.gatewayGroups,resultHandler);
       }
     }
 
-    public static class removeParser<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, removeParser_args, Void> {
-      public removeParser() {
-        super("removeParser");
+    public static class updateGatewayGroups<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateGatewayGroups_args, Void> {
+      public updateGatewayGroups() {
+        super("updateGatewayGroups");
       }
 
-      public removeParser_args getEmptyArgsInstance() {
-        return new removeParser_args();
+      public updateGatewayGroups_args getEmptyArgsInstance() {
+        return new updateGatewayGroups_args();
       }
 
       public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
           public void onComplete(Void o) {
-            removeParser_result result = new removeParser_result();
+            updateGatewayGroups_result result = new updateGatewayGroups_result();
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -34079,7 +33852,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            removeParser_result result = new removeParser_result();
+            updateGatewayGroups_result result = new updateGatewayGroups_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -34111,26 +33884,27 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, removeParser_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
-        iface.removeParser(args.parserId, args.gatewayId,resultHandler);
+      public void start(I iface, updateGatewayGroups_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
+        iface.updateGatewayGroups(args.gatewayGroups,resultHandler);
       }
     }
 
-    public static class getParserInput<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getParserInput_args, org.apache.airavata.model.appcatalog.parser.ParserInput> {
-      public getParserInput() {
-        super("getParserInput");
+    public static class isGatewayGroupsExists<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, isGatewayGroupsExists_args, java.lang.Boolean> {
+      public isGatewayGroupsExists() {
+        super("isGatewayGroupsExists");
       }
 
-      public getParserInput_args getEmptyArgsInstance() {
-        return new getParserInput_args();
+      public isGatewayGroupsExists_args getEmptyArgsInstance() {
+        return new isGatewayGroupsExists_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.parser.ParserInput> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.parser.ParserInput>() { 
-          public void onComplete(org.apache.airavata.model.appcatalog.parser.ParserInput o) {
-            getParserInput_result result = new getParserInput_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            isGatewayGroupsExists_result result = new isGatewayGroupsExists_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -34144,7 +33918,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getParserInput_result result = new getParserInput_result();
+            isGatewayGroupsExists_result result = new isGatewayGroupsExists_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -34176,25 +33950,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getParserInput_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.parser.ParserInput> resultHandler) throws org.apache.thrift.TException {
-        iface.getParserInput(args.parserInputId, args.gatewayId,resultHandler);
+      public void start(I iface, isGatewayGroupsExists_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.isGatewayGroupsExists(args.gatewayId,resultHandler);
       }
     }
 
-    public static class getParserOutput<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getParserOutput_args, org.apache.airavata.model.appcatalog.parser.ParserOutput> {
-      public getParserOutput() {
-        super("getParserOutput");
+    public static class getGatewayGroups<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getGatewayGroups_args, org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups> {
+      public getGatewayGroups() {
+        super("getGatewayGroups");
       }
 
-      public getParserOutput_args getEmptyArgsInstance() {
-        return new getParserOutput_args();
+      public getGatewayGroups_args getEmptyArgsInstance() {
+        return new getGatewayGroups_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.parser.ParserOutput> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.parser.ParserOutput>() { 
-          public void onComplete(org.apache.airavata.model.appcatalog.parser.ParserOutput o) {
-            getParserOutput_result result = new getParserOutput_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups>() { 
+          public void onComplete(org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups o) {
+            getGatewayGroups_result result = new getGatewayGroups_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -34209,7 +33983,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getParserOutput_result result = new getParserOutput_result();
+            getGatewayGroups_result result = new getGatewayGroups_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -34241,25 +34015,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getParserOutput_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.parser.ParserOutput> resultHandler) throws org.apache.thrift.TException {
-        iface.getParserOutput(args.parserOutputId, args.gatewayId,resultHandler);
+      public void start(I iface, getGatewayGroups_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups> resultHandler) throws org.apache.thrift.TException {
+        iface.getGatewayGroups(args.gatewayId,resultHandler);
       }
     }
 
-    public static class getParsingTemplate<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getParsingTemplate_args, org.apache.airavata.model.appcatalog.parser.ParsingTemplate> {
-      public getParsingTemplate() {
-        super("getParsingTemplate");
+    public static class getParser<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getParser_args, org.apache.airavata.model.appcatalog.parser.Parser> {
+      public getParser() {
+        super("getParser");
       }
 
-      public getParsingTemplate_args getEmptyArgsInstance() {
-        return new getParsingTemplate_args();
+      public getParser_args getEmptyArgsInstance() {
+        return new getParser_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.parser.ParsingTemplate> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.parser.Parser> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.parser.ParsingTemplate>() { 
-          public void onComplete(org.apache.airavata.model.appcatalog.parser.ParsingTemplate o) {
-            getParsingTemplate_result result = new getParsingTemplate_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.parser.Parser>() { 
+          public void onComplete(org.apache.airavata.model.appcatalog.parser.Parser o) {
+            getParser_result result = new getParser_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -34274,7 +34048,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getParsingTemplate_result result = new getParsingTemplate_result();
+            getParser_result result = new getParser_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -34306,25 +34080,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getParsingTemplate_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.parser.ParsingTemplate> resultHandler) throws org.apache.thrift.TException {
-        iface.getParsingTemplate(args.templateId, args.gatewayId,resultHandler);
+      public void start(I iface, getParser_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.parser.Parser> resultHandler) throws org.apache.thrift.TException {
+        iface.getParser(args.parserId, args.gatewayId,resultHandler);
       }
     }
 
-    public static class getParsingTemplatesForExperiment<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getParsingTemplatesForExperiment_args, java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate>> {
-      public getParsingTemplatesForExperiment() {
-        super("getParsingTemplatesForExperiment");
+    public static class saveParser<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, saveParser_args, java.lang.String> {
+      public saveParser() {
+        super("saveParser");
       }
 
-      public getParsingTemplatesForExperiment_args getEmptyArgsInstance() {
-        return new getParsingTemplatesForExperiment_args();
+      public saveParser_args getEmptyArgsInstance() {
+        return new saveParser_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate>>() { 
-          public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate> o) {
-            getParsingTemplatesForExperiment_result result = new getParsingTemplatesForExperiment_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          public void onComplete(java.lang.String o) {
+            saveParser_result result = new saveParser_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -34339,7 +34113,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getParsingTemplatesForExperiment_result result = new getParsingTemplatesForExperiment_result();
+            saveParser_result result = new saveParser_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -34371,25 +34145,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getParsingTemplatesForExperiment_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate>> resultHandler) throws org.apache.thrift.TException {
-        iface.getParsingTemplatesForExperiment(args.experimentId, args.gatewayId,resultHandler);
+      public void start(I iface, saveParser_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
+        iface.saveParser(args.parser,resultHandler);
       }
     }
 
-    public static class saveParsingTemplate<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, saveParsingTemplate_args, java.lang.String> {
-      public saveParsingTemplate() {
-        super("saveParsingTemplate");
+    public static class listAllParsers<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, listAllParsers_args, java.util.List<org.apache.airavata.model.appcatalog.parser.Parser>> {
+      public listAllParsers() {
+        super("listAllParsers");
       }
 
-      public saveParsingTemplate_args getEmptyArgsInstance() {
-        return new saveParsingTemplate_args();
+      public listAllParsers_args getEmptyArgsInstance() {
+        return new listAllParsers_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.parser.Parser>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
-          public void onComplete(java.lang.String o) {
-            saveParsingTemplate_result result = new saveParsingTemplate_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.parser.Parser>>() { 
+          public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.parser.Parser> o) {
+            listAllParsers_result result = new listAllParsers_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -34404,7 +34178,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            saveParsingTemplate_result result = new saveParsingTemplate_result();
+            listAllParsers_result result = new listAllParsers_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -34436,26 +34210,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, saveParsingTemplate_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
-        iface.saveParsingTemplate(args.parsingTemplate,resultHandler);
+      public void start(I iface, listAllParsers_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.parser.Parser>> resultHandler) throws org.apache.thrift.TException {
+        iface.listAllParsers(args.gatewayId,resultHandler);
       }
     }
 
-    public static class listAllParsingTemplates<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, listAllParsingTemplates_args, java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate>> {
-      public listAllParsingTemplates() {
-        super("listAllParsingTemplates");
+    public static class removeParser<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, removeParser_args, Void> {
+      public removeParser() {
+        super("removeParser");
       }
 
-      public listAllParsingTemplates_args getEmptyArgsInstance() {
-        return new listAllParsingTemplates_args();
+      public removeParser_args getEmptyArgsInstance() {
+        return new removeParser_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate>>() { 
-          public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate> o) {
-            listAllParsingTemplates_result result = new listAllParsingTemplates_result();
-            result.success = o;
+        return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
+          public void onComplete(Void o) {
+            removeParser_result result = new removeParser_result();
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -34469,7 +34242,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            listAllParsingTemplates_result result = new listAllParsingTemplates_result();
+            removeParser_result result = new removeParser_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -34501,25 +34274,26 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, listAllParsingTemplates_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate>> resultHandler) throws org.apache.thrift.TException {
-        iface.listAllParsingTemplates(args.gatewayId,resultHandler);
+      public void start(I iface, removeParser_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
+        iface.removeParser(args.parserId, args.gatewayId,resultHandler);
       }
     }
 
-    public static class removeParsingTemplate<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, removeParsingTemplate_args, Void> {
-      public removeParsingTemplate() {
-        super("removeParsingTemplate");
+    public static class getParserInput<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getParserInput_args, org.apache.airavata.model.appcatalog.parser.ParserInput> {
+      public getParserInput() {
+        super("getParserInput");
       }
 
-      public removeParsingTemplate_args getEmptyArgsInstance() {
-        return new removeParsingTemplate_args();
+      public getParserInput_args getEmptyArgsInstance() {
+        return new getParserInput_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.parser.ParserInput> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
-          public void onComplete(Void o) {
-            removeParsingTemplate_result result = new removeParsingTemplate_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.parser.ParserInput>() { 
+          public void onComplete(org.apache.airavata.model.appcatalog.parser.ParserInput o) {
+            getParserInput_result result = new getParserInput_result();
+            result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -34533,7 +34307,396 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            removeParsingTemplate_result result = new removeParsingTemplate_result();
+            getParserInput_result result = new getParserInput_result();
+            if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
+              result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
+              result.setRseIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
+            }
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, getParserInput_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.parser.ParserInput> resultHandler) throws org.apache.thrift.TException {
+        iface.getParserInput(args.parserInputId, args.gatewayId,resultHandler);
+      }
+    }
+
+    public static class getParserOutput<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getParserOutput_args, org.apache.airavata.model.appcatalog.parser.ParserOutput> {
+      public getParserOutput() {
+        super("getParserOutput");
+      }
+
+      public getParserOutput_args getEmptyArgsInstance() {
+        return new getParserOutput_args();
+      }
+
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.parser.ParserOutput> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.parser.ParserOutput>() { 
+          public void onComplete(org.apache.airavata.model.appcatalog.parser.ParserOutput o) {
+            getParserOutput_result result = new getParserOutput_result();
+            result.success = o;
+            try {
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
+            }
+          }
+          public void onError(java.lang.Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TSerializable msg;
+            getParserOutput_result result = new getParserOutput_result();
+            if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
+              result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
+              result.setRseIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
+            }
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, getParserOutput_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.parser.ParserOutput> resultHandler) throws org.apache.thrift.TException {
+        iface.getParserOutput(args.parserOutputId, args.gatewayId,resultHandler);
+      }
+    }
+
+    public static class getParsingTemplate<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getParsingTemplate_args, org.apache.airavata.model.appcatalog.parser.ParsingTemplate> {
+      public getParsingTemplate() {
+        super("getParsingTemplate");
+      }
+
+      public getParsingTemplate_args getEmptyArgsInstance() {
+        return new getParsingTemplate_args();
+      }
+
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.parser.ParsingTemplate> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.parser.ParsingTemplate>() { 
+          public void onComplete(org.apache.airavata.model.appcatalog.parser.ParsingTemplate o) {
+            getParsingTemplate_result result = new getParsingTemplate_result();
+            result.success = o;
+            try {
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
+            }
+          }
+          public void onError(java.lang.Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TSerializable msg;
+            getParsingTemplate_result result = new getParsingTemplate_result();
+            if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
+              result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
+              result.setRseIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
+            }
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, getParsingTemplate_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.parser.ParsingTemplate> resultHandler) throws org.apache.thrift.TException {
+        iface.getParsingTemplate(args.templateId, args.gatewayId,resultHandler);
+      }
+    }
+
+    public static class getParsingTemplatesForExperiment<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getParsingTemplatesForExperiment_args, java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate>> {
+      public getParsingTemplatesForExperiment() {
+        super("getParsingTemplatesForExperiment");
+      }
+
+      public getParsingTemplatesForExperiment_args getEmptyArgsInstance() {
+        return new getParsingTemplatesForExperiment_args();
+      }
+
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate>>() { 
+          public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate> o) {
+            getParsingTemplatesForExperiment_result result = new getParsingTemplatesForExperiment_result();
+            result.success = o;
+            try {
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
+            }
+          }
+          public void onError(java.lang.Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TSerializable msg;
+            getParsingTemplatesForExperiment_result result = new getParsingTemplatesForExperiment_result();
+            if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
+              result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
+              result.setRseIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
+            }
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, getParsingTemplatesForExperiment_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate>> resultHandler) throws org.apache.thrift.TException {
+        iface.getParsingTemplatesForExperiment(args.experimentId, args.gatewayId,resultHandler);
+      }
+    }
+
+    public static class saveParsingTemplate<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, saveParsingTemplate_args, java.lang.String> {
+      public saveParsingTemplate() {
+        super("saveParsingTemplate");
+      }
+
+      public saveParsingTemplate_args getEmptyArgsInstance() {
+        return new saveParsingTemplate_args();
+      }
+
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          public void onComplete(java.lang.String o) {
+            saveParsingTemplate_result result = new saveParsingTemplate_result();
+            result.success = o;
+            try {
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
+            }
+          }
+          public void onError(java.lang.Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TSerializable msg;
+            saveParsingTemplate_result result = new saveParsingTemplate_result();
+            if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
+              result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
+              result.setRseIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
+            }
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, saveParsingTemplate_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
+        iface.saveParsingTemplate(args.parsingTemplate,resultHandler);
+      }
+    }
+
+    public static class listAllParsingTemplates<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, listAllParsingTemplates_args, java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate>> {
+      public listAllParsingTemplates() {
+        super("listAllParsingTemplates");
+      }
+
+      public listAllParsingTemplates_args getEmptyArgsInstance() {
+        return new listAllParsingTemplates_args();
+      }
+
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate>>() { 
+          public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate> o) {
+            listAllParsingTemplates_result result = new listAllParsingTemplates_result();
+            result.success = o;
+            try {
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
+            }
+          }
+          public void onError(java.lang.Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TSerializable msg;
+            listAllParsingTemplates_result result = new listAllParsingTemplates_result();
+            if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
+              result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
+              result.setRseIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
+            }
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, listAllParsingTemplates_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate>> resultHandler) throws org.apache.thrift.TException {
+        iface.listAllParsingTemplates(args.gatewayId,resultHandler);
+      }
+    }
+
+    public static class removeParsingTemplate<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, removeParsingTemplate_args, Void> {
+      public removeParsingTemplate() {
+        super("removeParsingTemplate");
+      }
+
+      public removeParsingTemplate_args getEmptyArgsInstance() {
+        return new removeParsingTemplate_args();
+      }
+
+      public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
+          public void onComplete(Void o) {
+            removeParsingTemplate_result result = new removeParsingTemplate_result();
+            try {
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
+            }
+          }
+          public void onError(java.lang.Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TSerializable msg;
+            removeParsingTemplate_result result = new removeParsingTemplate_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -73086,13 +73249,937 @@ public class RegistryService {
       tmpMap.put(_Fields.RSE, new org.apache.thrift.meta_data.FieldMetaData("rse", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.registry.api.exception.RegistryServiceException.class)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateExperimentStatus_result.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateExperimentStatus_result.class, metaDataMap);
+    }
+
+    public updateExperimentStatus_result() {
+    }
+
+    public updateExperimentStatus_result(
+      org.apache.airavata.registry.api.exception.RegistryServiceException rse)
+    {
+      this();
+      this.rse = rse;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public updateExperimentStatus_result(updateExperimentStatus_result other) {
+      if (other.isSetRse()) {
+        this.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException(other.rse);
+      }
+    }
+
+    public updateExperimentStatus_result deepCopy() {
+      return new updateExperimentStatus_result(this);
+    }
+
+    @Override
+    public void clear() {
+      this.rse = null;
+    }
+
+    public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
+      return this.rse;
+    }
+
+    public updateExperimentStatus_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+      this.rse = rse;
+      return this;
+    }
+
+    public void unsetRse() {
+      this.rse = null;
+    }
+
+    /** Returns true if field rse is set (has been assigned a value) and false otherwise */
+    public boolean isSetRse() {
+      return this.rse != null;
+    }
+
+    public void setRseIsSet(boolean value) {
+      if (!value) {
+        this.rse = null;
+      }
+    }
+
+    public void setFieldValue(_Fields field, java.lang.Object value) {
+      switch (field) {
+      case RSE:
+        if (value == null) {
+          unsetRse();
+        } else {
+          setRse((org.apache.airavata.registry.api.exception.RegistryServiceException)value);
+        }
+        break;
+
+      }
+    }
+
+    public java.lang.Object getFieldValue(_Fields field) {
+      switch (field) {
+      case RSE:
+        return getRse();
+
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    public boolean isSet(_Fields field) {
+      if (field == null) {
+        throw new java.lang.IllegalArgumentException();
+      }
+
+      switch (field) {
+      case RSE:
+        return isSetRse();
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(java.lang.Object that) {
+      if (that == null)
+        return false;
+      if (that instanceof updateExperimentStatus_result)
+        return this.equals((updateExperimentStatus_result)that);
+      return false;
+    }
+
+    public boolean equals(updateExperimentStatus_result that) {
+      if (that == null)
+        return false;
+      if (this == that)
+        return true;
+
+      boolean this_present_rse = true && this.isSetRse();
+      boolean that_present_rse = true && that.isSetRse();
+      if (this_present_rse || that_present_rse) {
+        if (!(this_present_rse && that_present_rse))
+          return false;
+        if (!this.rse.equals(that.rse))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      int hashCode = 1;
+
+      hashCode = hashCode * 8191 + ((isSetRse()) ? 131071 : 524287);
+      if (isSetRse())
+        hashCode = hashCode * 8191 + rse.hashCode();
+
+      return hashCode;
+    }
+
+    @Override
+    public int compareTo(updateExperimentStatus_result other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetRse()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.rse, other.rse);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      return 0;
+    }
+
+    public _Fields fieldForId(int fieldId) {
+      return _Fields.findByThriftId(fieldId);
+    }
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+      scheme(iprot).read(iprot, this);
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+      scheme(oprot).write(oprot, this);
+      }
+
+    @Override
+    public java.lang.String toString() {
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("updateExperimentStatus_result(");
+      boolean first = true;
+
+      sb.append("rse:");
+      if (this.rse == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.rse);
+      }
+      first = false;
+      sb.append(")");
+      return sb.toString();
+    }
+
+    public void validate() throws org.apache.thrift.TException {
+      // check for required fields
+      // check for sub-struct validity
+    }
+
+    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+      try {
+        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+      } catch (org.apache.thrift.TException te) {
+        throw new java.io.IOException(te);
+      }
+    }
+
+    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
+      try {
+        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+      } catch (org.apache.thrift.TException te) {
+        throw new java.io.IOException(te);
+      }
+    }
+
+    private static class updateExperimentStatus_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public updateExperimentStatus_resultStandardScheme getScheme() {
+        return new updateExperimentStatus_resultStandardScheme();
+      }
+    }
+
+    private static class updateExperimentStatus_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateExperimentStatus_result> {
+
+      public void read(org.apache.thrift.protocol.TProtocol iprot, updateExperimentStatus_result struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TField schemeField;
+        iprot.readStructBegin();
+        while (true)
+        {
+          schemeField = iprot.readFieldBegin();
+          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+            break;
+          }
+          switch (schemeField.id) {
+            case 1: // RSE
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException();
+                struct.rse.read(iprot);
+                struct.setRseIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            default:
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+          }
+          iprot.readFieldEnd();
+        }
+        iprot.readStructEnd();
+
+        // check for required fields of primitive type, which can't be checked in the validate method
+        struct.validate();
+      }
+
+      public void write(org.apache.thrift.protocol.TProtocol oprot, updateExperimentStatus_result struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.rse != null) {
+          oprot.writeFieldBegin(RSE_FIELD_DESC);
+          struct.rse.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class updateExperimentStatus_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public updateExperimentStatus_resultTupleScheme getScheme() {
+        return new updateExperimentStatus_resultTupleScheme();
+      }
+    }
+
+    private static class updateExperimentStatus_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<updateExperimentStatus_result> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, updateExperimentStatus_result struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        java.util.BitSet optionals = new java.util.BitSet();
+        if (struct.isSetRse()) {
+          optionals.set(0);
+        }
+        oprot.writeBitSet(optionals, 1);
+        if (struct.isSetRse()) {
+          struct.rse.write(oprot);
+        }
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, updateExperimentStatus_result struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        java.util.BitSet incoming = iprot.readBitSet(1);
+        if (incoming.get(0)) {
+          struct.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException();
+          struct.rse.read(iprot);
+          struct.setRseIsSet(true);
+        }
+      }
+    }
+
+    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
+      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+    }
+  }
+
+  public static class addJobStatus_args implements org.apache.thrift.TBase<addJobStatus_args, addJobStatus_args._Fields>, java.io.Serializable, Cloneable, Comparable<addJobStatus_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addJobStatus_args");
+
+    private static final org.apache.thrift.protocol.TField JOB_STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("jobStatus", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+    private static final org.apache.thrift.protocol.TField TASK_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("taskId", org.apache.thrift.protocol.TType.STRING, (short)2);
+    private static final org.apache.thrift.protocol.TField JOB_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("jobId", org.apache.thrift.protocol.TType.STRING, (short)3);
+
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addJobStatus_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addJobStatus_argsTupleSchemeFactory();
+
+    public org.apache.airavata.model.status.JobStatus jobStatus; // required
+    public java.lang.String taskId; // required
+    public java.lang.String jobId; // required
+
+    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+      JOB_STATUS((short)1, "jobStatus"),
+      TASK_ID((short)2, "taskId"),
+      JOB_ID((short)3, "jobId");
+
+      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
+
+      static {
+        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
+          byName.put(field.getFieldName(), field);
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, or null if its not found.
+       */
+      public static _Fields findByThriftId(int fieldId) {
+        switch(fieldId) {
+          case 1: // JOB_STATUS
+            return JOB_STATUS;
+          case 2: // TASK_ID
+            return TASK_ID;
+          case 3: // JOB_ID
+            return JOB_ID;
+          default:
+            return null;
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, throwing an exception
+       * if it is not found.
+       */
+      public static _Fields findByThriftIdOrThrow(int fieldId) {
+        _Fields fields = findByThriftId(fieldId);
+        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        return fields;
+      }
+
+      /**
+       * Find the _Fields constant that matches name, or null if its not found.
+       */
+      public static _Fields findByName(java.lang.String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final java.lang.String _fieldName;
+
+      _Fields(short thriftId, java.lang.String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      public java.lang.String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      tmpMap.put(_Fields.JOB_STATUS, new org.apache.thrift.meta_data.FieldMetaData("jobStatus", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.status.JobStatus.class)));
+      tmpMap.put(_Fields.TASK_ID, new org.apache.thrift.meta_data.FieldMetaData("taskId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+      tmpMap.put(_Fields.JOB_ID, new org.apache.thrift.meta_data.FieldMetaData("jobId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(addJobStatus_args.class, metaDataMap);
+    }
+
+    public addJobStatus_args() {
+    }
+
+    public addJobStatus_args(
+      org.apache.airavata.model.status.JobStatus jobStatus,
+      java.lang.String taskId,
+      java.lang.String jobId)
+    {
+      this();
+      this.jobStatus = jobStatus;
+      this.taskId = taskId;
+      this.jobId = jobId;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public addJobStatus_args(addJobStatus_args other) {
+      if (other.isSetJobStatus()) {
+        this.jobStatus = new org.apache.airavata.model.status.JobStatus(other.jobStatus);
+      }
+      if (other.isSetTaskId()) {
+        this.taskId = other.taskId;
+      }
+      if (other.isSetJobId()) {
+        this.jobId = other.jobId;
+      }
+    }
+
+    public addJobStatus_args deepCopy() {
+      return new addJobStatus_args(this);
+    }
+
+    @Override
+    public void clear() {
+      this.jobStatus = null;
+      this.taskId = null;
+      this.jobId = null;
+    }
+
+    public org.apache.airavata.model.status.JobStatus getJobStatus() {
+      return this.jobStatus;
+    }
+
+    public addJobStatus_args setJobStatus(org.apache.airavata.model.status.JobStatus jobStatus) {
+      this.jobStatus = jobStatus;
+      return this;
+    }
+
+    public void unsetJobStatus() {
+      this.jobStatus = null;
+    }
+
+    /** Returns true if field jobStatus is set (has been assigned a value) and false otherwise */
+    public boolean isSetJobStatus() {
+      return this.jobStatus != null;
+    }
+
+    public void setJobStatusIsSet(boolean value) {
+      if (!value) {
+        this.jobStatus = null;
+      }
+    }
+
+    public java.lang.String getTaskId() {
+      return this.taskId;
+    }
+
+    public addJobStatus_args setTaskId(java.lang.String taskId) {
+      this.taskId = taskId;
+      return this;
+    }
+
+    public void unsetTaskId() {
+      this.taskId = null;
+    }
+
+    /** Returns true if field taskId is set (has been assigned a value) and false otherwise */
+    public boolean isSetTaskId() {
+      return this.taskId != null;
+    }
+
+    public void setTaskIdIsSet(boolean value) {
+      if (!value) {
+        this.taskId = null;
+      }
+    }
+
+    public java.lang.String getJobId() {
+      return this.jobId;
+    }
+
+    public addJobStatus_args setJobId(java.lang.String jobId) {
+      this.jobId = jobId;
+      return this;
+    }
+
+    public void unsetJobId() {
+      this.jobId = null;
+    }
+
+    /** Returns true if field jobId is set (has been assigned a value) and false otherwise */
+    public boolean isSetJobId() {
+      return this.jobId != null;
+    }
+
+    public void setJobIdIsSet(boolean value) {
+      if (!value) {
+        this.jobId = null;
+      }
+    }
+
+    public void setFieldValue(_Fields field, java.lang.Object value) {
+      switch (field) {
+      case JOB_STATUS:
+        if (value == null) {
+          unsetJobStatus();
+        } else {
+          setJobStatus((org.apache.airavata.model.status.JobStatus)value);
+        }
+        break;
+
+      case TASK_ID:
+        if (value == null) {
+          unsetTaskId();
+        } else {
+          setTaskId((java.lang.String)value);
+        }
+        break;
+
+      case JOB_ID:
+        if (value == null) {
+          unsetJobId();
+        } else {
+          setJobId((java.lang.String)value);
+        }
+        break;
+
+      }
+    }
+
+    public java.lang.Object getFieldValue(_Fields field) {
+      switch (field) {
+      case JOB_STATUS:
+        return getJobStatus();
+
+      case TASK_ID:
+        return getTaskId();
+
+      case JOB_ID:
+        return getJobId();
+
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    public boolean isSet(_Fields field) {
+      if (field == null) {
+        throw new java.lang.IllegalArgumentException();
+      }
+
+      switch (field) {
+      case JOB_STATUS:
+        return isSetJobStatus();
+      case TASK_ID:
+        return isSetTaskId();
+      case JOB_ID:
+        return isSetJobId();
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(java.lang.Object that) {
+      if (that == null)
+        return false;
+      if (that instanceof addJobStatus_args)
+        return this.equals((addJobStatus_args)that);
+      return false;
+    }
+
+    public boolean equals(addJobStatus_args that) {
+      if (that == null)
+        return false;
+      if (this == that)
+        return true;
+
+      boolean this_present_jobStatus = true && this.isSetJobStatus();
+      boolean that_present_jobStatus = true && that.isSetJobStatus();
+      if (this_present_jobStatus || that_present_jobStatus) {
+        if (!(this_present_jobStatus && that_present_jobStatus))
+          return false;
+        if (!this.jobStatus.equals(that.jobStatus))
+          return false;
+      }
+
+      boolean this_present_taskId = true && this.isSetTaskId();
+      boolean that_present_taskId = true && that.isSetTaskId();
+      if (this_present_taskId || that_present_taskId) {
+        if (!(this_present_taskId && that_present_taskId))
+          return false;
+        if (!this.taskId.equals(that.taskId))
+          return false;
+      }
+
+      boolean this_present_jobId = true && this.isSetJobId();
+      boolean that_present_jobId = true && that.isSetJobId();
+      if (this_present_jobId || that_present_jobId) {
+        if (!(this_present_jobId && that_present_jobId))
+          return false;
+        if (!this.jobId.equals(that.jobId))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      int hashCode = 1;
+
+      hashCode = hashCode * 8191 + ((isSetJobStatus()) ? 131071 : 524287);
+      if (isSetJobStatus())
+        hashCode = hashCode * 8191 + jobStatus.hashCode();
+
+      hashCode = hashCode * 8191 + ((isSetTaskId()) ? 131071 : 524287);
+      if (isSetTaskId())
+        hashCode = hashCode * 8191 + taskId.hashCode();
+
+      hashCode = hashCode * 8191 + ((isSetJobId()) ? 131071 : 524287);
+      if (isSetJobId())
+        hashCode = hashCode * 8191 + jobId.hashCode();
+
+      return hashCode;
+    }
+
+    @Override
+    public int compareTo(addJobStatus_args other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = java.lang.Boolean.valueOf(isSetJobStatus()).compareTo(other.isSetJobStatus());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetJobStatus()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.jobStatus, other.jobStatus);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = java.lang.Boolean.valueOf(isSetTaskId()).compareTo(other.isSetTaskId());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetTaskId()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.taskId, other.taskId);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = java.lang.Boolean.valueOf(isSetJobId()).compareTo(other.isSetJobId());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetJobId()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.jobId, other.jobId);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      return 0;
+    }
+
+    public _Fields fieldForId(int fieldId) {
+      return _Fields.findByThriftId(fieldId);
+    }
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+      scheme(iprot).read(iprot, this);
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+      scheme(oprot).write(oprot, this);
+    }
+
+    @Override
+    public java.lang.String toString() {
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("addJobStatus_args(");
+      boolean first = true;
+
+      sb.append("jobStatus:");
+      if (this.jobStatus == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.jobStatus);
+      }
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("taskId:");
+      if (this.taskId == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.taskId);
+      }
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("jobId:");
+      if (this.jobId == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.jobId);
+      }
+      first = false;
+      sb.append(")");
+      return sb.toString();
+    }
+
+    public void validate() throws org.apache.thrift.TException {
+      // check for required fields
+      if (jobStatus == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'jobStatus' was not present! Struct: " + toString());
+      }
+      if (taskId == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'taskId' was not present! Struct: " + toString());
+      }
+      if (jobId == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'jobId' was not present! Struct: " + toString());
+      }
+      // check for sub-struct validity
+      if (jobStatus != null) {
+        jobStatus.validate();
+      }
+    }
+
+    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+      try {
+        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+      } catch (org.apache.thrift.TException te) {
+        throw new java.io.IOException(te);
+      }
+    }
+
+    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
+      try {
+        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+      } catch (org.apache.thrift.TException te) {
+        throw new java.io.IOException(te);
+      }
+    }
+
+    private static class addJobStatus_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public addJobStatus_argsStandardScheme getScheme() {
+        return new addJobStatus_argsStandardScheme();
+      }
+    }
+
+    private static class addJobStatus_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addJobStatus_args> {
+
+      public void read(org.apache.thrift.protocol.TProtocol iprot, addJobStatus_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TField schemeField;
+        iprot.readStructBegin();
+        while (true)
+        {
+          schemeField = iprot.readFieldBegin();
+          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+            break;
+          }
+          switch (schemeField.id) {
+            case 1: // JOB_STATUS
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.jobStatus = new org.apache.airavata.model.status.JobStatus();
+                struct.jobStatus.read(iprot);
+                struct.setJobStatusIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 2: // TASK_ID
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                struct.taskId = iprot.readString();
+                struct.setTaskIdIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 3: // JOB_ID
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                struct.jobId = iprot.readString();
+                struct.setJobIdIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            default:
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+          }
+          iprot.readFieldEnd();
+        }
+        iprot.readStructEnd();
+
+        // check for required fields of primitive type, which can't be checked in the validate method
+        struct.validate();
+      }
+
+      public void write(org.apache.thrift.protocol.TProtocol oprot, addJobStatus_args struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.jobStatus != null) {
+          oprot.writeFieldBegin(JOB_STATUS_FIELD_DESC);
+          struct.jobStatus.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        if (struct.taskId != null) {
+          oprot.writeFieldBegin(TASK_ID_FIELD_DESC);
+          oprot.writeString(struct.taskId);
+          oprot.writeFieldEnd();
+        }
+        if (struct.jobId != null) {
+          oprot.writeFieldBegin(JOB_ID_FIELD_DESC);
+          oprot.writeString(struct.jobId);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class addJobStatus_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public addJobStatus_argsTupleScheme getScheme() {
+        return new addJobStatus_argsTupleScheme();
+      }
+    }
+
+    private static class addJobStatus_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<addJobStatus_args> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, addJobStatus_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        struct.jobStatus.write(oprot);
+        oprot.writeString(struct.taskId);
+        oprot.writeString(struct.jobId);
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, addJobStatus_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        struct.jobStatus = new org.apache.airavata.model.status.JobStatus();
+        struct.jobStatus.read(iprot);
+        struct.setJobStatusIsSet(true);
+        struct.taskId = iprot.readString();
+        struct.setTaskIdIsSet(true);
+        struct.jobId = iprot.readString();
+        struct.setJobIdIsSet(true);
+      }
+    }
+
+    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
+      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+    }
+  }
+
+  public static class addJobStatus_result implements org.apache.thrift.TBase<addJobStatus_result, addJobStatus_result._Fields>, java.io.Serializable, Cloneable, Comparable<addJobStatus_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addJobStatus_result");
+
+    private static final org.apache.thrift.protocol.TField RSE_FIELD_DESC = new org.apache.thrift.protocol.TField("rse", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addJobStatus_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addJobStatus_resultTupleSchemeFactory();
+
+    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+
+    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+      RSE((short)1, "rse");
+
+      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
+
+      static {
+        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
+          byName.put(field.getFieldName(), field);
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, or null if its not found.
+       */
+      public static _Fields findByThriftId(int fieldId) {
+        switch(fieldId) {
+          case 1: // RSE
+            return RSE;
+          default:
+            return null;
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, throwing an exception
+       * if it is not found.
+       */
+      public static _Fields findByThriftIdOrThrow(int fieldId) {
+        _Fields fields = findByThriftId(fieldId);
+        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        return fields;
+      }
+
+      /**
+       * Find the _Fields constant that matches name, or null if its not found.
+       */
+      public static _Fields findByName(java.lang.String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final java.lang.String _fieldName;
+
+      _Fields(short thriftId, java.lang.String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      public java.lang.String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      tmpMap.put(_Fields.RSE, new org.apache.thrift.meta_data.FieldMetaData("rse", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.registry.api.exception.RegistryServiceException.class)));
+      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(addJobStatus_result.class, metaDataMap);
     }
 
-    public updateExperimentStatus_result() {
+    public addJobStatus_result() {
     }
 
-    public updateExperimentStatus_result(
+    public addJobStatus_result(
       org.apache.airavata.registry.api.exception.RegistryServiceException rse)
     {
       this();
@@ -73102,14 +74189,14 @@ public class RegistryService {
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public updateExperimentStatus_result(updateExperimentStatus_result other) {
+    public addJobStatus_result(addJobStatus_result other) {
       if (other.isSetRse()) {
         this.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException(other.rse);
       }
     }
 
-    public updateExperimentStatus_result deepCopy() {
-      return new updateExperimentStatus_result(this);
+    public addJobStatus_result deepCopy() {
+      return new addJobStatus_result(this);
     }
 
     @Override
@@ -73121,7 +74208,7 @@ public class RegistryService {
       return this.rse;
     }
 
-    public updateExperimentStatus_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public addJobStatus_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -73180,12 +74267,12 @@ public class RegistryService {
     public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
-      if (that instanceof updateExperimentStatus_result)
-        return this.equals((updateExperimentStatus_result)that);
+      if (that instanceof addJobStatus_result)
+        return this.equals((addJobStatus_result)that);
       return false;
     }
 
-    public boolean equals(updateExperimentStatus_result that) {
+    public boolean equals(addJobStatus_result that) {
       if (that == null)
         return false;
       if (this == that)
@@ -73215,7 +74302,7 @@ public class RegistryService {
     }
 
     @Override
-    public int compareTo(updateExperimentStatus_result other) {
+    public int compareTo(addJobStatus_result other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
@@ -73249,7 +74336,7 @@ public class RegistryService {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("updateExperimentStatus_result(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("addJobStatus_result(");
       boolean first = true;
 
       sb.append("rse:");
@@ -73284,15 +74371,15 @@ public class RegistryService {
       }
     }
 
-    private static class updateExperimentStatus_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public updateExperimentStatus_resultStandardScheme getScheme() {
-        return new updateExperimentStatus_resultStandardScheme();
+    private static class addJobStatus_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public addJobStatus_resultStandardScheme getScheme() {
+        return new addJobStatus_resultStandardScheme();
       }
     }
 
-    private static class updateExperimentStatus_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateExperimentStatus_result> {
+    private static class addJobStatus_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addJobStatus_result> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, updateExperimentStatus_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, addJobStatus_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -73322,7 +74409,7 @@ public class RegistryService {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, updateExperimentStatus_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, addJobStatus_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
@@ -73337,16 +74424,16 @@ public class RegistryService {
 
     }
 
-    private static class updateExperimentStatus_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public updateExperimentStatus_resultTupleScheme getScheme() {
-        return new updateExperimentStatus_resultTupleScheme();
+    private static class addJobStatus_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public addJobStatus_resultTupleScheme getScheme() {
+        return new addJobStatus_resultTupleScheme();
       }
     }
 
-    private static class updateExperimentStatus_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<updateExperimentStatus_result> {
+    private static class addJobStatus_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<addJobStatus_result> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, updateExperimentStatus_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, addJobStatus_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         java.util.BitSet optionals = new java.util.BitSet();
         if (struct.isSetRse()) {
@@ -73359,7 +74446,7 @@ public class RegistryService {
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, updateExperimentStatus_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, addJobStatus_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         java.util.BitSet incoming = iprot.readBitSet(1);
         if (incoming.get(0)) {
@@ -73375,25 +74462,22 @@ public class RegistryService {
     }
   }
 
-  public static class addJobStatus_args implements org.apache.thrift.TBase<addJobStatus_args, addJobStatus_args._Fields>, java.io.Serializable, Cloneable, Comparable<addJobStatus_args>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addJobStatus_args");
+  public static class addJob_args implements org.apache.thrift.TBase<addJob_args, addJob_args._Fields>, java.io.Serializable, Cloneable, Comparable<addJob_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addJob_args");
 
-    private static final org.apache.thrift.protocol.TField JOB_STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("jobStatus", org.apache.thrift.protocol.TType.STRUCT, (short)1);
-    private static final org.apache.thrift.protocol.TField TASK_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("taskId", org.apache.thrift.protocol.TType.STRING, (short)2);
-    private static final org.apache.thrift.protocol.TField JOB_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("jobId", org.apache.thrift.protocol.TType.STRING, (short)3);
+    private static final org.apache.thrift.protocol.TField JOB_MODEL_FIELD_DESC = new org.apache.thrift.protocol.TField("jobModel", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+    private static final org.apache.thrift.protocol.TField PROCESS_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("processId", org.apache.thrift.protocol.TType.STRING, (short)2);
 
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addJobStatus_argsStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addJobStatus_argsTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addJob_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addJob_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.status.JobStatus jobStatus; // required
-    public java.lang.String taskId; // required
-    public java.lang.String jobId; // required
+    public org.apache.airavata.model.job.JobModel jobModel; // required
+    public java.lang.String processId; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
-      JOB_STATUS((short)1, "jobStatus"),
-      TASK_ID((short)2, "taskId"),
-      JOB_ID((short)3, "jobId");
+      JOB_MODEL((short)1, "jobModel"),
+      PROCESS_ID((short)2, "processId");
 
       private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
 
@@ -73408,12 +74492,10 @@ public class RegistryService {
        */
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
-          case 1: // JOB_STATUS
-            return JOB_STATUS;
-          case 2: // TASK_ID
-            return TASK_ID;
-          case 3: // JOB_ID
-            return JOB_ID;
+          case 1: // JOB_MODEL
+            return JOB_MODEL;
+          case 2: // PROCESS_ID
+            return PROCESS_ID;
           default:
             return null;
         }
@@ -73457,151 +74539,111 @@ public class RegistryService {
     public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
     static {
       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
-      tmpMap.put(_Fields.JOB_STATUS, new org.apache.thrift.meta_data.FieldMetaData("jobStatus", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.status.JobStatus.class)));
-      tmpMap.put(_Fields.TASK_ID, new org.apache.thrift.meta_data.FieldMetaData("taskId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-      tmpMap.put(_Fields.JOB_ID, new org.apache.thrift.meta_data.FieldMetaData("jobId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+      tmpMap.put(_Fields.JOB_MODEL, new org.apache.thrift.meta_data.FieldMetaData("jobModel", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.job.JobModel.class)));
+      tmpMap.put(_Fields.PROCESS_ID, new org.apache.thrift.meta_data.FieldMetaData("processId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(addJobStatus_args.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(addJob_args.class, metaDataMap);
     }
 
-    public addJobStatus_args() {
+    public addJob_args() {
     }
 
-    public addJobStatus_args(
-      org.apache.airavata.model.status.JobStatus jobStatus,
-      java.lang.String taskId,
-      java.lang.String jobId)
+    public addJob_args(
+      org.apache.airavata.model.job.JobModel jobModel,
+      java.lang.String processId)
     {
       this();
-      this.jobStatus = jobStatus;
-      this.taskId = taskId;
-      this.jobId = jobId;
+      this.jobModel = jobModel;
+      this.processId = processId;
     }
 
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public addJobStatus_args(addJobStatus_args other) {
-      if (other.isSetJobStatus()) {
-        this.jobStatus = new org.apache.airavata.model.status.JobStatus(other.jobStatus);
-      }
-      if (other.isSetTaskId()) {
-        this.taskId = other.taskId;
+    public addJob_args(addJob_args other) {
+      if (other.isSetJobModel()) {
+        this.jobModel = new org.apache.airavata.model.job.JobModel(other.jobModel);
       }
-      if (other.isSetJobId()) {
-        this.jobId = other.jobId;
+      if (other.isSetProcessId()) {
+        this.processId = other.processId;
       }
     }
 
-    public addJobStatus_args deepCopy() {
-      return new addJobStatus_args(this);
+    public addJob_args deepCopy() {
+      return new addJob_args(this);
     }
 
     @Override
     public void clear() {
-      this.jobStatus = null;
-      this.taskId = null;
-      this.jobId = null;
-    }
-
-    public org.apache.airavata.model.status.JobStatus getJobStatus() {
-      return this.jobStatus;
-    }
-
-    public addJobStatus_args setJobStatus(org.apache.airavata.model.status.JobStatus jobStatus) {
-      this.jobStatus = jobStatus;
-      return this;
-    }
-
-    public void unsetJobStatus() {
-      this.jobStatus = null;
-    }
-
-    /** Returns true if field jobStatus is set (has been assigned a value) and false otherwise */
-    public boolean isSetJobStatus() {
-      return this.jobStatus != null;
-    }
-
-    public void setJobStatusIsSet(boolean value) {
-      if (!value) {
-        this.jobStatus = null;
-      }
+      this.jobModel = null;
+      this.processId = null;
     }
 
-    public java.lang.String getTaskId() {
-      return this.taskId;
+    public org.apache.airavata.model.job.JobModel getJobModel() {
+      return this.jobModel;
     }
 
-    public addJobStatus_args setTaskId(java.lang.String taskId) {
-      this.taskId = taskId;
+    public addJob_args setJobModel(org.apache.airavata.model.job.JobModel jobModel) {
+      this.jobModel = jobModel;
       return this;
     }
 
-    public void unsetTaskId() {
-      this.taskId = null;
+    public void unsetJobModel() {
+      this.jobModel = null;
     }
 
-    /** Returns true if field taskId is set (has been assigned a value) and false otherwise */
-    public boolean isSetTaskId() {
-      return this.taskId != null;
+    /** Returns true if field jobModel is set (has been assigned a value) and false otherwise */
+    public boolean isSetJobModel() {
+      return this.jobModel != null;
     }
 
-    public void setTaskIdIsSet(boolean value) {
+    public void setJobModelIsSet(boolean value) {
       if (!value) {
-        this.taskId = null;
+        this.jobModel = null;
       }
     }
 
-    public java.lang.String getJobId() {
-      return this.jobId;
+    public java.lang.String getProcessId() {
+      return this.processId;
     }
 
-    public addJobStatus_args setJobId(java.lang.String jobId) {
-      this.jobId = jobId;
+    public addJob_args setProcessId(java.lang.String processId) {
+      this.processId = processId;
       return this;
     }
 
-    public void unsetJobId() {
-      this.jobId = null;
+    public void unsetProcessId() {
+      this.processId = null;
     }
 
-    /** Returns true if field jobId is set (has been assigned a value) and false otherwise */
-    public boolean isSetJobId() {
-      return this.jobId != null;
+    /** Returns true if field processId is set (has been assigned a value) and false otherwise */
+    public boolean isSetProcessId() {
+      return this.processId != null;
     }
 
-    public void setJobIdIsSet(boolean value) {
+    public void setProcessIdIsSet(boolean value) {
       if (!value) {
-        this.jobId = null;
+        this.processId = null;
       }
     }
 
     public void setFieldValue(_Fields field, java.lang.Object value) {
       switch (field) {
-      case JOB_STATUS:
-        if (value == null) {
-          unsetJobStatus();
-        } else {
-          setJobStatus((org.apache.airavata.model.status.JobStatus)value);
-        }
-        break;
-
-      case TASK_ID:
+      case JOB_MODEL:
         if (value == null) {
-          unsetTaskId();
+          unsetJobModel();
         } else {
-          setTaskId((java.lang.String)value);
+          setJobModel((org.apache.airavata.model.job.JobModel)value);
         }
         break;
 
-      case JOB_ID:
+      case PROCESS_ID:
         if (value == null) {
-          unsetJobId();
+          unsetProcessId();
         } else {
-          setJobId((java.lang.String)value);
+          setProcessId((java.lang.String)value);
         }
         break;
 
@@ -73610,14 +74652,11 @@ public class RegistryService {
 
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
-      case JOB_STATUS:
-        return getJobStatus();
-
-      case TASK_ID:
-        return getTaskId();
+      case JOB_MODEL:
+        return getJobModel();
 
-      case JOB_ID:
-        return getJobId();
+      case PROCESS_ID:
+        return getProcessId();
 
       }
       throw new java.lang.IllegalStateException();
@@ -73630,12 +74669,10 @@ public class RegistryService {
       }
 
       switch (field) {
-      case JOB_STATUS:
-        return isSetJobStatus();
-      case TASK_ID:
-        return isSetTaskId();
-      case JOB_ID:
-        return isSetJobId();
+      case JOB_MODEL:
+        return isSetJobModel();
+      case PROCESS_ID:
+        return isSetProcessId();
       }
       throw new java.lang.IllegalStateException();
     }
@@ -73644,41 +74681,32 @@ public class RegistryService {
     public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
-      if (that instanceof addJobStatus_args)
-        return this.equals((addJobStatus_args)that);
+      if (that instanceof addJob_args)
+        return this.equals((addJob_args)that);
       return false;
     }
 
-    public boolean equals(addJobStatus_args that) {
+    public boolean equals(addJob_args that) {
       if (that == null)
         return false;
       if (this == that)
         return true;
 
-      boolean this_present_jobStatus = true && this.isSetJobStatus();
-      boolean that_present_jobStatus = true && that.isSetJobStatus();
-      if (this_present_jobStatus || that_present_jobStatus) {
-        if (!(this_present_jobStatus && that_present_jobStatus))
-          return false;
-        if (!this.jobStatus.equals(that.jobStatus))
-          return false;
-      }
-
-      boolean this_present_taskId = true && this.isSetTaskId();
-      boolean that_present_taskId = true && that.isSetTaskId();
-      if (this_present_taskId || that_present_taskId) {
-        if (!(this_present_taskId && that_present_taskId))
+      boolean this_present_jobModel = true && this.isSetJobModel();
+      boolean that_present_jobModel = true && that.isSetJobModel();
+      if (this_present_jobModel || that_present_jobModel) {
+        if (!(this_present_jobModel && that_present_jobModel))
           return false;
-        if (!this.taskId.equals(that.taskId))
+        if (!this.jobModel.equals(that.jobModel))
           return false;
       }
 
-      boolean this_present_jobId = true && this.isSetJobId();
-      boolean that_present_jobId = true && that.isSetJobId();
-      if (this_present_jobId || that_present_jobId) {
-        if (!(this_present_jobId && that_present_jobId))
+      boolean this_present_processId = true && this.isSetProcessId();
+      boolean that_present_processId = true && that.isSetProcessId();
+      if (this_present_processId || that_present_processId) {
+        if (!(this_present_processId && that_present_processId))
           return false;
-        if (!this.jobId.equals(that.jobId))
+        if (!this.processId.equals(that.processId))
           return false;
       }
 
@@ -73689,55 +74717,41 @@ public class RegistryService {
     public int hashCode() {
       int hashCode = 1;
 
-      hashCode = hashCode * 8191 + ((isSetJobStatus()) ? 131071 : 524287);
-      if (isSetJobStatus())
-        hashCode = hashCode * 8191 + jobStatus.hashCode();
-
-      hashCode = hashCode * 8191 + ((isSetTaskId()) ? 131071 : 524287);
-      if (isSetTaskId())
-        hashCode = hashCode * 8191 + taskId.hashCode();
+      hashCode = hashCode * 8191 + ((isSetJobModel()) ? 131071 : 524287);
+      if (isSetJobModel())
+        hashCode = hashCode * 8191 + jobModel.hashCode();
 
-      hashCode = hashCode * 8191 + ((isSetJobId()) ? 131071 : 524287);
-      if (isSetJobId())
-        hashCode = hashCode * 8191 + jobId.hashCode();
+      hashCode = hashCode * 8191 + ((isSetProcessId()) ? 131071 : 524287);
+      if (isSetProcessId())
+        hashCode = hashCode * 8191 + processId.hashCode();
 
       return hashCode;
     }
 
     @Override
-    public int compareTo(addJobStatus_args other) {
+    public int compareTo(addJob_args other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetJobStatus()).compareTo(other.isSetJobStatus());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetJobStatus()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.jobStatus, other.jobStatus);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = java.lang.Boolean.valueOf(isSetTaskId()).compareTo(other.isSetTaskId());
+      lastComparison = java.lang.Boolean.valueOf(isSetJobModel()).compareTo(other.isSetJobModel());
       if (lastComparison != 0) {
         return lastComparison;
       }
-      if (isSetTaskId()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.taskId, other.taskId);
+      if (isSetJobModel()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.jobModel, other.jobModel);
         if (lastComparison != 0) {
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetJobId()).compareTo(other.isSetJobId());
+      lastComparison = java.lang.Boolean.valueOf(isSetProcessId()).compareTo(other.isSetProcessId());
       if (lastComparison != 0) {
         return lastComparison;
       }
-      if (isSetJobId()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.jobId, other.jobId);
+      if (isSetProcessId()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.processId, other.processId);
         if (lastComparison != 0) {
           return lastComparison;
         }
@@ -73759,30 +74773,22 @@ public class RegistryService {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("addJobStatus_args(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("addJob_args(");
       boolean first = true;
 
-      sb.append("jobStatus:");
-      if (this.jobStatus == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.jobStatus);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("taskId:");
-      if (this.taskId == null) {
+      sb.append("jobModel:");
+      if (this.jobModel == null) {
         sb.append("null");
       } else {
-        sb.append(this.taskId);
+        sb.append(this.jobModel);
       }
       first = false;
       if (!first) sb.append(", ");
-      sb.append("jobId:");
-      if (this.jobId == null) {
+      sb.append("processId:");
+      if (this.processId == null) {
         sb.append("null");
       } else {
-        sb.append(this.jobId);
+        sb.append(this.processId);
       }
       first = false;
       sb.append(")");
@@ -73791,18 +74797,15 @@ public class RegistryService {
 
     public void validate() throws org.apache.thrift.TException {
       // check for required fields
-      if (jobStatus == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'jobStatus' was not present! Struct: " + toString());
-      }
-      if (taskId == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'taskId' was not present! Struct: " + toString());
+      if (jobModel == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'jobModel' was not present! Struct: " + toString());
       }
-      if (jobId == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'jobId' was not present! Struct: " + toString());
+      if (processId == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'processId' was not present! Struct: " + toString());
       }
       // check for sub-struct validity
-      if (jobStatus != null) {
-        jobStatus.validate();
+      if (jobModel != null) {
+        jobModel.validate();
       }
     }
 
@@ -73822,15 +74825,15 @@ public class RegistryService {
       }
     }
 
-    private static class addJobStatus_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public addJobStatus_argsStandardScheme getScheme() {
-        return new addJobStatus_argsStandardScheme();
+    private static class addJob_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public addJob_argsStandardScheme getScheme() {
+        return new addJob_argsStandardScheme();
       }
     }
 
-    private static class addJobStatus_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addJobStatus_args> {
+    private static class addJob_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addJob_args> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, addJobStatus_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, addJob_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -73840,27 +74843,19 @@ public class RegistryService {
             break;
           }
           switch (schemeField.id) {
-            case 1: // JOB_STATUS
+            case 1: // JOB_MODEL
               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.jobStatus = new org.apache.airavata.model.status.JobStatus();
-                struct.jobStatus.read(iprot);
-                struct.setJobStatusIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 2: // TASK_ID
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.taskId = iprot.readString();
-                struct.setTaskIdIsSet(true);
+                struct.jobModel = new org.apache.airavata.model.job.JobModel();
+                struct.jobModel.read(iprot);
+                struct.setJobModelIsSet(true);
               } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 3: // JOB_ID
+            case 2: // PROCESS_ID
               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.jobId = iprot.readString();
-                struct.setJobIdIsSet(true);
+                struct.processId = iprot.readString();
+                struct.setProcessIdIsSet(true);
               } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
@@ -73876,23 +74871,18 @@ public class RegistryService {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, addJobStatus_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, addJob_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
-        if (struct.jobStatus != null) {
-          oprot.writeFieldBegin(JOB_STATUS_FIELD_DESC);
-          struct.jobStatus.write(oprot);
-          oprot.writeFieldEnd();
-        }
-        if (struct.taskId != null) {
-          oprot.writeFieldBegin(TASK_ID_FIELD_DESC);
-          oprot.writeString(struct.taskId);
+        if (struct.jobModel != null) {
+          oprot.writeFieldBegin(JOB_MODEL_FIELD_DESC);
+          struct.jobModel.write(oprot);
           oprot.writeFieldEnd();
         }
-        if (struct.jobId != null) {
-          oprot.writeFieldBegin(JOB_ID_FIELD_DESC);
-          oprot.writeString(struct.jobId);
+        if (struct.processId != null) {
+          oprot.writeFieldBegin(PROCESS_ID_FIELD_DESC);
+          oprot.writeString(struct.processId);
           oprot.writeFieldEnd();
         }
         oprot.writeFieldStop();
@@ -73901,32 +74891,29 @@ public class RegistryService {
 
     }
 
-    private static class addJobStatus_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public addJobStatus_argsTupleScheme getScheme() {
-        return new addJobStatus_argsTupleScheme();
+    private static class addJob_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public addJob_argsTupleScheme getScheme() {
+        return new addJob_argsTupleScheme();
       }
     }
 
-    private static class addJobStatus_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<addJobStatus_args> {
+    private static class addJob_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<addJob_args> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, addJobStatus_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, addJob_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        struct.jobStatus.write(oprot);
-        oprot.writeString(struct.taskId);
-        oprot.writeString(struct.jobId);
+        struct.jobModel.write(oprot);
+        oprot.writeString(struct.processId);
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, addJobStatus_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, addJob_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        struct.jobStatus = new org.apache.airavata.model.status.JobStatus();
... 1605 lines suppressed ...