airavata-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From dimuthu...@apache.org
Subject [airavata] branch staging updated: Moving zookeeper resided data into registry. Part - 1
Date Fri, 18 Jan 2019 19:23:47 GMT
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/staging by this push:
     new 5bfee48  Moving zookeeper resided data into registry. Part - 1
5bfee48 is described below

commit 5bfee48591a0fcb16412285bcea60699e9ea0317
Author: Dimuthu Wannipurage <dimuthu.upeksha2@gmail.com>
AuthorDate: Fri Jan 18 14:23:35 2019 -0500

    Moving zookeeper resided data into registry. Part - 1
---
 .../email-monitor/airavata-server.properties.j2    |     8 +-
 .../realtime-monitor/airavata-server.properties.j2 |     8 +-
 .../airavata/helix/impl/task/AiravataTask.java     |     6 +-
 .../airavata/helix/impl/task/TaskContext.java      |     4 +
 .../task/cancel/RemoteJobCancellationTask.java     |    47 +-
 .../task/submission/DefaultJobSubmissionTask.java  |     4 -
 .../impl/task/submission/JobSubmissionTask.java    |     4 +-
 .../task/submission/config/GroovyMapBuilder.java   |     1 +
 .../impl/task/submission/config/GroovyMapData.java |    11 +
 .../helix/impl/workflow/PostWorkflowManager.java   |    51 +-
 .../helix/impl/workflow/PreWorkflowManager.java    |     1 -
 .../airavata/helix/core/util/MonitoringUtil.java   |   181 -
 .../apache/airavata/monitor/AbstractMonitor.java   |    62 +-
 .../airavata/monitor/realtime/RealtimeMonitor.java |    11 +-
 .../realtime/parser/RealtimeJobStatusParser.java   |    44 +-
 .../catalog/impl/ExperimentRegistry.java           |    23 +-
 .../experiment/catalog/resources/JobResource.java  |    22 +
 .../api/service/handler/RegistryServerHandler.java |    27 +
 .../airavata/registry/api/RegistryService.java     | 10670 ++++++++++---------
 .../component-cpis/registry-api.thrift             |     3 +
 20 files changed, 6138 insertions(+), 5050 deletions(-)

diff --git a/dev-tools/ansible/roles/job_monitor/templates/email-monitor/airavata-server.properties.j2 b/dev-tools/ansible/roles/job_monitor/templates/email-monitor/airavata-server.properties.j2
index 1bf7abf..1e2c85d 100644
--- a/dev-tools/ansible/roles/job_monitor/templates/email-monitor/airavata-server.properties.j2
+++ b/dev-tools/ansible/roles/job_monitor/templates/email-monitor/airavata-server.properties.j2
@@ -33,4 +33,10 @@ job.monitor.broker.publisher.id={{ email_job_monitor_broker_publisher }}
 
 zookeeper.server.connection={{ zookeeper_connection_url }}
 zookeeper.timeout=30000
-email.expiration.minutes=60
\ No newline at end of file
+email.expiration.minutes=60
+
+###########################################################################
+#  Registry Server Configurations
+###########################################################################
+regserver.server.host={{ registry_host }}
+regserver.server.port={{ registry_port }}
\ No newline at end of file
diff --git a/dev-tools/ansible/roles/job_monitor/templates/realtime-monitor/airavata-server.properties.j2 b/dev-tools/ansible/roles/job_monitor/templates/realtime-monitor/airavata-server.properties.j2
index 6250a3f..96b027f 100644
--- a/dev-tools/ansible/roles/job_monitor/templates/realtime-monitor/airavata-server.properties.j2
+++ b/dev-tools/ansible/roles/job_monitor/templates/realtime-monitor/airavata-server.properties.j2
@@ -25,4 +25,10 @@ realtime.monitor.broker.topic={{ realtime_monitor_broker_topic }}
 
 job.monitor.broker.url={{ job_monitor_broker_url }}
 job.monitor.broker.topic={{ job_monitor_broker_topic }}
-job.monitor.broker.publisher.id={{ realtime_monitor_broker_publisher }}
\ No newline at end of file
+job.monitor.broker.publisher.id={{ realtime_monitor_broker_publisher }}
+
+###########################################################################
+#  Registry Server Configurations
+###########################################################################
+regserver.server.host={{ registry_host }}
+regserver.server.port={{ registry_port }}
\ No newline at end of file
diff --git a/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/AiravataTask.java b/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/AiravataTask.java
index 3a917da..8c7cd7e 100644
--- a/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/AiravataTask.java
+++ b/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/AiravataTask.java
@@ -222,13 +222,10 @@ public abstract class AiravataTask extends AbstractTask {
     }
 
 
-    public void saveAndPublishJobStatus(String jobId, String processId, String experimentId, String gateway,
+    public void saveAndPublishJobStatus(String jobId, String taskId, String processId, String experimentId, String gateway,
                                          JobState jobState) throws Exception {
         try {
 
-            String taskId = Optional.ofNullable(MonitoringUtil.getTaskIdByJobId(getCuratorClient(), jobId))
-                    .orElseThrow(() -> new Exception("Can not find the task for job id " + jobId));
-
             JobStatus jobStatus = new JobStatus();
             jobStatus.setReason(jobState.name());
             jobStatus.setTimeOfStateChange(AiravataUtils.getCurrentTimestamp().getTime());
@@ -250,7 +247,6 @@ public abstract class AiravataTask extends AbstractTask {
             msgCtx.setUpdatedTime(AiravataUtils.getCurrentTimestamp());
             getStatusPublisher().publish(msgCtx);
 
-            MonitoringUtil.updateStatusOfJob(getCuratorClient(), jobId, jobState);
         } catch (Exception e) {
             logger.error("Error persisting job status " + e.getLocalizedMessage(), e);
         }
diff --git a/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/TaskContext.java b/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/TaskContext.java
index 0bafed4..6c0c5b2 100644
--- a/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/TaskContext.java
+++ b/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/TaskContext.java
@@ -123,6 +123,10 @@ public class TaskContext {
         return processId;
     }
 
+    public String getTaskId() {
+        return taskId;
+    }
+
     public Publisher getStatusPublisher() {
         return statusPublisher;
     }
diff --git a/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/cancel/RemoteJobCancellationTask.java b/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/cancel/RemoteJobCancellationTask.java
index d5d44c6..d87d854 100644
--- a/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/cancel/RemoteJobCancellationTask.java
+++ b/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/cancel/RemoteJobCancellationTask.java
@@ -10,6 +10,7 @@ import org.apache.airavata.helix.impl.task.submission.config.JobManagerConfigura
 import org.apache.airavata.helix.impl.task.submission.config.RawCommandInfo;
 import org.apache.airavata.helix.task.api.TaskHelper;
 import org.apache.airavata.helix.task.api.annotation.TaskDef;
+import org.apache.airavata.model.job.JobModel;
 import org.apache.airavata.model.status.JobState;
 import org.apache.airavata.model.status.JobStatus;
 import org.apache.helix.HelixManager;
@@ -37,7 +38,7 @@ public class RemoteJobCancellationTask extends AiravataTask {
     public TaskResult onRun(TaskHelper taskHelper, TaskContext taskContext) {
         try {
 
-            List<String> jobs = getJobsOfProcess(getProcessId());
+            List<JobModel> jobs = getRegistryServiceClient().getJobs("processId", getProcessId());
 
             logger.info("Fetching jobs for process " + getProcessId());
 
@@ -63,18 +64,18 @@ public class RemoteJobCancellationTask extends AiravataTask {
                     getTaskContext().getComputeResourceCredentialToken(),
                     getTaskContext().getComputeResourceLoginUserName());
 
-            for (String jobId : jobs) {
+            for (JobModel job : jobs) {
 
                 try {
-                    logger.info("Fetching current job status for job id " + jobId);
-                    RawCommandInfo monitorCommand = jobManagerConfiguration.getMonitorCommand(jobId);
+                    logger.info("Fetching current job status for job id " + job.getJobId());
+                    RawCommandInfo monitorCommand = jobManagerConfiguration.getMonitorCommand(job.getJobId());
 
                     CommandOutput jobMonitorOutput = adaptor.executeCommand(monitorCommand.getRawCommand(), null);
 
                     if (jobMonitorOutput.getExitCode() == 0) {
-                        JobStatus jobStatus = jobManagerConfiguration.getParser().parseJobStatus(jobId, jobMonitorOutput.getStdOut());
+                        JobStatus jobStatus = jobManagerConfiguration.getParser().parseJobStatus(job.getJobId(), jobMonitorOutput.getStdOut());
                         if (jobStatus != null) {
-                            logger.info("Job " + jobId + " state is " + jobStatus.getJobState().name());
+                            logger.info("Job " + job.getJobId() + " state is " + jobStatus.getJobState().name());
                             switch (jobStatus.getJobState()) {
                                 case COMPLETE:
                                 case CANCELED:
@@ -86,11 +87,11 @@ public class RemoteJobCancellationTask extends AiravataTask {
                                     return onSuccess("Job already is in a saturated state");
                             }
                         } else {
-                            logger.warn("Job status for job " + jobId + " is null. Std out " + jobMonitorOutput.getStdOut() +
+                            logger.warn("Job status for job " + job.getJobId() + " is null. Std out " + jobMonitorOutput.getStdOut() +
                                     ". Std err " + jobMonitorOutput.getStdError() + ". Job monitor command " + monitorCommand.getRawCommand());
                         }
                     } else {
-                        logger.warn("Error while fetching the job " + jobId + " status. Std out " + jobMonitorOutput.getStdOut() +
+                        logger.warn("Error while fetching the job " + job.getJobId() + " status. Std out " + jobMonitorOutput.getStdOut() +
                                 ". Std err " + jobMonitorOutput.getStdError() + ". Job monitor command " + monitorCommand.getRawCommand());
                     }
                 } catch (Exception e) {
@@ -98,30 +99,28 @@ public class RemoteJobCancellationTask extends AiravataTask {
                 }
 
                 try {
-                    logger.info("Cancelling job " + jobId + " of process " + getProcessId());
-                    RawCommandInfo cancelCommand = jobManagerConfiguration.getCancelCommand(jobId);
-
-                    logger.info("Command to cancel the job " + jobId + " : " + cancelCommand.getRawCommand());
-
+                    logger.info("Cancelling job " + job.getJobId() + " of process " + getProcessId());
+                    RawCommandInfo cancelCommand = jobManagerConfiguration.getCancelCommand(job.getJobId());
 
+                    logger.info("Command to cancel the job " + job.getJobId() + " : " + cancelCommand.getRawCommand());
 
                     logger.info("Running cancel command on compute host");
                     CommandOutput jobCancelOutput = adaptor.executeCommand(cancelCommand.getRawCommand(), null);
 
                     if (jobCancelOutput.getExitCode() != 0) {
-                        logger.warn("Failed to execute job cancellation command for job " + jobId + " Sout : " +
+                        logger.warn("Failed to execute job cancellation command for job " + job.getJobId() + " Sout : " +
                                 jobCancelOutput.getStdOut() + ", Serr : " + jobCancelOutput.getStdError());
                         //return onFail("Failed to execute job cancellation command for job " + jobId + " Sout : " +
                         //        jobCancelOutput.getStdOut() + ", Serr : " + jobCancelOutput.getStdError(), true, null);
                     }
                 } catch (Exception ex) {
-                    logger.error("Unknown error while canceling job " + jobId + " of process " + getProcessId());
-                    return onFail("Unknown error while canceling job " + jobId + " of process " + getProcessId(), true, ex);
+                    logger.error("Unknown error while canceling job " + job.getJobId() + " of process " + getProcessId());
+                    return onFail("Unknown error while canceling job " + job.getJobId() + " of process " + getProcessId(), true, ex);
                 }
 
                 // TODO this is temporary fix. Remove this line when the schedulers are configured to notify when an job is externally cancelled
                 // forcefully make the job state as cancelled as some schedulers do not notify when the job is cancelled.
-                saveAndPublishJobStatus(jobId, getProcessId(), getExperimentId(), getGatewayId(), JobState.CANCELED);
+                saveAndPublishJobStatus(job.getJobId(), job.getTaskId(), getProcessId(), getExperimentId(), getGatewayId(), JobState.CANCELED);
             }
 
             logger.info("Successfully completed job cancellation task");
@@ -138,18 +137,4 @@ public class RemoteJobCancellationTask extends AiravataTask {
     public void onCancel(TaskContext taskContext) {
 
     }
-
-    private List<String> getJobsOfProcess(String processId) throws Exception {
-        List<String> rawJobs =  Collections.singletonList(MonitoringUtil.getJobIdByProcessId(getCuratorClient(), processId));
-        List<String> filteredJobs = new ArrayList<>();
-
-        if (rawJobs != null) {
-            rawJobs.forEach(job -> {
-                if (job != null && !"null".equals(job)) {
-                    filteredJobs.add(job);
-                }
-            });
-        }
-        return filteredJobs;
-    }
 }
diff --git a/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/submission/DefaultJobSubmissionTask.java b/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/submission/DefaultJobSubmissionTask.java
index 95d16be..0a80bc7 100644
--- a/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/submission/DefaultJobSubmissionTask.java
+++ b/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/submission/DefaultJobSubmissionTask.java
@@ -181,10 +181,6 @@ public class DefaultJobSubmissionTask extends JobSubmissionTask {
 
             } else {
 
-                // creating monitoring nodes
-                MonitoringUtil.createMonitoringNode(getCuratorClient(), jobId, mapData.getJobName(), getTaskId(),
-                        getProcessId(), getExperimentId(), getGatewayId());
-
                 // usage reporting as the last step of job submission task
                 if (getComputeResourceDescription().isGatewayUsageReporting()){
                     String loadCommand = getComputeResourceDescription().getGatewayUsageModuleLoadCommand();
diff --git a/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/submission/JobSubmissionTask.java b/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/submission/JobSubmissionTask.java
index 5793e15..2f9c0ef 100644
--- a/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/submission/JobSubmissionTask.java
+++ b/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/submission/JobSubmissionTask.java
@@ -258,7 +258,7 @@ public abstract class JobSubmissionTask extends AiravataTask {
 
         mapData.getPreJobCommands().add(0, "curl -X POST -H \"Content-Type: application/vnd.kafka.json.v2+json\" " +
                 "-H \"Accept: application/vnd.kafka.v2+json\" " +
-                "--data '{\"records\":[{\"value\":{\"jobName\":\"" + mapData.getJobName() + "\", \"status\":\"RUNNING\"}}]}' \"" +
+                "--data '{\"records\":[{\"value\":{\"jobName\":\"" + mapData.getJobName() + "\", \"status\":\"RUNNING\", \"task\":\"" + mapData.getTaskId() + "\"}}]}' \"" +
                 ServerSettings.getSetting("job.status.publish.endpoint") + "\" > /dev/null || true");
 
         if (mapData.getPostJobCommands() == null) {
@@ -267,7 +267,7 @@ public abstract class JobSubmissionTask extends AiravataTask {
 
         mapData.getPostJobCommands().add("curl -X POST -H \"Content-Type: application/vnd.kafka.json.v2+json\" " +
                 "-H \"Accept: application/vnd.kafka.v2+json\" " +
-                "--data '{\"records\":[{\"value\":{\"jobName\":\"" + mapData.getJobName() + "\", \"status\":\"COMPLETED\"}}]}' \"" +
+                "--data '{\"records\":[{\"value\":{\"jobName\":\"" + mapData.getJobName() + "\", \"status\":\"COMPLETED\", \"task\":\"" + mapData.getTaskId() + "\"}}]}' \"" +
                 ServerSettings.getSetting("job.status.publish.endpoint") + "\" > /dev/null || true");
     }
 }
diff --git a/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/submission/config/GroovyMapBuilder.java b/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/submission/config/GroovyMapBuilder.java
index fcf7297..d1964eb 100644
--- a/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/submission/config/GroovyMapBuilder.java
+++ b/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/submission/config/GroovyMapBuilder.java
@@ -78,6 +78,7 @@ public class GroovyMapBuilder {
         mapData.setReservation(taskContext.getReservation());
         mapData.setJobName("A" + String.valueOf(generateJobName()));
         mapData.setWorkingDirectory(taskContext.getWorkingDir());
+        mapData.setTaskId(taskContext.getTaskId());
 
         List<String> inputValues = getProcessInputValues(taskContext.getProcessModel().getProcessInputs(), true);
         inputValues.addAll(getProcessOutputValues(taskContext.getProcessModel().getProcessOutputs(), true));
diff --git a/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/submission/config/GroovyMapData.java b/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/submission/config/GroovyMapData.java
index 03e72fe..ed5983a 100644
--- a/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/submission/config/GroovyMapData.java
+++ b/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/submission/config/GroovyMapData.java
@@ -132,6 +132,9 @@ public class GroovyMapData {
     @ScriptTag(name = "chassisName")
     private String chassisName;
 
+    @ScriptTag(name = "taskId")
+    private String taskId;
+
 
     public Map<String, Object> getMap() {
 
@@ -441,6 +444,14 @@ public class GroovyMapData {
         return this;
     }
 
+    public String getTaskId() {
+        return taskId;
+    }
+
+    public void setTaskId(String taskId) {
+        this.taskId = taskId;
+    }
+
     public Map toImmutableMap() {
 
         Map<String, Object> dataMap = new HashMap<>();
diff --git a/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/workflow/PostWorkflowManager.java b/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/workflow/PostWorkflowManager.java
index 86e86dc..eb23530 100644
--- a/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/workflow/PostWorkflowManager.java
+++ b/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/workflow/PostWorkflowManager.java
@@ -29,7 +29,9 @@ import org.apache.airavata.helix.impl.task.*;
 import org.apache.airavata.helix.impl.task.completing.CompletingTask;
 import org.apache.airavata.helix.impl.task.staging.ArchiveTask;
 import org.apache.airavata.helix.impl.task.staging.OutputDataStagingTask;
+import org.apache.airavata.model.job.JobModel;
 import org.apache.airavata.model.status.ProcessState;
+import org.apache.airavata.model.status.ProcessStatus;
 import org.apache.airavata.monitor.JobStateValidator;
 import org.apache.airavata.monitor.JobStatusResult;
 import org.apache.airavata.monitor.kafka.JobStatusResultDeserializer;
@@ -86,31 +88,45 @@ public class PostWorkflowManager extends WorkflowManager {
             return false;
         }
 
+        RegistryService.Client registryClient = getRegistryClientPool().getResource();
+
         try {
             logger.info("Processing job result of job id " + jobStatusResult.getJobId() + " sent by " + jobStatusResult.getPublisherName());
 
-            if (MonitoringUtil.hasMonitoringRegistered(getCuratorClient(), jobStatusResult.getJobId())) {
+            List<JobModel> jobs = registryClient.getJobs("jobId", jobStatusResult.getJobId());
+            ProcessModel processModel = null;
+            ExperimentModel experimentModel = null;
+            JobModel jobModel = null;
+            ProcessStatus processStatus = null;
+
+            if (jobs.size() != 1) {
+                logger.error("More than one job for job id " + jobStatusResult.getJobId() + " in the registry. Count " + jobs.size());
+            } else  {
+                jobModel = jobs.get(0);
+                processModel =  registryClient.getProcess(jobModel.getProcessId());
+                experimentModel =  registryClient.getExperiment(processModel.getExperimentId());
+                processStatus = registryClient.getProcessStatus(processModel.getProcessId());
+            }
+
+            getRegistryClientPool().returnResource(registryClient);
+
+            if (processModel != null && experimentModel != null) {
+
+                jobModel.getJobStatuses().sort(Comparator.comparingLong(JobStatus::getTimeOfStateChange).reversed());
+                JobState currentJobStatus = jobModel.getJobStatuses().get(0).getJobState();
+
+                logger.info("Last known state of job " + jobModel.getJobId() + " is " + currentJobStatus.name());
 
-                JobState currentJobStatus = MonitoringUtil.getCurrentStatusOfJob(getCuratorClient(), jobStatusResult.getJobId());
                 if (!JobStateValidator.isValid(currentJobStatus, jobStatusResult.getState())) {
                     logger.warn("Job state of " + jobStatusResult.getJobId() + " is not valid. Previous state " +
                             currentJobStatus + ", new state " + jobStatusResult.getState());
                     return true;
                 }
 
-                String gateway = Optional.ofNullable(MonitoringUtil.getGatewayByJobId(getCuratorClient(), jobStatusResult.getJobId()))
-                        .orElseThrow(() -> new Exception("Can not find the gateway for job id " + jobStatusResult.getJobId()));
-
-                String processId = Optional.ofNullable(MonitoringUtil.getProcessIdByJobId(getCuratorClient(), jobStatusResult.getJobId()))
-                        .orElseThrow(() -> new Exception("Can not find the process for job id " + jobStatusResult.getJobId()));
-
-                String experimentId = Optional.ofNullable(MonitoringUtil.getExperimentIdByJobId(getCuratorClient(), jobStatusResult.getJobId()))
-                        .orElseThrow(() -> new Exception("Can not find the experiment for job id " + jobStatusResult.getJobId()));
-
-                String task = Optional.ofNullable(MonitoringUtil.getTaskIdByJobId(getCuratorClient(), jobStatusResult.getJobId()))
-                        .orElseThrow(() -> new Exception("Can not find the task for job id " + jobStatusResult.getJobId()));
-
-                String processStatus = MonitoringUtil.getStatusOfProcess(getCuratorClient(), processId);
+                String gateway = experimentModel.getGatewayId();
+                String processId = processModel.getProcessId();
+                String experimentId = experimentModel.getExperimentId();
+                String task = jobModel.getTaskId();
 
                 logger.info("Updating the job status for job id : " + jobStatusResult.getJobId() + " with process id "
                         + processId + ", exp id " + experimentId + ", gateway " + gateway + " and status " + jobStatusResult.getState().name());
@@ -118,7 +134,7 @@ public class PostWorkflowManager extends WorkflowManager {
                 saveAndPublishJobStatus(jobStatusResult.getJobId(), task, processId, experimentId, gateway, jobStatusResult.getState());
 
                 // TODO get cluster lock before that
-                if (MonitoringUtil.CANCEL.equals(processStatus)) {
+                if (ProcessState.CANCELLING.equals(processStatus.getState()) || ProcessState.CANCELED.equals(processStatus.getState())) {
                     logger.info("Cancelled post workflow for process " + processId + " in experiment " + experimentId);
                     // This will mark an cancelling Experiment into a cancelled status for a set of valid job statuses
                     // This is a safety check. Cancellation is originally handled in Job Cancellation Workflow
@@ -149,7 +165,6 @@ public class PostWorkflowManager extends WorkflowManager {
 
                     } else if (jobStatusResult.getState() == JobState.CANCELED) {
                         logger.info("Job " + jobStatusResult.getJobId() + " was externally cancelled but process is not marked as cancelled yet");
-                        MonitoringUtil.registerCancelProcess(getCuratorClient(), processId);
                         publishProcessStatus(processId, experimentId,gateway, ProcessState.CANCELED);
                         logger.info("Marked process " + processId + " of experiment " + experimentId + " as cancelled as job is already being cancelled");
 
@@ -165,6 +180,7 @@ public class PostWorkflowManager extends WorkflowManager {
             }
         } catch (Exception e) {
             logger.error("Failed to process job : " + jobStatusResult.getJobId() + ", with status : " + jobStatusResult.getState().name(), e);
+            getRegistryClientPool().returnResource(registryClient);
             return false;
         }
     }
@@ -311,7 +327,6 @@ public class PostWorkflowManager extends WorkflowManager {
             msgCtx.setUpdatedTime(AiravataUtils.getCurrentTimestamp());
             getStatusPublisher().publish(msgCtx);
 
-            MonitoringUtil.updateStatusOfJob(getCuratorClient(), jobId, jobState);
         } catch (Exception e) {
             throw new Exception("Error persisting job status " + e.getLocalizedMessage(), e);
         }
diff --git a/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/workflow/PreWorkflowManager.java b/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/workflow/PreWorkflowManager.java
index 922c89d..e401289 100644
--- a/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/workflow/PreWorkflowManager.java
+++ b/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/workflow/PreWorkflowManager.java
@@ -157,7 +157,6 @@ public class PreWorkflowManager extends WorkflowManager {
 
         String experimentId = processModel.getExperimentId();
 
-        MonitoringUtil.registerCancelProcess(getCuratorClient(), processId);
         List<String> workflows = MonitoringUtil.getWorkflowsOfProcess(getCuratorClient(), processId);
         final List<AbstractTask> allTasks = new ArrayList<>();
         if (workflows != null && workflows.size() > 0) {
diff --git a/modules/airavata-helix/task-core/src/main/java/org/apache/airavata/helix/core/util/MonitoringUtil.java b/modules/airavata-helix/task-core/src/main/java/org/apache/airavata/helix/core/util/MonitoringUtil.java
index 3168809..433dd10 100644
--- a/modules/airavata-helix/task-core/src/main/java/org/apache/airavata/helix/core/util/MonitoringUtil.java
+++ b/modules/airavata-helix/task-core/src/main/java/org/apache/airavata/helix/core/util/MonitoringUtil.java
@@ -15,79 +15,19 @@ public class MonitoringUtil {
     private final static Logger logger = LoggerFactory.getLogger(MonitoringUtil.class);
 
     private static final String PATH_PREFIX = "/airavata";
-    private static final String MONITORING = "/monitoring/";
     private static final String REGISTRY = "/registry/";
 
-    private static final String EXPERIMENT = "/experiment";
     private static final String TASK = "/task";
-    private static final String PROCESS = "/process";
-    private static final String GATEWAY = "/gateway";
-    private static final String LOCK = "/lock";
 
-    private static final String STATUS = "/status";
     private static final String JOBS = "/jobs";
-    private static final String JOB_ID = "/jobId";
-    private static final String JOB_NAME = "/jobName";
     private static final String WORKFLOWS = "/workflows";
     private static final String RETRY = "/retry";
 
-    public static final String CANCEL = "cancel";
-
-    // TODO perform exception handling
-    @SuppressWarnings("WeakerAccess")
-    public static void createMonitoringNode(CuratorFramework curatorClient, String jobId, String jobName, String taskId, String processId,
-                                            String experimentId, String gateway) throws Exception {
-        logger.info("Creating zookeeper paths for job monitoring for job id : " + jobId + ", process : "
-                + processId + ", gateway : " + gateway);
-
-        // TODO add another children in job id path to store process id. Some cases different machines will return same job id
-        if (curatorClient.checkExists().forPath(PATH_PREFIX + MONITORING + jobId) != null) {
-            logger.warn("Path " + PATH_PREFIX + MONITORING + jobId + " exists. Deleting for new job");
-            deleteIfExists(curatorClient, PATH_PREFIX + MONITORING + jobId);
-        }
-
-        if (curatorClient.checkExists().forPath(PATH_PREFIX + MONITORING + jobName) != null) {
-            logger.warn("Path " + PATH_PREFIX + MONITORING + jobName + " exists. Deleting for new job");
-            deleteIfExists(curatorClient, PATH_PREFIX + MONITORING + jobName);
-        }
-
-        if (curatorClient.checkExists().forPath(PATH_PREFIX + REGISTRY + processId) != null) {
-            logger.warn("Path " + PATH_PREFIX + REGISTRY + processId + " exists. Deleting for new job");
-            deleteIfExists(curatorClient, PATH_PREFIX + REGISTRY + processId);
-        }
-
-        curatorClient.create().creatingParentsIfNeeded().withMode(CreateMode.PERSISTENT).forPath(
-                PATH_PREFIX + MONITORING + jobId + LOCK, new byte[0]);
-        curatorClient.create().creatingParentsIfNeeded().withMode(CreateMode.PERSISTENT).forPath(
-                PATH_PREFIX + MONITORING + jobId + GATEWAY, gateway.getBytes());
-        curatorClient.create().creatingParentsIfNeeded().withMode(CreateMode.PERSISTENT).forPath(
-                PATH_PREFIX + MONITORING + jobId + PROCESS, processId.getBytes());
-        curatorClient.create().creatingParentsIfNeeded().withMode(CreateMode.PERSISTENT).forPath(
-                PATH_PREFIX + MONITORING + jobId + TASK, taskId.getBytes());
-        curatorClient.create().creatingParentsIfNeeded().withMode(CreateMode.PERSISTENT).forPath(
-                PATH_PREFIX + MONITORING + jobId + EXPERIMENT, experimentId.getBytes());
-        curatorClient.create().creatingParentsIfNeeded().withMode(CreateMode.PERSISTENT).forPath(
-                PATH_PREFIX + MONITORING + jobId + JOB_NAME, jobName.getBytes());
-        curatorClient.create().creatingParentsIfNeeded().withMode(CreateMode.PERSISTENT).forPath(
-                PATH_PREFIX + MONITORING + jobName + JOB_ID, jobId.getBytes());
-        curatorClient.create().creatingParentsIfNeeded().withMode(CreateMode.PERSISTENT).forPath(
-                PATH_PREFIX + REGISTRY + processId + JOBS, jobId.getBytes());
-    }
-
     public static void registerWorkflow(CuratorFramework curatorClient, String processId, String workflowId) throws Exception {
         curatorClient.create().creatingParentsIfNeeded().withMode(CreateMode.PERSISTENT).forPath(
                 PATH_PREFIX + REGISTRY + processId + WORKFLOWS + "/" + workflowId , new byte[0]);
     }
 
-    public static void registerCancelProcess(CuratorFramework curatorClient, String processId) throws Exception {
-        String path = PATH_PREFIX + REGISTRY + processId + STATUS;
-        if (curatorClient.checkExists().forPath(path) != null) {
-            curatorClient.delete().forPath(path);
-        }
-        curatorClient.create().creatingParentsIfNeeded().withMode(CreateMode.PERSISTENT).forPath(
-                path , CANCEL.getBytes());
-    }
-
     public static int getTaskRetryCount(CuratorFramework curatorClient, String taskId) throws Exception {
         String path = PATH_PREFIX + TASK + "/" + taskId + RETRY;
         if (curatorClient.checkExists().forPath(path) != null) {
@@ -107,109 +47,6 @@ public class MonitoringUtil {
                 path , ((currentRetryCount + 1) + "").getBytes());
     }
 
-    public static String getExperimentIdByJobId(CuratorFramework curatorClient, String jobId) throws Exception {
-        String path = PATH_PREFIX + MONITORING + jobId + EXPERIMENT;
-        if (curatorClient.checkExists().forPath(path) != null) {
-            byte[] processBytes = curatorClient.getData().forPath(path);
-            return new String(processBytes);
-        } else {
-            return null;
-        }
-    }
-
-    public static String getTaskIdByJobId(CuratorFramework curatorClient, String jobId) throws Exception {
-        String path = PATH_PREFIX + MONITORING + jobId + TASK;
-        if (curatorClient.checkExists().forPath(path) != null) {
-            byte[] processBytes = curatorClient.getData().forPath(path);
-            return new String(processBytes);
-        } else {
-            return null;
-        }
-    }
-
-    public static String getProcessIdByJobId(CuratorFramework curatorClient, String jobId) throws Exception {
-        String path = PATH_PREFIX + MONITORING + jobId + PROCESS;
-        if (curatorClient.checkExists().forPath(path) != null) {
-            byte[] processBytes = curatorClient.getData().forPath(path);
-            return new String(processBytes);
-        } else {
-            return null;
-        }
-    }
-
-    public static String getGatewayByJobId(CuratorFramework curatorClient, String jobId) throws Exception {
-        String path = PATH_PREFIX + MONITORING + jobId + GATEWAY;
-        if (curatorClient.checkExists().forPath(path) != null) {
-            byte[] gatewayBytes = curatorClient.getData().forPath(path);
-            return new String(gatewayBytes);
-        } else {
-            return null;
-        }
-    }
-
-    public static void updateStatusOfJob(CuratorFramework curatorClient, String jobId, JobState jobState) throws Exception {
-        String path = PATH_PREFIX + MONITORING + jobId + STATUS;
-        if (curatorClient.checkExists().forPath(path) != null) {
-            curatorClient.delete().forPath(path);
-        }
-        curatorClient.create().creatingParentsIfNeeded().withMode(CreateMode.PERSISTENT).forPath(path, jobState.name().getBytes());
-    }
-
-    public static JobState getCurrentStatusOfJob(CuratorFramework curatorClient, String jobId) throws Exception {
-        String path = PATH_PREFIX + MONITORING + jobId + STATUS;
-        if (curatorClient.checkExists().forPath(path) != null) {
-            byte[] gatewayBytes = curatorClient.getData().forPath(path);
-            return JobState.valueOf(new String(gatewayBytes));
-        } else {
-            return null;
-        }
-    }
-
-    public static String getJobIdByProcessId(CuratorFramework curatorClient, String processId) throws Exception {
-        String path = PATH_PREFIX + REGISTRY + processId + JOBS;
-        if (curatorClient.checkExists().forPath(path) != null) {
-            byte[] gatewayBytes = curatorClient.getData().forPath(path);
-            return new String(gatewayBytes);
-        } else {
-            return null;
-        }
-    }
-
-    public static String getJobNameByJobId(CuratorFramework curatorClient, String jobId) throws Exception {
-        String path = PATH_PREFIX + MONITORING + jobId + JOB_NAME;
-        if (curatorClient.checkExists().forPath(path) != null) {
-            byte[] gatewayBytes = curatorClient.getData().forPath(path);
-            return new String(gatewayBytes);
-        } else {
-            return null;
-        }
-    }
-
-    public static String getJobIdByJobName(CuratorFramework curatorClient, String jobName) throws Exception {
-        String path = PATH_PREFIX + MONITORING + jobName + JOB_ID;
-        if (curatorClient.checkExists().forPath(path) != null) {
-            byte[] gatewayBytes = curatorClient.getData().forPath(path);
-            return new String(gatewayBytes);
-        } else {
-            return null;
-        }
-    }
-
-    public static boolean hasMonitoringRegistered(CuratorFramework curatorClient, String jobId) throws Exception {
-        Stat stat = curatorClient.checkExists().forPath(PATH_PREFIX + MONITORING + jobId);
-        return stat != null;
-    }
-
-    public static String getStatusOfProcess(CuratorFramework curatorClient, String processId) throws Exception {
-        String path = PATH_PREFIX + REGISTRY + processId + STATUS;
-        if (curatorClient.checkExists().forPath(path) != null) {
-            byte[] statusBytes = curatorClient.getData().forPath(path);
-            return new String(statusBytes);
-        } else {
-            return null;
-        }
-    }
-
     public static List<String> getWorkflowsOfProcess(CuratorFramework curatorClient, String processId) throws Exception {
         String path = PATH_PREFIX + REGISTRY + processId + WORKFLOWS;
         if (curatorClient.checkExists().forPath(path) != null) {
@@ -231,24 +68,6 @@ public class MonitoringUtil {
 
     public static void deleteProcessSpecificNodes(CuratorFramework curatorClient, String processId) throws Exception {
 
-        String jobId = getJobIdByProcessId(curatorClient, processId);
-
-        if (jobId != null) {
-            logger.info("Deleting zookeeper paths in job monitoring for job id : " + jobId);
-            deleteIfExists(curatorClient, PATH_PREFIX + MONITORING + jobId + LOCK);
-            deleteIfExists(curatorClient, PATH_PREFIX + MONITORING + jobId + GATEWAY);
-            deleteIfExists(curatorClient, PATH_PREFIX + MONITORING + jobId + PROCESS);
-            deleteIfExists(curatorClient, PATH_PREFIX + MONITORING + jobId + TASK);
-            deleteIfExists(curatorClient, PATH_PREFIX + MONITORING + jobId + EXPERIMENT);
-            deleteIfExists(curatorClient, PATH_PREFIX + MONITORING + jobId + JOB_NAME);
-
-            String jobName = getJobNameByJobId(curatorClient, jobId);
-            deleteIfExists(curatorClient, PATH_PREFIX + MONITORING + jobName + JOB_ID);
-
-            deleteIfExists(curatorClient, PATH_PREFIX + MONITORING + jobName);
-            deleteIfExists(curatorClient, PATH_PREFIX + MONITORING + jobId);
-        }
-
         deleteIfExists(curatorClient, PATH_PREFIX + REGISTRY + processId + JOBS);
         deleteIfExists(curatorClient, PATH_PREFIX + REGISTRY + processId + WORKFLOWS);
         deleteIfExists(curatorClient, PATH_PREFIX + REGISTRY + processId);
diff --git a/modules/job-monitor/job-monitor-api/src/main/java/org/apache/airavata/monitor/AbstractMonitor.java b/modules/job-monitor/job-monitor-api/src/main/java/org/apache/airavata/monitor/AbstractMonitor.java
index 17ff21d..612c48f 100644
--- a/modules/job-monitor/job-monitor-api/src/main/java/org/apache/airavata/monitor/AbstractMonitor.java
+++ b/modules/job-monitor/job-monitor-api/src/main/java/org/apache/airavata/monitor/AbstractMonitor.java
@@ -2,8 +2,11 @@ package org.apache.airavata.monitor;
 
 import org.apache.airavata.common.exception.ApplicationSettingsException;
 import org.apache.airavata.common.utils.ServerSettings;
-import org.apache.airavata.helix.core.util.MonitoringUtil;
+import org.apache.airavata.common.utils.ThriftClientPool;
+import org.apache.airavata.model.job.JobModel;
 import org.apache.airavata.monitor.kafka.MessageProducer;
+import org.apache.airavata.registry.api.RegistryService;
+import org.apache.commons.pool.impl.GenericObjectPool;
 import org.apache.curator.RetryPolicy;
 import org.apache.curator.framework.CuratorFramework;
 import org.apache.curator.framework.CuratorFrameworkFactory;
@@ -11,33 +14,70 @@ import org.apache.curator.retry.ExponentialBackoffRetry;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import java.util.List;
+
 public class AbstractMonitor {
 
     private static final Logger log = LoggerFactory.getLogger(AbstractMonitor.class);
 
     private MessageProducer messageProducer;
     private CuratorFramework curatorClient;
+    private ThriftClientPool<RegistryService.Client> registryClientPool;
 
     public AbstractMonitor() throws ApplicationSettingsException {
         RetryPolicy retryPolicy = new ExponentialBackoffRetry(1000, 3);
         this.curatorClient = CuratorFrameworkFactory.newClient(ServerSettings.getZookeeperConnection(), retryPolicy);
         this.curatorClient.start();
+        this.initRegistryClientPool();
         messageProducer = new MessageProducer();
     }
 
+    private void initRegistryClientPool() throws ApplicationSettingsException {
+
+        GenericObjectPool.Config poolConfig = new GenericObjectPool.Config();
+        poolConfig.maxActive = 100;
+        poolConfig.minIdle = 5;
+        poolConfig.whenExhaustedAction = GenericObjectPool.WHEN_EXHAUSTED_BLOCK;
+        poolConfig.testOnBorrow = true;
+        poolConfig.testWhileIdle = true;
+        poolConfig.numTestsPerEvictionRun = 10;
+        poolConfig.maxWait = 3000;
+
+        this.registryClientPool = new ThriftClientPool<>(
+                RegistryService.Client::new, poolConfig, ServerSettings.getRegistryServerHost(),
+                Integer.parseInt(ServerSettings.getRegistryServerPort()));
+    }
+
     private boolean validateJobStatus(JobStatusResult jobStatusResult) {
+        RegistryService.Client registryClient = getRegistryClientPool().getResource();
+        boolean validated = true;
         try {
-            String experimentId = MonitoringUtil.getExperimentIdByJobId(curatorClient, jobStatusResult.getJobId());
-            String processId = MonitoringUtil.getProcessIdByJobId(curatorClient, jobStatusResult.getJobId());
-            if (experimentId != null && processId != null) {
-                log.info("Job id " + jobStatusResult.getJobId() + " is owned by process " + processId + " of experiment " + experimentId);
-                return true;
-            } else {
-                log.error("Experiment or process is null for job " + jobStatusResult.getJobId());
-                return false;
+            List<JobModel> jobs = registryClient.getJobs("jobId", jobStatusResult.getJobId());
+
+            if (jobs.size() != 1) {
+                log.error("More than one job for job id " + jobStatusResult.getJobId() + " in the registry. Count " + jobs.size());
+                validated = false;
+
+            } else  {
+                JobModel jobModel = jobs.get(0);
+
+                String processId = jobModel.getProcessId();
+                String experimentId = registryClient.getProcess(processId).getExperimentId();
+
+                if (experimentId != null && processId != null) {
+                    log.info("Job id " + jobStatusResult.getJobId() + " is owned by process " + processId + " of experiment " + experimentId);
+                    validated = true;
+                } else {
+                    log.error("Experiment or process is null for job " + jobStatusResult.getJobId());
+                    validated = false;
+                }
             }
+            getRegistryClientPool().returnResource(registryClient);
+            return validated;
+
         } catch (Exception e) {
             log.error("Error at validating job status " + jobStatusResult.getJobId(), e);
+            getRegistryClientPool().returnBrokenResource(registryClient);
             return false;
         }
 
@@ -54,4 +94,8 @@ public class AbstractMonitor {
             throw new MonitoringException("Failed to submit job status for job id " + jobStatusResult.getJobId() + " to status queue", e);
         }
     }
+
+    public ThriftClientPool<RegistryService.Client> getRegistryClientPool() {
+        return registryClientPool;
+    }
 }
diff --git a/modules/job-monitor/real-time-monitor/src/main/java/org/apache/airavata/monitor/realtime/RealtimeMonitor.java b/modules/job-monitor/real-time-monitor/src/main/java/org/apache/airavata/monitor/realtime/RealtimeMonitor.java
index e2c634a..576ab34 100644
--- a/modules/job-monitor/real-time-monitor/src/main/java/org/apache/airavata/monitor/realtime/RealtimeMonitor.java
+++ b/modules/job-monitor/real-time-monitor/src/main/java/org/apache/airavata/monitor/realtime/RealtimeMonitor.java
@@ -25,12 +25,12 @@ import org.apache.airavata.monitor.AbstractMonitor;
 import org.apache.airavata.monitor.JobStatusResult;
 import org.apache.airavata.monitor.MonitoringException;
 import org.apache.airavata.monitor.realtime.parser.RealtimeJobStatusParser;
+import org.apache.airavata.registry.api.RegistryService;
 import org.apache.kafka.clients.consumer.Consumer;
 import org.apache.kafka.clients.consumer.ConsumerConfig;
 import org.apache.kafka.clients.consumer.ConsumerRecords;
 import org.apache.kafka.clients.consumer.KafkaConsumer;
 import org.apache.kafka.common.serialization.StringDeserializer;
-import org.apache.kafka.common.serialization.StringSerializer;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -67,10 +67,13 @@ public class RealtimeMonitor extends AbstractMonitor {
         while (true) {
             final ConsumerRecords<String, String> consumerRecords = consumer.poll(1000);
             consumerRecords.forEach(record -> {
+                RegistryService.Client registryClient = getRegistryClientPool().getResource();
                 try {
-                    process(record.value());
+                    process(record.value(), registryClient);
+                    getRegistryClientPool().returnResource(registryClient);
                 } catch (Exception e) {
                     logger.error("Error while processing message " + record.value(), e);
+                    getRegistryClientPool().returnBrokenResource(registryClient);
                     // ignore this error
                 }
             });
@@ -79,9 +82,9 @@ public class RealtimeMonitor extends AbstractMonitor {
         }
     }
 
-    private void process(String value) throws MonitoringException {
+    private void process(String value, RegistryService.Client registryClient) throws MonitoringException {
         logger.info("Received data " + value);
-        JobStatusResult statusResult = parser.parse(value);
+        JobStatusResult statusResult = parser.parse(value, registryClient);
         if (statusResult != null) {
             logger.info("Submitting message to job monitor queue");
             submitJobStatus(statusResult);
diff --git a/modules/job-monitor/real-time-monitor/src/main/java/org/apache/airavata/monitor/realtime/parser/RealtimeJobStatusParser.java b/modules/job-monitor/real-time-monitor/src/main/java/org/apache/airavata/monitor/realtime/parser/RealtimeJobStatusParser.java
index a529faa..0daa362 100644
--- a/modules/job-monitor/real-time-monitor/src/main/java/org/apache/airavata/monitor/realtime/parser/RealtimeJobStatusParser.java
+++ b/modules/job-monitor/real-time-monitor/src/main/java/org/apache/airavata/monitor/realtime/parser/RealtimeJobStatusParser.java
@@ -21,58 +21,56 @@ package org.apache.airavata.monitor.realtime.parser;
 
 import com.google.gson.Gson;
 import com.google.gson.JsonSyntaxException;
-import org.apache.airavata.common.exception.ApplicationSettingsException;
 import org.apache.airavata.common.utils.ServerSettings;
-import org.apache.airavata.helix.core.util.MonitoringUtil;
+import org.apache.airavata.model.job.JobModel;
 import org.apache.airavata.model.status.JobState;
 import org.apache.airavata.monitor.JobStatusResult;
-import org.apache.curator.RetryPolicy;
-import org.apache.curator.framework.CuratorFramework;
-import org.apache.curator.framework.CuratorFrameworkFactory;
-import org.apache.curator.retry.ExponentialBackoffRetry;
+import org.apache.airavata.registry.api.RegistryService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import java.util.List;
 import java.util.Map;
+import java.util.Optional;
 
 public class RealtimeJobStatusParser {
 
     private static final Logger logger = LoggerFactory.getLogger(RealtimeJobStatusParser.class);
 
-    private CuratorFramework curatorClient = null;
-
-    public RealtimeJobStatusParser() throws ApplicationSettingsException {
-        RetryPolicy retryPolicy = new ExponentialBackoffRetry(1000, 3);
-        this.curatorClient = CuratorFrameworkFactory.newClient(ServerSettings.getZookeeperConnection(), retryPolicy);
-        this.curatorClient.start();
-    }
-
-    private String getJobIdIdByJobNameWithRetry(String jobName) throws Exception {
+    private String getJobIdIdByJobNameWithRetry(String jobName, String taskId, RegistryService.Client registryClient) throws Exception {
         for (int  i = 0; i < 3; i++) {
-            String jobId = MonitoringUtil.getJobIdByJobName(this.curatorClient, jobName);
-            if (jobId == null) {
+
+            List<JobModel> jobsOfTask = registryClient.getJobs("taskId", taskId);
+            if (jobsOfTask == null || jobsOfTask.size() == 0) {
                 // Retry after 2s
-                logger.warn("No job id for job name " + jobName + ". Retrying in 2 seconds");
+                logger.warn("No jobs for task " + taskId + ". Retrying in 2 seconds");
                 Thread.sleep(2000);
             } else {
-                return jobId;
+                Optional<JobModel> filtered = jobsOfTask.stream().filter(job -> jobName.equals(job.getJobName())).findFirst();
+                if (filtered.isPresent()) {
+                    return filtered.get().getJobId();
+                } else {
+                    logger.warn("No job for job name " + jobName + " and task " + taskId + ". Retrying in 2 seconds");
+                    Thread.sleep(2000);
+                }
             }
         }
         return null;
     }
 
-    public JobStatusResult parse(String rawMessage) {
+    public JobStatusResult parse(String rawMessage, RegistryService.Client registryClient) {
 
         try {
             Map asMap = new Gson().fromJson(rawMessage, Map.class);
             if (asMap.containsKey("jobName") && asMap.containsKey("status")) {
                 String jobName = (String) asMap.get("jobName");
                 String status = (String) asMap.get("status");
+                String taskId = (String) asMap.get("task");
 
-                if (jobName != null && status != null) {
+                if (jobName != null && status != null && taskId != null) {
 
                     try {
-                        String jobId = getJobIdIdByJobNameWithRetry(jobName);
+                        String jobId = getJobIdIdByJobNameWithRetry(jobName, taskId, registryClient);
                         if (jobId == null) {
                             logger.error("No job id for job name " + jobName);
                             return null;
@@ -105,7 +103,7 @@ public class RealtimeJobStatusParser {
                         return null;
                     }
                 } else {
-                    logger.error("Job name or status is null in message " + rawMessage);
+                    logger.error("Job name, taskId or status is null in message " + rawMessage);
                     return null;
                 }
             } else {
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ExperimentRegistry.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ExperimentRegistry.java
index f04346d..8b47a78 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ExperimentRegistry.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ExperimentRegistry.java
@@ -1295,7 +1295,8 @@ public class ExperimentRegistry {
 	                jobs.add(jobModel);
                 }
                 return jobs;
-            }else if (fieldName.equals(Constants.FieldConstants.JobConstants.TASK_ID)) {
+
+            } else if (fieldName.equals(Constants.FieldConstants.JobConstants.TASK_ID)) {
                 TaskResource taskResource = new TaskResource();
                 taskResource.setTaskId((String) value);
                 List<JobResource> resources = taskResource.getJobList();
@@ -1312,7 +1313,25 @@ public class ExperimentRegistry {
                     jobs.add(jobModel);
                 }
                 return jobs;
-            }else {
+
+            } else if (fieldName.equals(Constants.FieldConstants.JobConstants.JOB_ID)) {
+                JobResource resource = new JobResource();
+                resource.setJobId((String)value);
+                List<JobResource> resources = resource.getJobsById();
+                for (JobResource jobResource : resources) {
+                    JobModel jobModel = ThriftDataModelConversion.getJobModel(jobResource);
+                    JobStatusResource latestSR = jobResource.getJobStatus();
+                    if (latestSR != null) {
+                        JobStatus jobStatus = new JobStatus(JobState.valueOf(latestSR.getState()));
+                        jobStatus.setReason(latestSR.getReason());
+                        List<JobStatus> statuses = new ArrayList<>();
+                        statuses.add(jobStatus);
+                        jobModel.setJobStatuses(statuses);
+                    }
+                    jobs.add(jobModel);
+                }
+                return jobs;
+            } else {
                 logger.error("Unsupported field name to retrieve job list...");
             }
         } catch (Exception e) {
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/JobResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/JobResource.java
index ffb33ae..148b366 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/JobResource.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/JobResource.java
@@ -36,6 +36,7 @@ import javax.persistence.Query;
 import java.sql.Timestamp;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 public class JobResource extends AbstractExpCatResource {
     private static final Logger logger = LoggerFactory.getLogger(JobResource.class);
@@ -139,6 +140,14 @@ public class JobResource extends AbstractExpCatResource {
         this.exitCode = exitCode;
     }
 
+    public List<JobResource> getJobsById() throws RegistryException {
+        List<ExperimentCatResource> experimentCatResources = get(ResourceType.JOB);
+        List<JobResource> jobResources = experimentCatResources.stream()
+                .map(experimentCatResource -> (JobResource)experimentCatResource)
+                .collect(Collectors.toList());
+        return jobResources;
+    }
+
     public ExperimentCatResource create(ResourceType type) throws RegistryException {
         switch (type){
             case JOB_STATUS:
@@ -263,6 +272,19 @@ public class JobResource extends AbstractExpCatResource {
                         }
                     }
                     break;
+                case JOB:
+                    generator = new QueryGenerator(JOB);
+                    generator.setParameter(JobStatusConstants.JOB_ID, jobId);
+                    q = generator.selectQuery(em);
+                    results = q.getResultList();
+                    if (results.size() != 0) {
+                        for (Object result : results) {
+                            Job job = (Job) result;
+                            JobResource jobResource =
+                                    (JobResource) Utils.getResource(ResourceType.JOB, job);
+                            resourceList.add(jobResource);
+                        }
+                    }
                 default:
                     logger.error("Unsupported resource type for job resource.", new UnsupportedOperationException());
                     throw new UnsupportedOperationException();
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 a6a9ed0..7b6ced5 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
@@ -67,6 +67,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import java.util.*;
+import java.util.stream.Collectors;
 
 public class RegistryServerHandler implements RegistryService.Iface {
     private final static Logger logger = LoggerFactory.getLogger(RegistryServerHandler.class);
@@ -1028,6 +1029,20 @@ public class RegistryServerHandler implements RegistryService.Iface {
         }
     }
 
+    @Override
+    public List<JobModel> getJobs(String queryType, String id) throws RegistryServiceException, TException {
+
+        try {
+            return fetchJobModels(queryType, id);
+        } catch (Exception e) {
+            logger.error(id, "Error while retrieving jobs for query " + queryType + " and id " + id, e);
+            AiravataSystemException exception = new AiravataSystemException();
+            exception.setAiravataErrorType(AiravataErrorType.INTERNAL_ERROR);
+            exception.setMessage("Error while retrieving jobs for query " + queryType + " and id " + id + ". More info : " + e.getMessage());
+            throw exception;
+        }
+    }
+
     private JobModel fetchJobModel(String queryType, String id) throws RegistryException {
         experimentCatalog = RegistryFactory.getDefaultExpCatalog();
         if (queryType.equals(Constants.FieldConstants.JobConstants.TASK_ID)) {
@@ -1058,6 +1073,18 @@ public class RegistryServerHandler implements RegistryService.Iface {
         return null;
     }
 
+    private List<JobModel> fetchJobModels(String queryType, String id) throws RegistryException {
+        experimentCatalog = RegistryFactory.getDefaultExpCatalog();
+        List<Object> jobs = new ArrayList<>();
+        if (queryType.equals(Constants.FieldConstants.JobConstants.TASK_ID)) {
+            jobs = experimentCatalog.get(ExperimentCatalogModelType.JOB, Constants.FieldConstants.JobConstants.TASK_ID, id);
+        }
+        else if (queryType.equals(Constants.FieldConstants.JobConstants.PROCESS_ID)) {
+            jobs = experimentCatalog.get(ExperimentCatalogModelType.JOB, Constants.FieldConstants.JobConstants.PROCESS_ID, id);
+        }
+        return jobs.stream().map(obj -> (JobModel)obj).collect(Collectors.toList());
+    }
+
     @Override
     public List<OutputDataObjectType> getProcessOutputs(String processId) throws RegistryServiceException, TException {
         try {
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 ad6ea06..b28c448 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
@@ -739,6 +739,8 @@ public class RegistryService {
 
     public org.apache.airavata.model.job.JobModel getJob(java.lang.String queryType, java.lang.String id) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
 
+    public java.util.List<org.apache.airavata.model.job.JobModel> getJobs(java.lang.String queryType, java.lang.String id) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
+
     public java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> getProcessOutputs(java.lang.String processId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
 
     public java.util.List<java.lang.String> getProcessIds(java.lang.String experimentId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
@@ -2593,6 +2595,8 @@ public class RegistryService {
 
     public void getJob(java.lang.String queryType, java.lang.String id, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.job.JobModel> resultHandler) throws org.apache.thrift.TException;
 
+    public void getJobs(java.lang.String queryType, java.lang.String id, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.job.JobModel>> resultHandler) throws org.apache.thrift.TException;
+
     public void getProcessOutputs(java.lang.String processId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>> resultHandler) throws org.apache.thrift.TException;
 
     public void getProcessIds(java.lang.String experimentId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>> resultHandler) throws org.apache.thrift.TException;
@@ -4243,6 +4247,33 @@ public class RegistryService {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getJob failed: unknown result");
     }
 
+    public java.util.List<org.apache.airavata.model.job.JobModel> getJobs(java.lang.String queryType, java.lang.String id) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      send_getJobs(queryType, id);
+      return recv_getJobs();
+    }
+
+    public void send_getJobs(java.lang.String queryType, java.lang.String id) throws org.apache.thrift.TException
+    {
+      getJobs_args args = new getJobs_args();
+      args.setQueryType(queryType);
+      args.setId(id);
+      sendBase("getJobs", args);
+    }
+
+    public java.util.List<org.apache.airavata.model.job.JobModel> recv_getJobs() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      getJobs_result result = new getJobs_result();
+      receiveBase(result, "getJobs");
+      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, "getJobs failed: unknown result");
+    }
+
     public java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> getProcessOutputs(java.lang.String processId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getProcessOutputs(processId);
@@ -9164,6 +9195,41 @@ public class RegistryService {
       }
     }
 
+    public void getJobs(java.lang.String queryType, java.lang.String id, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.job.JobModel>> resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      getJobs_call method_call = new getJobs_call(queryType, id, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class getJobs_call extends org.apache.thrift.async.TAsyncMethodCall<java.util.List<org.apache.airavata.model.job.JobModel>> {
+      private java.lang.String queryType;
+      private java.lang.String id;
+      public getJobs_call(java.lang.String queryType, java.lang.String id, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.job.JobModel>> 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.queryType = queryType;
+        this.id = id;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getJobs", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        getJobs_args args = new getJobs_args();
+        args.setQueryType(queryType);
+        args.setId(id);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public java.util.List<org.apache.airavata.model.job.JobModel> getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new java.lang.IllegalStateException("Method call not finished!");
+        }
+        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_getJobs();
+      }
+    }
+
     public void getProcessOutputs(java.lang.String processId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getProcessOutputs_call method_call = new getProcessOutputs_call(processId, resultHandler, this, ___protocolFactory, ___transport);
@@ -13196,6 +13262,7 @@ public class RegistryService {
       processMap.put("getProcessStatus", new getProcessStatus());
       processMap.put("isJobExist", new isJobExist());
       processMap.put("getJob", new getJob());
+      processMap.put("getJobs", new getJobs());
       processMap.put("getProcessOutputs", new getProcessOutputs());
       processMap.put("getProcessIds", new getProcessIds());
       processMap.put("getJobDetails", new getJobDetails());
@@ -14596,6 +14663,30 @@ public class RegistryService {
       }
     }
 
+    public static class getJobs<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getJobs_args> {
+      public getJobs() {
+        super("getJobs");
+      }
+
+      public getJobs_args getEmptyArgsInstance() {
+        return new getJobs_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public getJobs_result getResult(I iface, getJobs_args args) throws org.apache.thrift.TException {
+        getJobs_result result = new getJobs_result();
+        try {
+          result.success = iface.getJobs(args.queryType, args.id);
+        } catch (org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+          result.rse = rse;
+        }
+        return result;
+      }
+    }
+
     public static class getProcessOutputs<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getProcessOutputs_args> {
       public getProcessOutputs() {
         super("getProcessOutputs");
@@ -17493,6 +17584,7 @@ public class RegistryService {
       processMap.put("getProcessStatus", new getProcessStatus());
       processMap.put("isJobExist", new isJobExist());
       processMap.put("getJob", new getJob());
+      processMap.put("getJobs", new getJobs());
       processMap.put("getProcessOutputs", new getProcessOutputs());
       processMap.put("getProcessIds", new getProcessIds());
       processMap.put("getJobDetails", new getJobDetails());
@@ -21036,150 +21128,20 @@ public class RegistryService {
       }
     }
 
-    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 getProcessOutputs_args getEmptyArgsInstance() {
-        return new getProcessOutputs_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) {
-        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();
-            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;
-            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);
-              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, 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 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);
-            } 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;
-            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);
-              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, 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 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 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 getJobDetails_args getEmptyArgsInstance() {
-        return new getJobDetails_args();
+      public getJobs_args getEmptyArgsInstance() {
+        return new getJobs_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) {
         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();
+            getJobs_result result = new getJobs_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -21194,15 +21156,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();
+            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);
               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();
@@ -21230,25 +21188,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, 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 registerApplicationModule<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerApplicationModule_args, java.lang.String> {
-      public registerApplicationModule() {
-        super("registerApplicationModule");
+    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 registerApplicationModule_args getEmptyArgsInstance() {
-        return new registerApplicationModule_args();
+      public getProcessOutputs_args getEmptyArgsInstance() {
+        return new getProcessOutputs_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.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.String>() { 
-          public void onComplete(java.lang.String o) {
-            registerApplicationModule_result result = new registerApplicationModule_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;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -21263,7 +21221,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();
+            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);
@@ -21295,25 +21253,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, 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 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 getProcessIds<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getProcessIds_args, java.util.List<java.lang.String>> {
+      public getProcessIds() {
+        super("getProcessIds");
       }
 
-      public getApplicationModule_args getEmptyArgsInstance() {
-        return new getApplicationModule_args();
+      public getProcessIds_args getEmptyArgsInstance() {
+        return new getProcessIds_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<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.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<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);
@@ -21328,7 +21286,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();
+            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);
@@ -21360,27 +21318,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, 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 updateApplicationModule<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateApplicationModule_args, java.lang.Boolean> {
-      public updateApplicationModule() {
-        super("updateApplicationModule");
+    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 updateApplicationModule_args getEmptyArgsInstance() {
-        return new updateApplicationModule_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) {
-            updateApplicationModule_result result = new updateApplicationModule_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) {
@@ -21394,11 +21351,15 @@ 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();
+            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();
@@ -21426,25 +21387,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, 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 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 registerApplicationModule<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerApplicationModule_args, java.lang.String> {
+      public registerApplicationModule() {
+        super("registerApplicationModule");
       }
 
-      public getAllAppModules_args getEmptyArgsInstance() {
-        return new getAllAppModules_args();
+      public registerApplicationModule_args getEmptyArgsInstance() {
+        return new registerApplicationModule_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.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.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.lang.String>() { 
+          public void onComplete(java.lang.String o) {
+            registerApplicationModule_result result = new registerApplicationModule_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -21459,7 +21420,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();
+            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);
@@ -21491,27 +21452,26 @@ 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, 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 deleteApplicationModule<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteApplicationModule_args, java.lang.Boolean> {
-      public deleteApplicationModule() {
-        super("deleteApplicationModule");
+    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 deleteApplicationModule_args getEmptyArgsInstance() {
-        return new deleteApplicationModule_args();
+      public getApplicationModule_args getEmptyArgsInstance() {
+        return new getApplicationModule_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.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) {
-            deleteApplicationModule_result result = new deleteApplicationModule_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;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -21525,7 +21485,7 @@ 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();
+            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);
@@ -21557,26 +21517,27 @@ 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, 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 registerApplicationDeployment<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerApplicationDeployment_args, java.lang.String> {
-      public registerApplicationDeployment() {
-        super("registerApplicationDeployment");
+    public static class updateApplicationModule<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateApplicationModule_args, java.lang.Boolean> {
+      public updateApplicationModule() {
+        super("updateApplicationModule");
       }
 
-      public registerApplicationDeployment_args getEmptyArgsInstance() {
-        return new registerApplicationDeployment_args();
+      public updateApplicationModule_args getEmptyArgsInstance() {
+        return new updateApplicationModule_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) {
-            registerApplicationDeployment_result result = new registerApplicationDeployment_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            updateApplicationModule_result result = new updateApplicationModule_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) {
@@ -21590,7 +21551,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();
+            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);
@@ -21622,25 +21583,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, 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 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 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 getApplicationDeployment_args getEmptyArgsInstance() {
-        return new getApplicationDeployment_args();
+      public getAllAppModules_args getEmptyArgsInstance() {
+        return new getAllAppModules_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<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<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<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;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -21655,7 +21616,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();
+            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);
@@ -21687,25 +21648,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, 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 updateApplicationDeployment<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateApplicationDeployment_args, java.lang.Boolean> {
-      public updateApplicationDeployment() {
-        super("updateApplicationDeployment");
+    public static class deleteApplicationModule<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteApplicationModule_args, java.lang.Boolean> {
+      public deleteApplicationModule() {
+        super("deleteApplicationModule");
       }
 
-      public updateApplicationDeployment_args getEmptyArgsInstance() {
-        return new updateApplicationDeployment_args();
+      public deleteApplicationModule_args getEmptyArgsInstance() {
+        return new deleteApplicationModule_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();
+            deleteApplicationModule_result result = new deleteApplicationModule_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -21721,7 +21682,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();
+            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);
@@ -21753,27 +21714,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, 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 deleteApplicationDeployment<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteApplicationDeployment_args, java.lang.Boolean> {
-      public deleteApplicationDeployment() {
-        super("deleteApplicationDeployment");
+    public static class registerApplicationDeployment<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerApplicationDeployment_args, java.lang.String> {
+      public registerApplicationDeployment() {
+        super("registerApplicationDeployment");
       }
 
-      public deleteApplicationDeployment_args getEmptyArgsInstance() {
-        return new deleteApplicationDeployment_args();
+      public registerApplicationDeployment_args getEmptyArgsInstance() {
+        return new registerApplicationDeployment_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) {
-            deleteApplicationDeployment_result result = new deleteApplicationDeployment_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;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -21787,7 +21747,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();
+            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);
@@ -21819,25 +21779,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, 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 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 getApplicationDeployment<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getApplicationDeployment_args, org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> {
+      public getApplicationDeployment() {
+        super("getApplicationDeployment");
       }
 
-      public getAllApplicationDeployments_args getEmptyArgsInstance() {
-        return new getAllApplicationDeployments_args();
+      public getApplicationDeployment_args getEmptyArgsInstance() {
+        return new getApplicationDeployment_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<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>>() { 
-          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<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);
@@ -21852,7 +21812,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();
+            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);
@@ -21884,26 +21844,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, 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 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 updateApplicationDeployment<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateApplicationDeployment_args, java.lang.Boolean> {
+      public updateApplicationDeployment() {
+        super("updateApplicationDeployment");
       }
 
-      public getAppModuleDeployedResources_args getEmptyArgsInstance() {
-        return new getAppModuleDeployedResources_args();
+      public updateApplicationDeployment_args getEmptyArgsInstance() {
+        return new updateApplicationDeployment_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.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<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<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) {
@@ -21917,7 +21878,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();
+            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);
@@ -21949,26 +21910,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, 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 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 deleteApplicationDeployment<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteApplicationDeployment_args, java.lang.Boolean> {
+      public deleteApplicationDeployment() {
+        super("deleteApplicationDeployment");
       }
 
-      public getApplicationDeployments_args getEmptyArgsInstance() {
-        return new getApplicationDeployments_args();
+      public deleteApplicationDeployment_args getEmptyArgsInstance() {
+        return new deleteApplicationDeployment_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) {
+            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) {
@@ -21982,7 +21944,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();
+            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);
@@ -22014,25 +21976,25 @@ 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, 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 registerApplicationInterface<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerApplicationInterface_args, java.lang.String> {
-      public registerApplicationInterface() {
-        super("registerApplicationInterface");
+    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 registerApplicationInterface_args getEmptyArgsInstance() {
-        return new registerApplicationInterface_args();
+      public getAllApplicationDeployments_args getEmptyArgsInstance() {
+        return new getAllApplicationDeployments_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.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.String>() { 
-          public void onComplete(java.lang.String o) {
-            registerApplicationInterface_result result = new registerApplicationInterface_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);
@@ -22047,7 +22009,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();
+            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);
@@ -22079,25 +22041,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, 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 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 getAppModuleDeployedResources<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAppModuleDeployedResources_args, java.util.List<java.lang.String>> {
+      public getAppModuleDeployedResources() {
+        super("getAppModuleDeployedResources");
       }
 
-      public getApplicationInterface_args getEmptyArgsInstance() {
-        return new getApplicationInterface_args();
+      public getAppModuleDeployedResources_args getEmptyArgsInstance() {
+        return new getAppModuleDeployedResources_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<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.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<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);
@@ -22112,7 +22074,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();
+            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);
@@ -22144,27 +22106,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, 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 updateApplicationInterface<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateApplicationInterface_args, java.lang.Boolean> {
-      public updateApplicationInterface() {
-        super("updateApplicationInterface");
+    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 updateApplicationInterface_args getEmptyArgsInstance() {
-        return new updateApplicationInterface_args();
+      public getApplicationDeployments_args getEmptyArgsInstance() {
+        return new getApplicationDeployments_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) {
+            getApplicationDeployments_result result = new getApplicationDeployments_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) {
@@ -22178,7 +22139,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();
+            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);
@@ -22210,27 +22171,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, 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 deleteApplicationInterface<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteApplicationInterface_args, java.lang.Boolean> {
-      public deleteApplicationInterface() {
-        super("deleteApplicationInterface");
+    public static class registerApplicationInterface<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerApplicationInterface_args, java.lang.String> {
+      public registerApplicationInterface() {
+        super("registerApplicationInterface");
       }
 
-      public deleteApplicationInterface_args getEmptyArgsInstance() {
-        return new deleteApplicationInterface_args();
+      public registerApplicationInterface_args getEmptyArgsInstance() {
+        return new registerApplicationInterface_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) {
-            deleteApplicationInterface_result result = new deleteApplicationInterface_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;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -22244,7 +22204,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();
+            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);
@@ -22276,25 +22236,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, 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 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 getApplicationInterface<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getApplicationInterface_args, org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription> {
+      public getApplicationInterface() {
+        super("getApplicationInterface");
       }
 
-      public getAllApplicationInterfaceNames_args getEmptyArgsInstance() {
-        return new getAllApplicationInterfaceNames_args();
+      public getApplicationInterface_args getEmptyArgsInstance() {
+        return new getApplicationInterface_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.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) {
-            getAllApplicationInterfaceNames_result result = new getAllApplicationInterfaceNames_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);
@@ -22309,7 +22269,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();
+            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);
@@ -22341,26 +22301,27 @@ 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, 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 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 updateApplicationInterface<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateApplicationInterface_args, java.lang.Boolean> {
+      public updateApplicationInterface() {
+        super("updateApplicationInterface");
       }
 
-      public getAllApplicationInterfaces_args getEmptyArgsInstance() {
-        return new getAllApplicationInterfaces_args();
+      public updateApplicationInterface_args getEmptyArgsInstance() {
+        return new updateApplicationInterface_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.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.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.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) {
@@ -22374,7 +22335,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();
+            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);
@@ -22406,26 +22367,27 @@ 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, 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 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 deleteApplicationInterface<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteApplicationInterface_args, java.lang.Boolean> {
+      public deleteApplicationInterface() {
+        super("deleteApplicationInterface");
       }
 
-      public getApplicationInputs_args getEmptyArgsInstance() {
-        return new getApplicationInputs_args();
+      public deleteApplicationInterface_args getEmptyArgsInstance() {
+        return new deleteApplicationInterface_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.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.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.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) {
@@ -22439,7 +22401,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();
+            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);
@@ -22471,25 +22433,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, 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 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 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 getApplicationOutputs_args getEmptyArgsInstance() {
-        return new getApplicationOutputs_args();
+      public getAllApplicationInterfaceNames_args getEmptyArgsInstance() {
+        return new getAllApplicationInterfaceNames_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<java.util.Map<java.lang.String,java.lang.String>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.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<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);
@@ -22504,7 +22466,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();
+            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);
@@ -22536,25 +22498,25 @@ 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, 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 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 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 getAvailableAppInterfaceComputeResources_args getEmptyArgsInstance() {
-        return new getAvailableAppInterfaceComputeResources_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) {
-            getAvailableAppInterfaceComputeResources_result result = new getAvailableAppInterfaceComputeResources_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);
@@ -22569,7 +22531,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();
+            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);
@@ -22601,25 +22563,25 @@ 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, 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 registerComputeResource<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerComputeResource_args, java.lang.String> {
-      public registerComputeResource() {
-        super("registerComputeResource");
+    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 registerComputeResource_args getEmptyArgsInstance() {
-        return new registerComputeResource_args();
+      public getApplicationInputs_args getEmptyArgsInstance() {
+        return new getApplicationInputs_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.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.String>() { 
-          public void onComplete(java.lang.String o) {
-            registerComputeResource_result result = new registerComputeResource_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;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -22634,7 +22596,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();
+            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);
@@ -22666,25 +22628,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, 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 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 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 getComputeResource_args getEmptyArgsInstance() {
-        return new getComputeResource_args();
+      public getApplicationOutputs_args getEmptyArgsInstance() {
+        return new getApplicationOutputs_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.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<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.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;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -22699,7 +22661,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();
+            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);
@@ -22731,25 +22693,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, 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 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 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 getAllComputeResourceNames_args getEmptyArgsInstance() {
-        return new getAllComputeResourceNames_args();
+      public getAvailableAppInterfaceComputeResources_args getEmptyArgsInstance() {
+        return new getAvailableAppInterfaceComputeResources_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) {
         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();
+            getAvailableAppInterfaceComputeResources_result result = new getAvailableAppInterfaceComputeResources_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -22764,7 +22726,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();
+            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);
@@ -22796,27 +22758,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, 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 updateComputeResource<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateComputeResource_args, java.lang.Boolean> {
-      public updateComputeResource() {
-        super("updateComputeResource");
+    public static class registerComputeResource<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerComputeResource_args, java.lang.String> {
+      public registerComputeResource() {
+        super("registerComputeResource");
       }
 
-      public updateComputeResource_args getEmptyArgsInstance() {
-        return new updateComputeResource_args();
+      public registerComputeResource_args getEmptyArgsInstance() {
+        return new registerComputeResource_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) {
-            updateComputeResource_result result = new updateComputeResource_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;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -22830,7 +22791,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();
+            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);
@@ -22862,27 +22823,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, 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 deleteComputeResource<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteComputeResource_args, java.lang.Boolean> {
-      public deleteComputeResource() {
-        super("deleteComputeResource");
+    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 deleteComputeResource_args getEmptyArgsInstance() {
-        return new deleteComputeResource_args();
+      public getComputeResource_args getEmptyArgsInstance() {
+        return new getComputeResource_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.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.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            deleteComputeResource_result result = new deleteComputeResource_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;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -22896,7 +22856,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();
+            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);
@@ -22928,25 +22888,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, 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 registerStorageResource<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerStorageResource_args, java.lang.String> {
-      public registerStorageResource() {
-        super("registerStorageResource");
+    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 registerStorageResource_args getEmptyArgsInstance() {
-        return new registerStorageResource_args();
+      public getAllComputeResourceNames_args getEmptyArgsInstance() {
+        return new getAllComputeResourceNames_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) {
+            getAllComputeResourceNames_result result = new getAllComputeResourceNames_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -22961,7 +22921,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();
+            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);
@@ -22993,26 +22953,27 @@ 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, 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 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 updateComputeResource<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateComputeResource_args, java.lang.Boolean> {
+      public updateComputeResource() {
+        super("updateComputeResource");
       }
 
-      public getStorageResource_args getEmptyArgsInstance() {
-        return new getStorageResource_args();
+      public updateComputeResource_args getEmptyArgsInstance() {
+        return new updateComputeResource_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.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.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.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            updateComputeResource_result result = new updateComputeResource_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) {
@@ -23026,7 +22987,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();
+            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);
@@ -23058,26 +23019,27 @@ 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, 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 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 deleteComputeResource<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteComputeResource_args, java.lang.Boolean> {
+      public deleteComputeResource() {
+        super("deleteComputeResource");
       }
 
-      public getAllStorageResourceNames_args getEmptyArgsInstance() {
-        return new getAllStorageResourceNames_args();
+      public deleteComputeResource_args getEmptyArgsInstance() {
+        return new deleteComputeResource_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) {
-            getAllStorageResourceNames_result result = new getAllStorageResourceNames_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) {
@@ -23091,7 +23053,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();
+            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);
@@ -23123,27 +23085,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, 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 updateStorageResource<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateStorageResource_args, java.lang.Boolean> {
-      public updateStorageResource() {
-        super("updateStorageResource");
+    public static class registerStorageResource<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerStorageResource_args, java.lang.String> {
+      public registerStorageResource() {
+        super("registerStorageResource");
       }
 
-      public updateStorageResource_args getEmptyArgsInstance() {
-        return new updateStorageResource_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) {
-            updateStorageResource_result result = new updateStorageResource_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) {
@@ -23157,7 +23118,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();
+            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);
@@ -23189,27 +23150,26 @@ 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, 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 deleteStorageResource<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteStorageResource_args, java.lang.Boolean> {
-      public deleteStorageResource() {
-        super("deleteStorageResource");
+    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 deleteStorageResource_args getEmptyArgsInstance() {
-        return new deleteStorageResource_args();
+      public getStorageResource_args getEmptyArgsInstance() {
+        return new getStorageResource_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.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<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            deleteStorageResource_result result = new deleteStorageResource_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;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -23223,7 +23183,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();
+            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);
@@ -23255,25 +23215,25 @@ 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, 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 addLocalSubmissionDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addLocalSubmissionDetails_args, java.lang.String> {
-      public addLocalSubmissionDetails() {
-        super("addLocalSubmissionDetails");
+    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 addLocalSubmissionDetails_args getEmptyArgsInstance() {
-        return new addLocalSubmissionDetails_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) {
-            addLocalSubmissionDetails_result result = new addLocalSubmissionDetails_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);
@@ -23288,7 +23248,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();
+            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);
@@ -23320,25 +23280,25 @@ 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, 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 updateLocalSubmissionDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateLocalSubmissionDetails_args, java.lang.Boolean> {
-      public updateLocalSubmissionDetails() {
-        super("updateLocalSubmissionDetails");
+    public static class updateStorageResource<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateStorageResource_args, java.lang.Boolean> {
+      public updateStorageResource() {
+        super("updateStorageResource");
       }
 
-      public updateLocalSubmissionDetails_args getEmptyArgsInstance() {
-        return new updateLocalSubmissionDetails_args();
+      public updateStorageResource_args getEmptyArgsInstance() {
+        return new updateStorageResource_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) {
-            updateLocalSubmissionDetails_result result = new updateLocalSubmissionDetails_result();
+            updateStorageResource_result result = new updateStorageResource_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -23354,7 +23314,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();
+            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);
@@ -23386,26 +23346,27 @@ 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, 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 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 deleteStorageResource<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteStorageResource_args, java.lang.Boolean> {
+      public deleteStorageResource() {
+        super("deleteStorageResource");
       }
 
-      public getLocalJobSubmission_args getEmptyArgsInstance() {
-        return new getLocalJobSubmission_args();
+      public deleteStorageResource_args getEmptyArgsInstance() {
+        return new deleteStorageResource_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<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.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<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) {
@@ -23419,7 +23380,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();
+            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);
@@ -23451,25 +23412,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, 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 addSSHJobSubmissionDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addSSHJobSubmissionDetails_args, java.lang.String> {
-      public addSSHJobSubmissionDetails() {
-        super("addSSHJobSubmissionDetails");
+    public static class addLocalSubmissionDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addLocalSubmissionDetails_args, java.lang.String> {
+      public addLocalSubmissionDetails() {
+        super("addLocalSubmissionDetails");
       }
 
-      public addSSHJobSubmissionDetails_args getEmptyArgsInstance() {
-        return new addSSHJobSubmissionDetails_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) {
-            addSSHJobSubmissionDetails_result result = new addSSHJobSubmissionDetails_result();
+            addLocalSubmissionDetails_result result = new addLocalSubmissionDetails_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -23484,7 +23445,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();
+            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);
@@ -23516,26 +23477,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, 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 addSSHForkJobSubmissionDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addSSHForkJobSubmissionDetails_args, java.lang.String> {
-      public addSSHForkJobSubmissionDetails() {
-        super("addSSHForkJobSubmissionDetails");
+    public static class updateLocalSubmissionDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateLocalSubmissionDetails_args, java.lang.Boolean> {
+      public updateLocalSubmissionDetails() {
+        super("updateLocalSubmissionDetails");
       }
 
-      public addSSHForkJobSubmissionDetails_args getEmptyArgsInstance() {
-        return new addSSHForkJobSubmissionDetails_args();
+      public updateLocalSubmissionDetails_args getEmptyArgsInstance() {
+        return new updateLocalSubmissionDetails_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) {
+            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) {
@@ -23549,7 +23511,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();
+            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);
@@ -23581,25 +23543,25 @@ 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, 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 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 getLocalJobSubmission<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getLocalJobSubmission_args, org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission> {
+      public getLocalJobSubmission() {
+        super("getLocalJobSubmission");
       }
 
-      public getSSHJobSubmission_args getEmptyArgsInstance() {
-        return new getSSHJobSubmission_args();
+      public getLocalJobSubmission_args getEmptyArgsInstance() {
+        return new getLocalJobSubmission_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<org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.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<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);
@@ -23614,7 +23576,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();
+            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);
@@ -23646,25 +23608,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, 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 addUNICOREJobSubmissionDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addUNICOREJobSubmissionDetails_args, java.lang.String> {
-      public addUNICOREJobSubmissionDetails() {
-        super("addUNICOREJobSubmissionDetails");
+    public static class addSSHJobSubmissionDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addSSHJobSubmissionDetails_args, java.lang.String> {
+      public addSSHJobSubmissionDetails() {
+        super("addSSHJobSubmissionDetails");
       }
 
-      public addUNICOREJobSubmissionDetails_args getEmptyArgsInstance() {
-        return new addUNICOREJobSubmissionDetails_args();
+      public addSSHJobSubmissionDetails_args getEmptyArgsInstance() {
+        return new addSSHJobSubmissionDetails_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();
+            addSSHJobSubmissionDetails_result result = new addSSHJobSubmissionDetails_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -23679,7 +23641,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();
+            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);
@@ -23711,25 +23673,25 @@ 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, 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 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 addSSHForkJobSubmissionDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addSSHForkJobSubmissionDetails_args, java.lang.String> {
+      public addSSHForkJobSubmissionDetails() {
+        super("addSSHForkJobSubmissionDetails");
       }
 
-      public getUnicoreJobSubmission_args getEmptyArgsInstance() {
-        return new getUnicoreJobSubmission_args();
+      public addSSHForkJobSubmissionDetails_args getEmptyArgsInstance() {
+        return new addSSHForkJobSubmissionDetails_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.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.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.String>() { 
+          public void onComplete(java.lang.String o) {
+            addSSHForkJobSubmissionDetails_result result = new addSSHForkJobSubmissionDetails_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -23744,7 +23706,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();
+            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);
@@ -23776,25 +23738,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, 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 addCloudJobSubmissionDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addCloudJobSubmissionDetails_args, java.lang.String> {
-      public addCloudJobSubmissionDetails() {
-        super("addCloudJobSubmissionDetails");
+    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 addCloudJobSubmissionDetails_args getEmptyArgsInstance() {
-        return new addCloudJobSubmissionDetails_args();
+      public getSSHJobSubmission_args getEmptyArgsInstance() {
+        return new getSSHJobSubmission_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.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.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.SSHJobSubmission>() { 
+          public void onComplete(org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission o) {
+            getSSHJobSubmission_result result = new getSSHJobSubmission_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -23809,7 +23771,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();
+            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);
@@ -23841,25 +23803,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, 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 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 addUNICOREJobSubmissionDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addUNICOREJobSubmissionDetails_args, java.lang.String> {
+      public addUNICOREJobSubmissionDetails() {
+        super("addUNICOREJobSubmissionDetails");
       }
 
-      public getCloudJobSubmission_args getEmptyArgsInstance() {
-        return new getCloudJobSubmission_args();
+      public addUNICOREJobSubmissionDetails_args getEmptyArgsInstance() {
+        return new addUNICOREJobSubmissionDetails_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) {
+            addUNICOREJobSubmissionDetails_result result = new addUNICOREJobSubmissionDetails_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -23874,7 +23836,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();
+            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);
@@ -23906,27 +23868,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, 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 updateSSHJobSubmissionDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateSSHJobSubmissionDetails_args, java.lang.Boolean> {
-      public updateSSHJobSubmissionDetails() {
-        super("updateSSHJobSubmissionDetails");
+    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 updateSSHJobSubmissionDetails_args getEmptyArgsInstance() {
-        return new updateSSHJobSubmissionDetails_args();
+      public getUnicoreJobSubmission_args getEmptyArgsInstance() {
+        return new getUnicoreJobSubmission_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.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.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            updateSSHJobSubmissionDetails_result result = new updateSSHJobSubmissionDetails_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;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -23940,7 +23901,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();
+            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);
@@ -23972,27 +23933,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, 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 updateCloudJobSubmissionDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateCloudJobSubmissionDetails_args, java.lang.Boolean> {
-      public updateCloudJobSubmissionDetails() {
-        super("updateCloudJobSubmissionDetails");
+    public static class addCloudJobSubmissionDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addCloudJobSubmissionDetails_args, java.lang.String> {
+      public addCloudJobSubmissionDetails() {
+        super("addCloudJobSubmissionDetails");
       }
 
-      public updateCloudJobSubmissionDetails_args getEmptyArgsInstance() {
-        return new updateCloudJobSubmissionDetails_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) {
-            updateCloudJobSubmissionDetails_result result = new updateCloudJobSubmissionDetails_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) {
@@ -24006,7 +23966,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();
+            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);
@@ -24038,27 +23998,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, 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 updateUnicoreJobSubmissionDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateUnicoreJobSubmissionDetails_args, java.lang.Boolean> {
-      public updateUnicoreJobSubmissionDetails() {
-        super("updateUnicoreJobSubmissionDetails");
+    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 updateUnicoreJobSubmissionDetails_args getEmptyArgsInstance() {
-        return new updateUnicoreJobSubmissionDetails_args();
+      public getCloudJobSubmission_args getEmptyArgsInstance() {
+        return new getCloudJobSubmission_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.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<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            updateUnicoreJobSubmissionDetails_result result = new updateUnicoreJobSubmissionDetails_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;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -24072,7 +24031,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();
+            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);
@@ -24104,26 +24063,27 @@ 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, 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 addLocalDataMovementDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addLocalDataMovementDetails_args, java.lang.String> {
-      public addLocalDataMovementDetails() {
-        super("addLocalDataMovementDetails");
+    public static class updateSSHJobSubmissionDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateSSHJobSubmissionDetails_args, java.lang.Boolean> {
+      public updateSSHJobSubmissionDetails() {
+        super("updateSSHJobSubmissionDetails");
       }
 
-      public addLocalDataMovementDetails_args getEmptyArgsInstance() {
-        return new addLocalDataMovementDetails_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) {
-            addLocalDataMovementDetails_result result = new addLocalDataMovementDetails_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) {
@@ -24137,7 +24097,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();
+            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);
@@ -24169,25 +24129,25 @@ 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, 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 updateLocalDataMovementDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateLocalDataMovementDetails_args, java.lang.Boolean> {
-      public updateLocalDataMovementDetails() {
-        super("updateLocalDataMovementDetails");
+    public static class updateCloudJobSubmissionDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateCloudJobSubmissionDetails_args, java.lang.Boolean> {
+      public updateCloudJobSubmissionDetails() {
+        super("updateCloudJobSubmissionDetails");
       }
 
-      public updateLocalDataMovementDetails_args getEmptyArgsInstance() {
-        return new updateLocalDataMovementDetails_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) {
-            updateLocalDataMovementDetails_result result = new updateLocalDataMovementDetails_result();
+            updateCloudJobSubmissionDetails_result result = new updateCloudJobSubmissionDetails_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -24203,7 +24163,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();
+            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);
@@ -24235,26 +24195,27 @@ 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, 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 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 updateUnicoreJobSubmissionDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateUnicoreJobSubmissionDetails_args, java.lang.Boolean> {
+      public updateUnicoreJobSubmissionDetails() {
+        super("updateUnicoreJobSubmissionDetails");
       }
 
-      public getLocalDataMovement_args getEmptyArgsInstance() {
-        return new getLocalDataMovement_args();
+      public updateUnicoreJobSubmissionDetails_args getEmptyArgsInstance() {
+        return new updateUnicoreJobSubmissionDetails_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<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.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<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) {
@@ -24268,7 +24229,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();
+            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);
@@ -24300,25 +24261,25 @@ 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, 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 addSCPDataMovementDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addSCPDataMovementDetails_args, java.lang.String> {
-      public addSCPDataMovementDetails() {
-        super("addSCPDataMovementDetails");
+    public static class addLocalDataMovementDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addLocalDataMovementDetails_args, java.lang.String> {
+      public addLocalDataMovementDetails() {
+        super("addLocalDataMovementDetails");
       }
 
-      public addSCPDataMovementDetails_args getEmptyArgsInstance() {
-        return new addSCPDataMovementDetails_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) {
-            addSCPDataMovementDetails_result result = new addSCPDataMovementDetails_result();
+            addLocalDataMovementDetails_result result = new addLocalDataMovementDetails_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -24333,7 +24294,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();
+            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);
@@ -24365,25 +24326,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, 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 updateSCPDataMovementDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateSCPDataMovementDetails_args, java.lang.Boolean> {
-      public updateSCPDataMovementDetails() {
-        super("updateSCPDataMovementDetails");
+    public static class updateLocalDataMovementDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateLocalDataMovementDetails_args, java.lang.Boolean> {
+      public updateLocalDataMovementDetails() {
+        super("updateLocalDataMovementDetails");
       }
 
-      public updateSCPDataMovementDetails_args getEmptyArgsInstance() {
-        return new updateSCPDataMovementDetails_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) {
-            updateSCPDataMovementDetails_result result = new updateSCPDataMovementDetails_result();
+            updateLocalDataMovementDetails_result result = new updateLocalDataMovementDetails_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -24399,7 +24360,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();
+            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);
@@ -24431,25 +24392,25 @@ 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, 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 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 getLocalDataMovement<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getLocalDataMovement_args, org.apache.airavata.model.data.movement.LOCALDataMovement> {
+      public getLocalDataMovement() {
+        super("getLocalDataMovement");
       }
 
-      public getSCPDataMovement_args getEmptyArgsInstance() {
-        return new getSCPDataMovement_args();
+      public getLocalDataMovement_args getEmptyArgsInstance() {
+        return new getLocalDataMovement_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<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.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<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);
@@ -24464,7 +24425,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();
+            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);
@@ -24496,25 +24457,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, 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 addUnicoreDataMovementDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addUnicoreDataMovementDetails_args, java.lang.String> {
-      public addUnicoreDataMovementDetails() {
-        super("addUnicoreDataMovementDetails");
+    public static class addSCPDataMovementDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addSCPDataMovementDetails_args, java.lang.String> {
+      public addSCPDataMovementDetails() {
+        super("addSCPDataMovementDetails");
       }
 
-      public addUnicoreDataMovementDetails_args getEmptyArgsInstance() {
-        return new addUnicoreDataMovementDetails_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) {
-            addUnicoreDataMovementDetails_result result = new addUnicoreDataMovementDetails_result();
+            addSCPDataMovementDetails_result result = new addSCPDataMovementDetails_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -24529,7 +24490,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();
+            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);
@@ -24561,25 +24522,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, 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 updateUnicoreDataMovementDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateUnicoreDataMovementDetails_args, java.lang.Boolean> {
-      public updateUnicoreDataMovementDetails() {
-        super("updateUnicoreDataMovementDetails");
+    public static class updateSCPDataMovementDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateSCPDataMovementDetails_args, java.lang.Boolean> {
+      public updateSCPDataMovementDetails() {
+        super("updateSCPDataMovementDetails");
       }
 
-      public updateUnicoreDataMovementDetails_args getEmptyArgsInstance() {
-        return new updateUnicoreDataMovementDetails_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) {
-            updateUnicoreDataMovementDetails_result result = new updateUnicoreDataMovementDetails_result();
+            updateSCPDataMovementDetails_result result = new updateSCPDataMovementDetails_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -24595,7 +24556,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();
+            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);
@@ -24627,25 +24588,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, 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 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 getSCPDataMovement<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getSCPDataMovement_args, org.apache.airavata.model.data.movement.SCPDataMovement> {
+      public getSCPDataMovement() {
+        super("getSCPDataMovement");
       }
 
-      public getUnicoreDataMovement_args getEmptyArgsInstance() {
-        return new getUnicoreDataMovement_args();
+      public getSCPDataMovement_args getEmptyArgsInstance() {
+        return new getSCPDataMovement_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.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.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.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);
@@ -24660,7 +24621,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();
+            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);
@@ -24692,25 +24653,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, 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 addGridFTPDataMovementDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addGridFTPDataMovementDetails_args, java.lang.String> {
-      public addGridFTPDataMovementDetails() {
-        super("addGridFTPDataMovementDetails");
+    public static class addUnicoreDataMovementDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addUnicoreDataMovementDetails_args, java.lang.String> {
+      public addUnicoreDataMovementDetails() {
+        super("addUnicoreDataMovementDetails");
       }
 
-      public addGridFTPDataMovementDetails_args getEmptyArgsInstance() {
-        return new addGridFTPDataMovementDetails_args();
+      public addUnicoreDataMovementDetails_args getEmptyArgsInstance() {
+        return new addUnicoreDataMovementDetails_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();
+            addUnicoreDataMovementDetails_result result = new addUnicoreDataMovementDetails_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -24725,7 +24686,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();
+            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);
@@ -24757,25 +24718,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, 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 updateGridFTPDataMovementDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateGridFTPDataMovementDetails_args, java.lang.Boolean> {
-      public updateGridFTPDataMovementDetails() {
-        super("updateGridFTPDataMovementDetails");
+    public static class updateUnicoreDataMovementDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateUnicoreDataMovementDetails_args, java.lang.Boolean> {
+      public updateUnicoreDataMovementDetails() {
+        super("updateUnicoreDataMovementDetails");
       }
 
-      public updateGridFTPDataMovementDetails_args getEmptyArgsInstance() {
-        return new updateGridFTPDataMovementDetails_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) {
-            updateGridFTPDataMovementDetails_result result = new updateGridFTPDataMovementDetails_result();
+            updateUnicoreDataMovementDetails_result result = new updateUnicoreDataMovementDetails_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -24791,7 +24752,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();
+            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);
@@ -24823,25 +24784,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, 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 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 getUnicoreDataMovement<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getUnicoreDataMovement_args, org.apache.airavata.model.data.movement.UnicoreDataMovement> {
+      public getUnicoreDataMovement() {
+        super("getUnicoreDataMovement");
       }
 
-      public getGridFTPDataMovement_args getEmptyArgsInstance() {
-        return new getGridFTPDataMovement_args();
+      public getUnicoreDataMovement_args getEmptyArgsInstance() {
+        return new getUnicoreDataMovement_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.UnicoreDataMovement> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.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.UnicoreDataMovement>() { 
+          public void onComplete(org.apache.airavata.model.data.movement.UnicoreDataMovement o) {
+            getUnicoreDataMovement_result result = new getUnicoreDataMovement_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -24856,7 +24817,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();
+            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);
@@ -24888,25 +24849,90 @@ 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, 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 changeJobSubmissionPriority<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, changeJobSubmissionPriority_args, java.lang.Boolean> {
-      public changeJobSubmissionPriority() {
-        super("changeJobSubmissionPriority");
+    public static class addGridFTPDataMovementDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addGridFTPDataMovementDetails_args, java.lang.String> {
+      public addGridFTPDataMovementDetails() {
+        super("addGridFTPDataMovementDetails");
       }
 
-      public changeJobSubmissionPriority_args getEmptyArgsInstance() {
-        return new changeJobSubmissionPriority_args();
+      public addGridFTPDataMovementDetails_args getEmptyArgsInstance() {
+        return new addGridFTPDataMovementDetails_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();
+            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;
+            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);
+              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, 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 updateGridFTPDataMovementDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateGridFTPDataMovementDetails_args, java.lang.Boolean> {
+      public updateGridFTPDataMovementDetails() {
+        super("updateGridFTPDataMovementDetails");
+      }
+
+      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) {
-            changeJobSubmissionPriority_result result = new changeJobSubmissionPriority_result();
+            updateGridFTPDataMovementDetails_result result = new updateGridFTPDataMovementDetails_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -24922,7 +24948,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();
+            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);
@@ -24954,27 +24980,26 @@ 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, 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 changeDataMovementPriority<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, changeDataMovementPriority_args, java.lang.Boolean> {
-      public changeDataMovementPriority() {
-        super("changeDataMovementPriority");
+    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 changeDataMovementPriority_args getEmptyArgsInstance() {
-        return new changeDataMovementPriority_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) {
-            changeDataMovementPriority_result result = new changeDataMovementPriority_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) {
@@ -24988,7 +25013,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();
+            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);
@@ -25020,25 +25045,25 @@ 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, 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 changeJobSubmissionPriorities<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, changeJobSubmissionPriorities_args, java.lang.Boolean> {
-      public changeJobSubmissionPriorities() {
-        super("changeJobSubmissionPriorities");
+    public static class changeJobSubmissionPriority<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, changeJobSubmissionPriority_args, java.lang.Boolean> {
+      public changeJobSubmissionPriority() {
+        super("changeJobSubmissionPriority");
       }
 
-      public changeJobSubmissionPriorities_args getEmptyArgsInstance() {
-        return new changeJobSubmissionPriorities_args();
+      public changeJobSubmissionPriority_args getEmptyArgsInstance() {
+        return new changeJobSubmissionPriority_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) {
-            changeJobSubmissionPriorities_result result = new changeJobSubmissionPriorities_result();
+            changeJobSubmissionPriority_result result = new changeJobSubmissionPriority_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -25054,7 +25079,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();
+            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);
@@ -25086,25 +25111,25 @@ 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, 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 changeDataMovementPriorities<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, changeDataMovementPriorities_args, java.lang.Boolean> {
-      public changeDataMovementPriorities() {
-        super("changeDataMovementPriorities");
+    public static class changeDataMovementPriority<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, changeDataMovementPriority_args, java.lang.Boolean> {
+      public changeDataMovementPriority() {
+        super("changeDataMovementPriority");
       }
 
-      public changeDataMovementPriorities_args getEmptyArgsInstance() {
-        return new changeDataMovementPriorities_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) {
-            changeDataMovementPriorities_result result = new changeDataMovementPriorities_result();
+            changeDataMovementPriority_result result = new changeDataMovementPriority_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -25120,7 +25145,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();
+            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);
@@ -25152,25 +25177,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, 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 deleteJobSubmissionInterface<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteJobSubmissionInterface_args, java.lang.Boolean> {
-      public deleteJobSubmissionInterface() {
-        super("deleteJobSubmissionInterface");
+    public static class changeJobSubmissionPriorities<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, changeJobSubmissionPriorities_args, java.lang.Boolean> {
+      public changeJobSubmissionPriorities() {
+        super("changeJobSubmissionPriorities");
       }
 
-      public deleteJobSubmissionInterface_args getEmptyArgsInstance() {
-        return new deleteJobSubmissionInterface_args();
+      public changeJobSubmissionPriorities_args getEmptyArgsInstance() {
+        return new changeJobSubmissionPriorities_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();
+            changeJobSubmissionPriorities_result result = new changeJobSubmissionPriorities_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -25186,7 +25211,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();
+            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);
@@ -25218,25 +25243,25 @@ 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, 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 deleteDataMovementInterface<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteDataMovementInterface_args, java.lang.Boolean> {
-      public deleteDataMovementInterface() {
-        super("deleteDataMovementInterface");
+    public static class changeDataMovementPriorities<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, changeDataMovementPriorities_args, java.lang.Boolean> {
+      public changeDataMovementPriorities() {
+        super("changeDataMovementPriorities");
       }
 
-      public deleteDataMovementInterface_args getEmptyArgsInstance() {
-        return new deleteDataMovementInterface_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) {
-            deleteDataMovementInterface_result result = new deleteDataMovementInterface_result();
+            changeDataMovementPriorities_result result = new changeDataMovementPriorities_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -25252,7 +25277,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();
+            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);
@@ -25284,26 +25309,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, 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 registerResourceJobManager<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerResourceJobManager_args, java.lang.String> {
-      public registerResourceJobManager() {
-        super("registerResourceJobManager");
+    public static class deleteJobSubmissionInterface<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteJobSubmissionInterface_args, java.lang.Boolean> {
+      public deleteJobSubmissionInterface() {
+        super("deleteJobSubmissionInterface");
       }
 
-      public registerResourceJobManager_args getEmptyArgsInstance() {
-        return new registerResourceJobManager_args();
+      public deleteJobSubmissionInterface_args getEmptyArgsInstance() {
+        return new deleteJobSubmissionInterface_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) {
+            deleteJobSubmissionInterface_result result = new deleteJobSubmissionInterface_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) {
@@ -25317,7 +25343,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();
+            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);
@@ -25349,25 +25375,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, 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 updateResourceJobManager<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateResourceJobManager_args, java.lang.Boolean> {
-      public updateResourceJobManager() {
-        super("updateResourceJobManager");
+    public static class deleteDataMovementInterface<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteDataMovementInterface_args, java.lang.Boolean> {
+      public deleteDataMovementInterface() {
+        super("deleteDataMovementInterface");
       }
 
-      public updateResourceJobManager_args getEmptyArgsInstance() {
-        return new updateResourceJobManager_args();
+      public deleteDataMovementInterface_args getEmptyArgsInstance() {
+        return new deleteDataMovementInterface_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();
+            deleteDataMovementInterface_result result = new deleteDataMovementInterface_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -25383,7 +25409,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();
+            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);
@@ -25415,25 +25441,25 @@ 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, 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 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 registerResourceJobManager<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerResourceJobManager_args, java.lang.String> {
+      public registerResourceJobManager() {
+        super("registerResourceJobManager");
       }
 
-      public getResourceJobManager_args getEmptyArgsInstance() {
-        return new getResourceJobManager_args();
+      public registerResourceJobManager_args getEmptyArgsInstance() {
+        return new registerResourceJobManager_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.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.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.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);
@@ -25448,7 +25474,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();
+            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);
@@ -25480,25 +25506,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, 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 deleteResourceJobManager<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteResourceJobManager_args, java.lang.Boolean> {
-      public deleteResourceJobManager() {
-        super("deleteResourceJobManager");
+    public static class updateResourceJobManager<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateResourceJobManager_args, java.lang.Boolean> {
+      public updateResourceJobManager() {
+        super("updateResourceJobManager");
       }
 
-      public deleteResourceJobManager_args getEmptyArgsInstance() {
-        return new deleteResourceJobManager_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) {
-            deleteResourceJobManager_result result = new deleteResourceJobManager_result();
+            updateResourceJobManager_result result = new updateResourceJobManager_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -25514,7 +25540,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();
+            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);
@@ -25546,27 +25572,26 @@ 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, 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 deleteBatchQueue<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteBatchQueue_args, java.lang.Boolean> {
-      public deleteBatchQueue() {
-        super("deleteBatchQueue");
+    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 deleteBatchQueue_args getEmptyArgsInstance() {
-        return new deleteBatchQueue_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) {
-            deleteBatchQueue_result result = new deleteBatchQueue_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) {
@@ -25580,7 +25605,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();
+            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);
@@ -25612,26 +25637,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, 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 registerGatewayResourceProfile<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerGatewayResourceProfile_args, java.lang.String> {
-      public registerGatewayResourceProfile() {
-        super("registerGatewayResourceProfile");
+    public static class deleteResourceJobManager<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteResourceJobManager_args, java.lang.Boolean> {
+      public deleteResourceJobManager() {
+        super("deleteResourceJobManager");
       }
 
-      public registerGatewayResourceProfile_args getEmptyArgsInstance() {
-        return new registerGatewayResourceProfile_args();
+      public deleteResourceJobManager_args getEmptyArgsInstance() {
+        return new deleteResourceJobManager_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) {
+            deleteResourceJobManager_result result = new deleteResourceJobManager_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) {
@@ -25645,7 +25671,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();
+            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);
@@ -25677,26 +25703,27 @@ 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, 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 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 deleteBatchQueue<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteBatchQueue_args, java.lang.Boolean> {
+      public deleteBatchQueue() {
+        super("deleteBatchQueue");
       }
 
-      public getGatewayResourceProfile_args getEmptyArgsInstance() {
-        return new getGatewayResourceProfile_args();
+      public deleteBatchQueue_args getEmptyArgsInstance() {
+        return new deleteBatchQueue_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.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.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.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            deleteBatchQueue_result result = new deleteBatchQueue_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) {
@@ -25710,7 +25737,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();
+            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);
@@ -25742,27 +25769,26 @@ 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, 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 updateGatewayResourceProfile<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateGatewayResourceProfile_args, java.lang.Boolean> {
-      public updateGatewayResourceProfile() {
-        super("updateGatewayResourceProfile");
+    public static class registerGatewayResourceProfile<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerGatewayResourceProfile_args, java.lang.String> {
+      public registerGatewayResourceProfile() {
+        super("registerGatewayResourceProfile");
       }
 
-      public updateGatewayResourceProfile_args getEmptyArgsInstance() {
-        return new updateGatewayResourceProfile_args();
+      public registerGatewayResourceProfile_args getEmptyArgsInstance() {
+        return new registerGatewayResourceProfile_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) {
-            updateGatewayResourceProfile_result result = new updateGatewayResourceProfile_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;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -25776,7 +25802,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();
+            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);
@@ -25808,27 +25834,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, 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 deleteGatewayResourceProfile<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteGatewayResourceProfile_args, java.lang.Boolean> {
-      public deleteGatewayResourceProfile() {
-        super("deleteGatewayResourceProfile");
+    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 deleteGatewayResourceProfile_args getEmptyArgsInstance() {
-        return new deleteGatewayResourceProfile_args();
+      public getGatewayResourceProfile_args getEmptyArgsInstance() {
+        return new getGatewayResourceProfile_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.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) {
-            deleteGatewayResourceProfile_result result = new deleteGatewayResourceProfile_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;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -25842,7 +25867,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();
+            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);
@@ -25874,25 +25899,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, 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 addGatewayComputeResourcePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addGatewayComputeResourcePreference_args, java.lang.Boolean> {
-      public addGatewayComputeResourcePreference() {
-        super("addGatewayComputeResourcePreference");
+    public static class updateGatewayResourceProfile<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateGatewayResourceProfile_args, java.lang.Boolean> {
+      public updateGatewayResourceProfile() {
+        super("updateGatewayResourceProfile");
       }
 
-      public addGatewayComputeResourcePreference_args getEmptyArgsInstance() {
-        return new addGatewayComputeResourcePreference_args();
+      public updateGatewayResourceProfile_args getEmptyArgsInstance() {
+        return new updateGatewayResourceProfile_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();
+            updateGatewayResourceProfile_result result = new updateGatewayResourceProfile_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -25908,7 +25933,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();
+            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);
@@ -25940,25 +25965,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, 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 addGatewayStoragePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addGatewayStoragePreference_args, java.lang.Boolean> {
-      public addGatewayStoragePreference() {
-        super("addGatewayStoragePreference");
+    public static class deleteGatewayResourceProfile<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteGatewayResourceProfile_args, java.lang.Boolean> {
+      public deleteGatewayResourceProfile() {
+        super("deleteGatewayResourceProfile");
       }
 
-      public addGatewayStoragePreference_args getEmptyArgsInstance() {
-        return new addGatewayStoragePreference_args();
+      public deleteGatewayResourceProfile_args getEmptyArgsInstance() {
+        return new deleteGatewayResourceProfile_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();
+            deleteGatewayResourceProfile_result result = new deleteGatewayResourceProfile_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -25974,7 +25999,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();
+            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);
@@ -26006,26 +26031,27 @@ 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, 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 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 addGatewayComputeResourcePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addGatewayComputeResourcePreference_args, java.lang.Boolean> {
+      public addGatewayComputeResourcePreference() {
+        super("addGatewayComputeResourcePreference");
       }
 
-      public getGatewayComputeResourcePreference_args getEmptyArgsInstance() {
-        return new getGatewayComputeResourcePreference_args();
+      public addGatewayComputeResourcePreference_args getEmptyArgsInstance() {
+        return new addGatewayComputeResourcePreference_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.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.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.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) {
@@ -26039,7 +26065,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();
+            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);
@@ -26071,26 +26097,27 @@ 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, 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 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 addGatewayStoragePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addGatewayStoragePreference_args, java.lang.Boolean> {
+      public addGatewayStoragePreference() {
+        super("addGatewayStoragePreference");
       }
 
-      public getGatewayStoragePreference_args getEmptyArgsInstance() {
-        return new getGatewayStoragePreference_args();
+      public addGatewayStoragePreference_args getEmptyArgsInstance() {
+        return new addGatewayStoragePreference_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<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.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<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            addGatewayStoragePreference_result result = new addGatewayStoragePreference_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) {
@@ -26104,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;
-            getGatewayStoragePreference_result result = new getGatewayStoragePreference_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);
@@ -26136,25 +26163,25 @@ 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, 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 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 getGatewayComputeResourcePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getGatewayComputeResourcePreference_args, org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference> {
+      public getGatewayComputeResourcePreference() {
+        super("getGatewayComputeResourcePreference");
       }
 
-      public getAllGatewayComputeResourcePreferences_args getEmptyArgsInstance() {
-        return new getAllGatewayComputeResourcePreferences_args();
+      public getGatewayComputeResourcePreference_args getEmptyArgsInstance() {
+        return new getGatewayComputeResourcePreference_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<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference>>() { 
-          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<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;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -26169,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;
-            getAllGatewayComputeResourcePreferences_result result = new getAllGatewayComputeResourcePreferences_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);
@@ -26201,25 +26228,25 @@ 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, 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 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 getGatewayStoragePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getGatewayStoragePreference_args, org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference> {
+      public getGatewayStoragePreference() {
+        super("getGatewayStoragePreference");
       }
 
-      public getAllGatewayStoragePreferences_args getEmptyArgsInstance() {
-        return new getAllGatewayStoragePreferences_args();
+      public getGatewayStoragePreference_args getEmptyArgsInstance() {
+        return new getGatewayStoragePreference_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<org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference>>() { 
-          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<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;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -26234,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;
-            getAllGatewayStoragePreferences_result result = new getAllGatewayStoragePreferences_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);
@@ -26266,25 +26293,25 @@ 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, 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 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 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 getAllGatewayResourceProfiles_args getEmptyArgsInstance() {
-        return new getAllGatewayResourceProfiles_args();
+      public getAllGatewayComputeResourcePreferences_args getEmptyArgsInstance() {
+        return new getAllGatewayComputeResourcePreferences_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.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.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.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;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -26299,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;
-            getAllGatewayResourceProfiles_result result = new getAllGatewayResourceProfiles_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);
@@ -26331,27 +26358,26 @@ 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, 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 updateGatewayComputeResourcePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateGatewayComputeResourcePreference_args, java.lang.Boolean> {
-      public updateGatewayComputeResourcePreference() {
-        super("updateGatewayComputeResourcePreference");
+    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 updateGatewayComputeResourcePreference_args getEmptyArgsInstance() {
-        return new updateGatewayComputeResourcePreference_args();
+      public getAllGatewayStoragePreferences_args getEmptyArgsInstance() {
+        return new getAllGatewayStoragePreferences_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.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) {
-            updateGatewayComputeResourcePreference_result result = new updateGatewayComputeResourcePreference_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;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -26365,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;
-            updateGatewayComputeResourcePreference_result result = new updateGatewayComputeResourcePreference_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);
@@ -26397,27 +26423,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, 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 updateGatewayStoragePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateGatewayStoragePreference_args, java.lang.Boolean> {
-      public updateGatewayStoragePreference() {
-        super("updateGatewayStoragePreference");
+    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 updateGatewayStoragePreference_args getEmptyArgsInstance() {
-        return new updateGatewayStoragePreference_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) {
-            updateGatewayStoragePreference_result result = new updateGatewayStoragePreference_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) {
@@ -26431,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;
-            updateGatewayStoragePreference_result result = new updateGatewayStoragePreference_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);
@@ -26463,25 +26488,25 @@ 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, 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 deleteGatewayComputeResourcePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteGatewayComputeResourcePreference_args, java.lang.Boolean> {
-      public deleteGatewayComputeResourcePreference() {
-        super("deleteGatewayComputeResourcePreference");
+    public static class updateGatewayComputeResourcePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateGatewayComputeResourcePreference_args, java.lang.Boolean> {
+      public updateGatewayComputeResourcePreference() {
+        super("updateGatewayComputeResourcePreference");
       }
 
-      public deleteGatewayComputeResourcePreference_args getEmptyArgsInstance() {
-        return new deleteGatewayComputeResourcePreference_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) {
-            deleteGatewayComputeResourcePreference_result result = new deleteGatewayComputeResourcePreference_result();
+            updateGatewayComputeResourcePreference_result result = new updateGatewayComputeResourcePreference_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -26497,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;
-            deleteGatewayComputeResourcePreference_result result = new deleteGatewayComputeResourcePreference_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);
@@ -26529,25 +26554,25 @@ 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, 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 deleteGatewayStoragePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteGatewayStoragePreference_args, java.lang.Boolean> {
-      public deleteGatewayStoragePreference() {
-        super("deleteGatewayStoragePreference");
+    public static class updateGatewayStoragePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateGatewayStoragePreference_args, java.lang.Boolean> {
+      public updateGatewayStoragePreference() {
+        super("updateGatewayStoragePreference");
       }
 
-      public deleteGatewayStoragePreference_args getEmptyArgsInstance() {
-        return new deleteGatewayStoragePreference_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) {
-            deleteGatewayStoragePreference_result result = new deleteGatewayStoragePreference_result();
+            updateGatewayStoragePreference_result result = new updateGatewayStoragePreference_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -26563,72 +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;
-            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);
-              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, 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 registerUserResourceProfile<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerUserResourceProfile_args, java.lang.String> {
-      public registerUserResourceProfile() {
-        super("registerUserResourceProfile");
-      }
-
-      public registerUserResourceProfile_args getEmptyArgsInstance() {
-        return new registerUserResourceProfile_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) {
-            registerUserResourceProfile_result result = new registerUserResourceProfile_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;
-            registerUserResourceProfile_result result = new registerUserResourceProfile_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);
@@ -26660,26 +26620,27 @@ 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, 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 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 deleteGatewayComputeResourcePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteGatewayComputeResourcePreference_args, java.lang.Boolean> {
+      public deleteGatewayComputeResourcePreference() {
+        super("deleteGatewayComputeResourcePreference");
       }
 
-      public getUserResourceProfile_args getEmptyArgsInstance() {
-        return new getUserResourceProfile_args();
+      public deleteGatewayComputeResourcePreference_args getEmptyArgsInstance() {
+        return new deleteGatewayComputeResourcePreference_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) {
+            deleteGatewayComputeResourcePreference_result result = new deleteGatewayComputeResourcePreference_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) {
@@ -26693,7 +26654,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();
+            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);
@@ -26725,25 +26686,25 @@ 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, 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 updateUserResourceProfile<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateUserResourceProfile_args, java.lang.Boolean> {
-      public updateUserResourceProfile() {
-        super("updateUserResourceProfile");
+    public static class deleteGatewayStoragePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteGatewayStoragePreference_args, java.lang.Boolean> {
+      public deleteGatewayStoragePreference() {
+        super("deleteGatewayStoragePreference");
       }
 
-      public updateUserResourceProfile_args getEmptyArgsInstance() {
-        return new updateUserResourceProfile_args();
+      public deleteGatewayStoragePreference_args getEmptyArgsInstance() {
+        return new deleteGatewayStoragePreference_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) {
-            updateUserResourceProfile_result result = new updateUserResourceProfile_result();
+            deleteGatewayStoragePreference_result result = new deleteGatewayStoragePreference_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -26759,7 +26720,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();
+            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);
@@ -26791,27 +26752,26 @@ 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, 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 deleteUserResourceProfile<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteUserResourceProfile_args, java.lang.Boolean> {
-      public deleteUserResourceProfile() {
-        super("deleteUserResourceProfile");
+    public static class registerUserResourceProfile<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerUserResourceProfile_args, java.lang.String> {
+      public registerUserResourceProfile() {
+        super("registerUserResourceProfile");
       }
 
-      public deleteUserResourceProfile_args getEmptyArgsInstance() {
-        return new deleteUserResourceProfile_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) {
-            deleteUserResourceProfile_result result = new deleteUserResourceProfile_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) {
@@ -26825,7 +26785,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();
+            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);
@@ -26857,25 +26817,25 @@ 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, 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 addUser<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addUser_args, java.lang.String> {
-      public addUser() {
-        super("addUser");
+    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 addUser_args getEmptyArgsInstance() {
-        return new addUser_args();
+      public getUserResourceProfile_args getEmptyArgsInstance() {
+        return new getUserResourceProfile_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.userresourceprofile.UserResourceProfile> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
-          public void onComplete(java.lang.String o) {
-            addUser_result result = new addUser_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);
@@ -26890,15 +26850,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();
+            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);
               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();
@@ -26926,25 +26882,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, 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 addUserComputeResourcePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addUserComputeResourcePreference_args, java.lang.Boolean> {
-      public addUserComputeResourcePreference() {
-        super("addUserComputeResourcePreference");
+    public static class updateUserResourceProfile<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateUserResourceProfile_args, java.lang.Boolean> {
+      public updateUserResourceProfile() {
+        super("updateUserResourceProfile");
       }
 
-      public addUserComputeResourcePreference_args getEmptyArgsInstance() {
-        return new addUserComputeResourcePreference_args();
+      public updateUserResourceProfile_args getEmptyArgsInstance() {
+        return new updateUserResourceProfile_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();
+            updateUserResourceProfile_result result = new updateUserResourceProfile_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -26960,7 +26916,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();
+            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);
@@ -26992,25 +26948,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, 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 addUserStoragePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addUserStoragePreference_args, java.lang.Boolean> {
-      public addUserStoragePreference() {
-        super("addUserStoragePreference");
+    public static class deleteUserResourceProfile<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteUserResourceProfile_args, java.lang.Boolean> {
+      public deleteUserResourceProfile() {
+        super("deleteUserResourceProfile");
       }
 
-      public addUserStoragePreference_args getEmptyArgsInstance() {
-        return new addUserStoragePreference_args();
+      public deleteUserResourceProfile_args getEmptyArgsInstance() {
+        return new deleteUserResourceProfile_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();
+            deleteUserResourceProfile_result result = new deleteUserResourceProfile_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -27026,7 +26982,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();
+            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);
@@ -27058,25 +27014,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, 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 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 addUser<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addUser_args, java.lang.String> {
+      public addUser() {
+        super("addUser");
       }
 
-      public getUserComputeResourcePreference_args getEmptyArgsInstance() {
-        return new getUserComputeResourcePreference_args();
+      public addUser_args getEmptyArgsInstance() {
+        return new addUser_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<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.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<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);
@@ -27091,11 +27047,15 @@ 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();
+            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();
@@ -27123,26 +27083,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, 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 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 addUserComputeResourcePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addUserComputeResourcePreference_args, java.lang.Boolean> {
+      public addUserComputeResourcePreference() {
+        super("addUserComputeResourcePreference");
       }
 
-      public getUserStoragePreference_args getEmptyArgsInstance() {
-        return new getUserStoragePreference_args();
+      public addUserComputeResourcePreference_args getEmptyArgsInstance() {
+        return new addUserComputeResourcePreference_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) {
+            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) {
@@ -27156,7 +27117,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();
+            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);
@@ -27188,26 +27149,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, 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 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 addUserStoragePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addUserStoragePreference_args, java.lang.Boolean> {
+      public addUserStoragePreference() {
+        super("addUserStoragePreference");
       }
 
-      public getAllUserComputeResourcePreferences_args getEmptyArgsInstance() {
-        return new getAllUserComputeResourcePreferences_args();
+      public addUserStoragePreference_args getEmptyArgsInstance() {
+        return new addUserStoragePreference_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) {
+            addUserStoragePreference_result result = new addUserStoragePreference_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) {
@@ -27221,7 +27183,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();
+            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);
@@ -27253,25 +27215,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, 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 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 getUserComputeResourcePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getUserComputeResourcePreference_args, org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference> {
+      public getUserComputeResourcePreference() {
+        super("getUserComputeResourcePreference");
       }
 
-      public getAllUserStoragePreferences_args getEmptyArgsInstance() {
-        return new getAllUserStoragePreferences_args();
+      public getUserComputeResourcePreference_args getEmptyArgsInstance() {
+        return new getUserComputeResourcePreference_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<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.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<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;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -27286,7 +27248,7 @@ 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();
+            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);
@@ -27318,25 +27280,25 @@ 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, 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 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 getUserStoragePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getUserStoragePreference_args, org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference> {
+      public getUserStoragePreference() {
+        super("getUserStoragePreference");
       }
 
-      public getAllUserResourceProfiles_args getEmptyArgsInstance() {
-        return new getAllUserResourceProfiles_args();
+      public getUserStoragePreference_args getEmptyArgsInstance() {
+        return new getUserStoragePreference_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<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.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<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;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -27351,7 +27313,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();
+            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);
@@ -27383,27 +27345,26 @@ 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, 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 updateUserComputeResourcePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateUserComputeResourcePreference_args, java.lang.Boolean> {
-      public updateUserComputeResourcePreference() {
-        super("updateUserComputeResourcePreference");
+    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 updateUserComputeResourcePreference_args getEmptyArgsInstance() {
-        return new updateUserComputeResourcePreference_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) {
-            updateUserComputeResourcePreference_result result = new updateUserComputeResourcePreference_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) {
@@ -27417,7 +27378,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();
+            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);
@@ -27449,27 +27410,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, 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 updateUserStoragePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateUserStoragePreference_args, java.lang.Boolean> {
-      public updateUserStoragePreference() {
-        super("updateUserStoragePreference");
+    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 updateUserStoragePreference_args getEmptyArgsInstance() {
-        return new updateUserStoragePreference_args();
+      public getAllUserStoragePreferences_args getEmptyArgsInstance() {
+        return new getAllUserStoragePreferences_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.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) {
-            updateUserStoragePreference_result result = new updateUserStoragePreference_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;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -27483,7 +27443,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();
+            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);
@@ -27515,27 +27475,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, 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 deleteUserComputeResourcePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteUserComputeResourcePreference_args, java.lang.Boolean> {
-      public deleteUserComputeResourcePreference() {
-        super("deleteUserComputeResourcePreference");
+    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 deleteUserComputeResourcePreference_args getEmptyArgsInstance() {
-        return new deleteUserComputeResourcePreference_args();
+      public getAllUserResourceProfiles_args getEmptyArgsInstance() {
+        return new getAllUserResourceProfiles_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.UserResourceProfile>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            deleteUserComputeResourcePreference_result result = new deleteUserComputeResourcePreference_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;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -27549,7 +27508,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();
+            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);
@@ -27581,25 +27540,25 @@ 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, 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 deleteUserStoragePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteUserStoragePreference_args, java.lang.Boolean> {
-      public deleteUserStoragePreference() {
-        super("deleteUserStoragePreference");
+    public static class updateUserComputeResourcePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateUserComputeResourcePreference_args, java.lang.Boolean> {
+      public updateUserComputeResourcePreference() {
+        super("updateUserComputeResourcePreference");
       }
 
-      public deleteUserStoragePreference_args getEmptyArgsInstance() {
-        return new deleteUserStoragePreference_args();
+      public updateUserComputeResourcePreference_args getEmptyArgsInstance() {
+        return new updateUserComputeResourcePreference_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) {
-            deleteUserStoragePreference_result result = new deleteUserStoragePreference_result();
+            updateUserComputeResourcePreference_result result = new updateUserComputeResourcePreference_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -27615,7 +27574,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();
+            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);
@@ -27647,26 +27606,27 @@ 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, 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 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 updateUserStoragePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateUserStoragePreference_args, java.lang.Boolean> {
+      public updateUserStoragePreference() {
+        super("updateUserStoragePreference");
       }
 
-      public getLatestQueueStatuses_args getEmptyArgsInstance() {
-        return new getLatestQueueStatuses_args();
+      public updateUserStoragePreference_args getEmptyArgsInstance() {
+        return new updateUserStoragePreference_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.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.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.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) {
@@ -27680,7 +27640,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();
+            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);
@@ -27712,25 +27672,27 @@ 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, 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 registerQueueStatuses<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerQueueStatuses_args, Void> {
-      public registerQueueStatuses() {
-        super("registerQueueStatuses");
+    public static class deleteUserComputeResourcePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteUserComputeResourcePreference_args, java.lang.Boolean> {
+      public deleteUserComputeResourcePreference() {
+        super("deleteUserComputeResourcePreference");
       }
 
-      public registerQueueStatuses_args getEmptyArgsInstance() {
-        return new registerQueueStatuses_args();
+      public deleteUserComputeResourcePreference_args getEmptyArgsInstance() {
+        return new deleteUserComputeResourcePreference_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.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<Void>() { 
-          public void onComplete(Void o) {
-            registerQueueStatuses_result result = new registerQueueStatuses_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) {
@@ -27744,7 +27706,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();
+            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);
@@ -27776,26 +27738,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, 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 getAllWorkflows<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllWorkflows_args, java.util.List<java.lang.String>> {
-      public getAllWorkflows() {
-        super("getAllWorkflows");
+    public static class deleteUserStoragePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteUserStoragePreference_args, java.lang.Boolean> {
+      public deleteUserStoragePreference() {
+        super("deleteUserStoragePreference");
       }
 
-      public getAllWorkflows_args getEmptyArgsInstance() {
-        return new getAllWorkflows_args();
+      public deleteUserStoragePreference_args getEmptyArgsInstance() {
+        return new deleteUserStoragePreference_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.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<java.lang.String>>() { 
-          public void onComplete(java.util.List<java.lang.String> o) {
-            getAllWorkflows_result result = new getAllWorkflows_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) {
@@ -27809,7 +27772,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getAllWorkflows_result result = new getAllWorkflows_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);
@@ -27841,25 +27804,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getAllWorkflows_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>> resultHandler) throws org.apache.thrift.TException {
-        iface.getAllWorkflows(args.gatewayId,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 getWorkflow<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getWorkflow_args, org.apache.airavata.model.WorkflowModel> {
-      public getWorkflow() {
-        super("getWorkflow");
+    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 getWorkflow_args getEmptyArgsInstance() {
-        return new getWorkflow_args();
+      public getLatestQueueStatuses_args getEmptyArgsInstance() {
+        return new getLatestQueueStatuses_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.WorkflowModel> 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.WorkflowModel>() { 
-          public void onComplete(org.apache.airavata.model.WorkflowModel o) {
-            getWorkflow_result result = new getWorkflow_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);
@@ -27874,7 +27837,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getWorkflow_result result = new getWorkflow_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);
@@ -27906,25 +27869,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getWorkflow_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.WorkflowModel> resultHandler) throws org.apache.thrift.TException {
-        iface.getWorkflow(args.workflowTemplateId,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 deleteWorkflow<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteWorkflow_args, Void> {
-      public deleteWorkflow() {
-        super("deleteWorkflow");
+    public static class registerQueueStatuses<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerQueueStatuses_args, Void> {
+      public registerQueueStatuses() {
+        super("registerQueueStatuses");
       }
 
-      public deleteWorkflow_args getEmptyArgsInstance() {
-        return new deleteWorkflow_args();
+      public registerQueueStatuses_args getEmptyArgsInstance() {
+        return new registerQueueStatuses_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) {
-            deleteWorkflow_result result = new deleteWorkflow_result();
+            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) {
@@ -27938,7 +27901,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            deleteWorkflow_result result = new deleteWorkflow_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);
@@ -27970,25 +27933,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, deleteWorkflow_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
-        iface.deleteWorkflow(args.workflowTemplateId,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 registerWorkflow<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerWorkflow_args, java.lang.String> {
-      public registerWorkflow() {
-        super("registerWorkflow");
+    public static class getAllWorkflows<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllWorkflows_args, java.util.List<java.lang.String>> {
+      public getAllWorkflows() {
+        super("getAllWorkflows");
       }
 
-      public registerWorkflow_args getEmptyArgsInstance() {
-        return new registerWorkflow_args();
+      public getAllWorkflows_args getEmptyArgsInstance() {
+        return new getAllWorkflows_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<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) {
-            registerWorkflow_result result = new registerWorkflow_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>>() { 
+          public void onComplete(java.util.List<java.lang.String> o) {
+            getAllWorkflows_result result = new getAllWorkflows_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -28003,7 +27966,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            registerWorkflow_result result = new registerWorkflow_result();
+            getAllWorkflows_result result = new getAllWorkflows_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -28035,25 +27998,26 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, registerWorkflow_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
-        iface.registerWorkflow(args.gatewayId, args.workflow,resultHandler);
+      public void start(I iface, getAllWorkflows_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>> resultHandler) throws org.apache.thrift.TException {
+        iface.getAllWorkflows(args.gatewayId,resultHandler);
       }
     }
 
-    public static class updateWorkflow<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateWorkflow_args, Void> {
-      public updateWorkflow() {
-        super("updateWorkflow");
+    public static class getWorkflow<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getWorkflow_args, org.apache.airavata.model.WorkflowModel> {
+      public getWorkflow() {
+        super("getWorkflow");
       }
 
-      public updateWorkflow_args getEmptyArgsInstance() {
-        return new updateWorkflow_args();
+      public getWorkflow_args getEmptyArgsInstance() {
+        return new getWorkflow_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.WorkflowModel> getResultHandler(final 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) {
-            updateWorkflow_result result = new updateWorkflow_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.WorkflowModel>() { 
+          public void onComplete(org.apache.airavata.model.WorkflowModel o) {
+            getWorkflow_result result = new getWorkflow_result();
+            result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -28067,7 +28031,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            updateWorkflow_result result = new updateWorkflow_result();
+            getWorkflow_result result = new getWorkflow_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -28099,26 +28063,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, updateWorkflow_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
-        iface.updateWorkflow(args.workflowTemplateId, args.workflow,resultHandler);
+      public void start(I iface, getWorkflow_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.WorkflowModel> resultHandler) throws org.apache.thrift.TException {
+        iface.getWorkflow(args.workflowTemplateId,resultHandler);
       }
     }
 
-    public static class getWorkflowTemplateId<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getWorkflowTemplateId_args, java.lang.String> {
-      public getWorkflowTemplateId() {
-        super("getWorkflowTemplateId");
+    public static class deleteWorkflow<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteWorkflow_args, Void> {
+      public deleteWorkflow() {
+        super("deleteWorkflow");
       }
 
-      public getWorkflowTemplateId_args getEmptyArgsInstance() {
-        return new getWorkflowTemplateId_args();
+      public deleteWorkflow_args getEmptyArgsInstance() {
+        return new deleteWorkflow_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<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.String>() { 
-          public void onComplete(java.lang.String o) {
-            getWorkflowTemplateId_result result = new getWorkflowTemplateId_result();
-            result.success = o;
+        return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
+          public void onComplete(Void o) {
+            deleteWorkflow_result result = new deleteWorkflow_result();
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -28132,7 +28095,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getWorkflowTemplateId_result result = new getWorkflowTemplateId_result();
+            deleteWorkflow_result result = new deleteWorkflow_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -28164,27 +28127,26 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, getWorkflowTemplateId_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
-        iface.getWorkflowTemplateId(args.workflowName,resultHandler);
+      public void start(I iface, deleteWorkflow_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
+        iface.deleteWorkflow(args.workflowTemplateId,resultHandler);
       }
     }
 
-    public static class isWorkflowExistWithName<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, isWorkflowExistWithName_args, java.lang.Boolean> {
-      public isWorkflowExistWithName() {
-        super("isWorkflowExistWithName");
+    public static class registerWorkflow<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerWorkflow_args, java.lang.String> {
+      public registerWorkflow() {
+        super("registerWorkflow");
       }
 
-      public isWorkflowExistWithName_args getEmptyArgsInstance() {
-        return new isWorkflowExistWithName_args();
+      public registerWorkflow_args getEmptyArgsInstance() {
+        return new registerWorkflow_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) {
-            isWorkflowExistWithName_result result = new isWorkflowExistWithName_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          public void onComplete(java.lang.String o) {
+            registerWorkflow_result result = new registerWorkflow_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) {
@@ -28198,7 +28160,7 @@ public class RegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            isWorkflowExistWithName_result result = new isWorkflowExistWithName_result();
+            registerWorkflow_result result = new registerWorkflow_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -28230,26 +28192,25 @@ public class RegistryService {
         return false;
       }
 
-      public void start(I iface, isWorkflowExistWithName_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.isWorkflowExistWithName(args.workflowName,resultHandler);
+      public void start(I iface, registerWorkflow_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
+        iface.registerWorkflow(args.gatewayId, args.workflow,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 updateWorkflow<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateWorkflow_args, Void> {
+      public updateWorkflow() {
+        super("updateWorkflow");
       }
 
-      public registerDataProduct_args getEmptyArgsInstance() {
-        return new registerDataProduct_args();
+      public updateWorkflow_args getEmptyArgsInstance() {
+        return new updateWorkflow_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<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.String>() { 
-          public void onComplete(java.lang.String o) {
-            registerDataProduct_result result = new registerDataProduct_result();
-            result.success = o;
+        return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
+          public void onComplete(Void o) {
+            updateWorkflow_result result = new updateWorkflow_result();
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -28263,7 +28224,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();
+            updateWorkflow_result result = new updateWorkflow_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -28295,25 +28256,25 @@ 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, updateWorkflow_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
+        iface.updateWorkflow(args.workflowTemplateId, args.workflow,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 getWorkflowTemplateId<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getWorkflowTemplateId_args, java.lang.String> {
+      public getWorkflowTemplateId() {
+        super("getWorkflowTemplateId");
       }
 
-      public getDataProduct_args getEmptyArgsInstance() {
-        return new getDataProduct_args();
+      public getWorkflowTemplateId_args getEmptyArgsInstance() {
+        return new getWorkflowTemplateId_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.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.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.String>() { 
+          public void onComplete(java.lang.String o) {
+            getWorkflowTemplateId_result result = new getWorkflowTemplateId_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -28328,7 +28289,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();
+            getWorkflowTemplateId_result result = new getWorkflowTemplateId_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -28360,26 +28321,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, getWorkflowTemplateId_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
+        iface.getWorkflowTemplateId(args.workflowName,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 isWorkflowExistWithName<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, isWorkflowExistWithName_args, java.lang.Boolean> {
+      public isWorkflowExistWithName() {
+        super("isWorkflowExistWithName");
       }
 
-      public registerReplicaLocation_args getEmptyArgsInstance() {
-        return new registerReplicaLocation_args();
+      public isWorkflowExistWithName_args getEmptyArgsInstance() {
+        return new isWorkflowExistWithName_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) {
+            isWorkflowExistWithName_result result = new isWorkflowExistWithName_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) {
@@ -28393,7 +28355,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();
+            isWorkflowExistWithName_result result = new isWorkflowExistWithName_result();
             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
               result.setRseIsSet(true);
@@ -28425,25 +28387,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, isWorkflowExistWithName_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.isWorkflowExistWithName(args.workflowName,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 registerDataProduct<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerDataProduct_args, java.lang.String> {
+      public registerDataProduct() {
+        super("registerDataProduct");
       }
 
-      public getParentDataProduct_args getEmptyArgsInstance() {
-        return new getParentDataProduct_args();
+      public registerDataProduct_args getEmptyArgsInstance() {
+        return new registerDataProduct_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.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.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.lang.String>() { 
+          public void onComplete(java.lang.String o) {
+            registerDataProduct_result result = new registerDataProduct_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -28458,7 +28420,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();
+            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);
@@ -28490,25 +28452,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, 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 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 getDataProduct<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getDataProduct_args, org.apache.airavata.model.data.replica.DataProductModel> {
+      public getDataProduct() {
+        super("getDataProduct");
       }
 
-      public getChildDataProducts_args getEmptyArgsInstance() {
-        return new getChildDataProducts_args();
+      public getDataProduct_args getEmptyArgsInstance() {
+        return new getDataProduct_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.data.replica.DataProductModel> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.data.replica.DataProductModel>>() { 
-          public void onComplete(java.util.List<org.apache.airavata.model.data.replica.DataProductModel> o) {
-            getChildDataProducts_result result = new getChildDataProducts_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);
@@ -28523,7 +28485,202 @@ 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();
+            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);
+              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, 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 registerReplicaLocation<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerReplicaLocation_args, java.lang.String> {
+      public registerReplicaLocation() {
+        super("registerReplicaLocation");
+      }
+
+      public registerReplicaLocation_args getEmptyArgsInstance() {
+        return new registerReplicaLocation_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) {
+            registerReplicaLocation_result result = new registerReplicaLocation_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;
+            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);
+              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, 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 getParentDataProduct<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getParentDataProduct_args, org.apache.airavata.model.data.replica.DataProductModel> {
+      public getParentDataProduct() {
+        super("getParentDataProduct");
+      }
+
+      public getParentDataProduct_args getEmptyArgsInstance() {
+        return new getParentDataProduct_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) {
+        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();
+            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;
+            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);
+              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, 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 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 getChildDataProducts_args getEmptyArgsInstance() {
+        return new getChildDataProducts_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) {
+        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;
+            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;
+            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);
@@ -62322,121 +62479,1074 @@ 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.OUTPUT_TYPE, new org.apache.thrift.meta_data.FieldMetaData("outputType", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+      tmpMap.put(_Fields.OUTPUT_TYPE, new org.apache.thrift.meta_data.FieldMetaData("outputType", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+      tmpMap.put(_Fields.OUTPUTS, new org.apache.thrift.meta_data.FieldMetaData("outputs", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
+              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.application.io.OutputDataObjectType.class))));
+      tmpMap.put(_Fields.ID, new org.apache.thrift.meta_data.FieldMetaData("id", 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(addExperimentProcessOutputs_args.class, metaDataMap);
+    }
+
+    public addExperimentProcessOutputs_args() {
+    }
+
+    public addExperimentProcessOutputs_args(
+      java.lang.String outputType,
+      java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> outputs,
+      java.lang.String id)
+    {
+      this();
+      this.outputType = outputType;
+      this.outputs = outputs;
+      this.id = id;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public addExperimentProcessOutputs_args(addExperimentProcessOutputs_args other) {
+      if (other.isSetOutputType()) {
+        this.outputType = other.outputType;
+      }
+      if (other.isSetOutputs()) {
+        java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> __this__outputs = new java.util.ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(other.outputs.size());
+        for (org.apache.airavata.model.application.io.OutputDataObjectType other_element : other.outputs) {
+          __this__outputs.add(new org.apache.airavata.model.application.io.OutputDataObjectType(other_element));
+        }
+        this.outputs = __this__outputs;
+      }
+      if (other.isSetId()) {
+        this.id = other.id;
+      }
+    }
+
+    public addExperimentProcessOutputs_args deepCopy() {
+      return new addExperimentProcessOutputs_args(this);
+    }
+
+    @Override
+    public void clear() {
+      this.outputType = null;
+      this.outputs = null;
+      this.id = null;
+    }
+
+    public java.lang.String getOutputType() {
+      return this.outputType;
+    }
+
+    public addExperimentProcessOutputs_args setOutputType(java.lang.String outputType) {
+      this.outputType = outputType;
+      return this;
+    }
+
+    public void unsetOutputType() {
+      this.outputType = null;
+    }
+
+    /** Returns true if field outputType is set (has been assigned a value) and false otherwise */
+    public boolean isSetOutputType() {
+      return this.outputType != null;
+    }
+
+    public void setOutputTypeIsSet(boolean value) {
+      if (!value) {
+        this.outputType = null;
+      }
+    }
+
+    public int getOutputsSize() {
+      return (this.outputs == null) ? 0 : this.outputs.size();
+    }
+
+    public java.util.Iterator<org.apache.airavata.model.application.io.OutputDataObjectType> getOutputsIterator() {
+      return (this.outputs == null) ? null : this.outputs.iterator();
+    }
+
+    public void addToOutputs(org.apache.airavata.model.application.io.OutputDataObjectType elem) {
+      if (this.outputs == null) {
+        this.outputs = new java.util.ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>();
+      }
+      this.outputs.add(elem);
+    }
+
+    public java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> getOutputs() {
+      return this.outputs;
+    }
+
+    public addExperimentProcessOutputs_args setOutputs(java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> outputs) {
+      this.outputs = outputs;
+      return this;
+    }
+
+    public void unsetOutputs() {
+      this.outputs = null;
+    }
+
+    /** Returns true if field outputs is set (has been assigned a value) and false otherwise */
+    public boolean isSetOutputs() {
+      return this.outputs != null;
+    }
+
+    public void setOutputsIsSet(boolean value) {
+      if (!value) {
+        this.outputs = null;
+      }
+    }
+
+    public java.lang.String getId() {
+      return this.id;
+    }
+
+    public addExperimentProcessOutputs_args setId(java.lang.String id) {
+      this.id = id;
+      return this;
+    }
+
+    public void unsetId() {
+      this.id = null;
+    }
+
+    /** Returns true if field id is set (has been assigned a value) and false otherwise */
+    public boolean isSetId() {
+      return this.id != null;
+    }
+
+    public void setIdIsSet(boolean value) {
+      if (!value) {
+        this.id = null;
+      }
+    }
+
+    public void setFieldValue(_Fields field, java.lang.Object value) {
+      switch (field) {
+      case OUTPUT_TYPE:
+        if (value == null) {
+          unsetOutputType();
+        } else {
+          setOutputType((java.lang.String)value);
+        }
+        break;
+
+      case OUTPUTS:
+        if (value == null) {
+          unsetOutputs();
+        } else {
+          setOutputs((java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>)value);
+        }
+        break;
+
+      case ID:
+        if (value == null) {
+          unsetId();
+        } else {
+          setId((java.lang.String)value);
+        }
+        break;
+
+      }
+    }
+
+    public java.lang.Object getFieldValue(_Fields field) {
+      switch (field) {
+      case OUTPUT_TYPE:
+        return getOutputType();
+
+      case OUTPUTS:
+        return getOutputs();
+
+      case ID:
+        return getId();
+
+      }
+      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 OUTPUT_TYPE:
+        return isSetOutputType();
+      case OUTPUTS:
+        return isSetOutputs();
+      case ID:
+        return isSetId();
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(java.lang.Object that) {
+      if (that == null)
+        return false;
+      if (that instanceof addExperimentProcessOutputs_args)
+        return this.equals((addExperimentProcessOutputs_args)that);
+      return false;
+    }
+
+    public boolean equals(addExperimentProcessOutputs_args that) {
+      if (that == null)
+        return false;
+      if (this == that)
+        return true;
+
+      boolean this_present_outputType = true && this.isSetOutputType();
+      boolean that_present_outputType = true && that.isSetOutputType();
+      if (this_present_outputType || that_present_outputType) {
+        if (!(this_present_outputType && that_present_outputType))
+          return false;
+        if (!this.outputType.equals(that.outputType))
+          return false;
+      }
+
+      boolean this_present_outputs = true && this.isSetOutputs();
+      boolean that_present_outputs = true && that.isSetOutputs();
+      if (this_present_outputs || that_present_outputs) {
+        if (!(this_present_outputs && that_present_outputs))
+          return false;
+        if (!this.outputs.equals(that.outputs))
+          return false;
+      }
+
+      boolean this_present_id = true && this.isSetId();
+      boolean that_present_id = true && that.isSetId();
+      if (this_present_id || that_present_id) {
+        if (!(this_present_id && that_present_id))
+          return false;
+        if (!this.id.equals(that.id))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      int hashCode = 1;
+
+      hashCode = hashCode * 8191 + ((isSetOutputType()) ? 131071 : 524287);
+      if (isSetOutputType())
+        hashCode = hashCode * 8191 + outputType.hashCode();
+
+      hashCode = hashCode * 8191 + ((isSetOutputs()) ? 131071 : 524287);
+      if (isSetOutputs())
+        hashCode = hashCode * 8191 + outputs.hashCode();
+
+      hashCode = hashCode * 8191 + ((isSetId()) ? 131071 : 524287);
+      if (isSetId())
+        hashCode = hashCode * 8191 + id.hashCode();
+
+      return hashCode;
+    }
+
+    @Override
+    public int compareTo(addExperimentProcessOutputs_args other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = java.lang.Boolean.valueOf(isSetOutputType()).compareTo(other.isSetOutputType());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetOutputType()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.outputType, other.outputType);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = java.lang.Boolean.valueOf(isSetOutputs()).compareTo(other.isSetOutputs());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetOutputs()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.outputs, other.outputs);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = java.lang.Boolean.valueOf(isSetId()).compareTo(other.isSetId());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetId()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.id, other.id);
+        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("addExperimentProcessOutputs_args(");
+      boolean first = true;
+
+      sb.append("outputType:");
+      if (this.outputType == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.outputType);
+      }
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("outputs:");
+      if (this.outputs == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.outputs);
+      }
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("id:");
+      if (this.id == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.id);
+      }
+      first = false;
+      sb.append(")");
+      return sb.toString();
+    }
+
+    public void validate() throws org.apache.thrift.TException {
+      // check for required fields
+      if (outputType == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'outputType' was not present! Struct: " + toString());
+      }
+      if (outputs == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'outputs' was not present! Struct: " + toString());
+      }
+      if (id == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'id' was not present! Struct: " + toString());
+      }
+      // check for sub-struct validity
+    }
+
+    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+      try {
+        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+      } catch (org.apache.thrift.TException te) {
+        throw new java.io.IOException(te);
+      }
+    }
+
+    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
+      try {
+        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+      } catch (org.apache.thrift.TException te) {
+        throw new java.io.IOException(te);
+      }
+    }
+
+    private static class addExperimentProcessOutputs_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public addExperimentProcessOutputs_argsStandardScheme getScheme() {
+        return new addExperimentProcessOutputs_argsStandardScheme();
+      }
+    }
+
+    private static class addExperimentProcessOutputs_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addExperimentProcessOutputs_args> {
+
+      public void read(org.apache.thrift.protocol.TProtocol iprot, addExperimentProcessOutputs_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TField schemeField;
+        iprot.readStructBegin();
+        while (true)
+        {
+          schemeField = iprot.readFieldBegin();
+          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+            break;
+          }
+          switch (schemeField.id) {
+            case 1: // OUTPUT_TYPE
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                struct.outputType = iprot.readString();
+                struct.setOutputTypeIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 2: // OUTPUTS
+              if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+                {
+                  org.apache.thrift.protocol.TList _list126 = iprot.readListBegin();
+                  struct.outputs = new java.util.ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(_list126.size);
+                  org.apache.airavata.model.application.io.OutputDataObjectType _elem127;
+                  for (int _i128 = 0; _i128 < _list126.size; ++_i128)
+                  {
+                    _elem127 = new org.apache.airavata.model.application.io.OutputDataObjectType();
+                    _elem127.read(iprot);
+                    struct.outputs.add(_elem127);
+                  }
+                  iprot.readListEnd();
+                }
+                struct.setOutputsIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 3: // ID
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                struct.id = iprot.readString();
+                struct.setIdIsSet(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, addExperimentProcessOutputs_args struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.outputType != null) {
+          oprot.writeFieldBegin(OUTPUT_TYPE_FIELD_DESC);
+          oprot.writeString(struct.outputType);
+          oprot.writeFieldEnd();
+        }
+        if (struct.outputs != null) {
+          oprot.writeFieldBegin(OUTPUTS_FIELD_DESC);
+          {
+            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.outputs.size()));
+            for (org.apache.airavata.model.application.io.OutputDataObjectType _iter129 : struct.outputs)
+            {
+              _iter129.write(oprot);
+            }
+            oprot.writeListEnd();
+          }
+          oprot.writeFieldEnd();
+        }
+        if (struct.id != null) {
+          oprot.writeFieldBegin(ID_FIELD_DESC);
+          oprot.writeString(struct.id);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class addExperimentProcessOutputs_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public addExperimentProcessOutputs_argsTupleScheme getScheme() {
+        return new addExperimentProcessOutputs_argsTupleScheme();
+      }
+    }
+
+    private static class addExperimentProcessOutputs_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<addExperimentProcessOutputs_args> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, addExperimentProcessOutputs_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        oprot.writeString(struct.outputType);
+        {
+          oprot.writeI32(struct.outputs.size());
+          for (org.apache.airavata.model.application.io.OutputDataObjectType _iter130 : struct.outputs)
+          {
+            _iter130.write(oprot);
+          }
+        }
+        oprot.writeString(struct.id);
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, addExperimentProcessOutputs_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        struct.outputType = iprot.readString();
+        struct.setOutputTypeIsSet(true);
+        {
+          org.apache.thrift.protocol.TList _list131 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.outputs = new java.util.ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(_list131.size);
+          org.apache.airavata.model.application.io.OutputDataObjectType _elem132;
+          for (int _i133 = 0; _i133 < _list131.size; ++_i133)
+          {
+            _elem132 = new org.apache.airavata.model.application.io.OutputDataObjectType();
+            _elem132.read(iprot);
+            struct.outputs.add(_elem132);
+          }
+        }
+        struct.setOutputsIsSet(true);
+        struct.id = iprot.readString();
+        struct.setIdIsSet(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 addExperimentProcessOutputs_result implements org.apache.thrift.TBase<addExperimentProcessOutputs_result, addExperimentProcessOutputs_result._Fields>, java.io.Serializable, Cloneable, Comparable<addExperimentProcessOutputs_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addExperimentProcessOutputs_result");
+
+    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 addExperimentProcessOutputs_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addExperimentProcessOutputs_resultTupleSchemeFactory();
+
+    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+
+    /** 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(addExperimentProcessOutputs_result.class, metaDataMap);
+    }
+
+    public addExperimentProcessOutputs_result() {
+    }
+
+    public addExperimentProcessOutputs_result(
+      org.apache.airavata.registry.api.exception.RegistryServiceException rse)
+    {
+      this();
+      this.rse = rse;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public addExperimentProcessOutputs_result(addExperimentProcessOutputs_result other) {
+      if (other.isSetRse()) {
+        this.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException(other.rse);
+      }
+    }
+
+    public addExperimentProcessOutputs_result deepCopy() {
+      return new addExperimentProcessOutputs_result(this);
+    }
+
+    @Override
+    public void clear() {
+      this.rse = null;
+    }
+
+    public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
+      return this.rse;
+    }
+
+    public addExperimentProcessOutputs_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 addExperimentProcessOutputs_result)
+        return this.equals((addExperimentProcessOutputs_result)that);
+      return false;
+    }
+
+    public boolean equals(addExperimentProcessOutputs_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(addExperimentProcessOutputs_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("addExperimentProcessOutputs_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 addExperimentProcessOutputs_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public addExperimentProcessOutputs_resultStandardScheme getScheme() {
+        return new addExperimentProcessOutputs_resultStandardScheme();
+      }
+    }
+
+    private static class addExperimentProcessOutputs_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addExperimentProcessOutputs_result> {
+
+      public void read(org.apache.thrift.protocol.TProtocol iprot, addExperimentProcessOutputs_result struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TField schemeField;
+        iprot.readStructBegin();
+        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, addExperimentProcessOutputs_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 addExperimentProcessOutputs_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public addExperimentProcessOutputs_resultTupleScheme getScheme() {
+        return new addExperimentProcessOutputs_resultTupleScheme();
+      }
+    }
+
+    private static class addExperimentProcessOutputs_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<addExperimentProcessOutputs_result> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, addExperimentProcessOutputs_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, addExperimentProcessOutputs_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 addErrors_args implements org.apache.thrift.TBase<addErrors_args, addErrors_args._Fields>, java.io.Serializable, Cloneable, Comparable<addErrors_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addErrors_args");
+
+    private static final org.apache.thrift.protocol.TField ERROR_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("errorType", org.apache.thrift.protocol.TType.STRING, (short)1);
+    private static final org.apache.thrift.protocol.TField ERROR_MODEL_FIELD_DESC = new org.apache.thrift.protocol.TField("errorModel", org.apache.thrift.protocol.TType.STRUCT, (short)2);
+    private static final org.apache.thrift.protocol.TField ID_FIELD_DESC = new org.apache.thrift.protocol.TField("id", org.apache.thrift.protocol.TType.STRING, (short)3);
+
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addErrors_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addErrors_argsTupleSchemeFactory();
+
+    public java.lang.String errorType; // required
+    public org.apache.airavata.model.commons.ErrorModel errorModel; // required
+    public java.lang.String id; // required
+
+    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+      ERROR_TYPE((short)1, "errorType"),
+      ERROR_MODEL((short)2, "errorModel"),
+      ID((short)3, "id");
+
+      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: // ERROR_TYPE
+            return ERROR_TYPE;
+          case 2: // ERROR_MODEL
+            return ERROR_MODEL;
+          case 3: // ID
+            return 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.ERROR_TYPE, new org.apache.thrift.meta_data.FieldMetaData("errorType", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-      tmpMap.put(_Fields.OUTPUTS, new org.apache.thrift.meta_data.FieldMetaData("outputs", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
-              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.application.io.OutputDataObjectType.class))));
-      tmpMap.put(_Fields.ID, new org.apache.thrift.meta_data.FieldMetaData("id", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+      tmpMap.put(_Fields.ERROR_MODEL, new org.apache.thrift.meta_data.FieldMetaData("errorModel", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.commons.ErrorModel.class)));
+      tmpMap.put(_Fields.ID, new org.apache.thrift.meta_data.FieldMetaData("id", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           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(addExperimentProcessOutputs_args.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(addErrors_args.class, metaDataMap);
     }
 
-    public addExperimentProcessOutputs_args() {
+    public addErrors_args() {
     }
 
-    public addExperimentProcessOutputs_args(
-      java.lang.String outputType,
-      java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> outputs,
+    public addErrors_args(
+      java.lang.String errorType,
+      org.apache.airavata.model.commons.ErrorModel errorModel,
       java.lang.String id)
     {
       this();
-      this.outputType = outputType;
-      this.outputs = outputs;
+      this.errorType = errorType;
+      this.errorModel = errorModel;
       this.id = id;
     }
 
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public addExperimentProcessOutputs_args(addExperimentProcessOutputs_args other) {
-      if (other.isSetOutputType()) {
-        this.outputType = other.outputType;
+    public addErrors_args(addErrors_args other) {
+      if (other.isSetErrorType()) {
+        this.errorType = other.errorType;
       }
-      if (other.isSetOutputs()) {
-        java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> __this__outputs = new java.util.ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(other.outputs.size());
-        for (org.apache.airavata.model.application.io.OutputDataObjectType other_element : other.outputs) {
-          __this__outputs.add(new org.apache.airavata.model.application.io.OutputDataObjectType(other_element));
-        }
-        this.outputs = __this__outputs;
+      if (other.isSetErrorModel()) {
+        this.errorModel = new org.apache.airavata.model.commons.ErrorModel(other.errorModel);
       }
       if (other.isSetId()) {
         this.id = other.id;
       }
     }
 
-    public addExperimentProcessOutputs_args deepCopy() {
-      return new addExperimentProcessOutputs_args(this);
+    public addErrors_args deepCopy() {
+      return new addErrors_args(this);
     }
 
     @Override
     public void clear() {
-      this.outputType = null;
-      this.outputs = null;
+      this.errorType = null;
+      this.errorModel = null;
       this.id = null;
     }
 
-    public java.lang.String getOutputType() {
-      return this.outputType;
+    public java.lang.String getErrorType() {
+      return this.errorType;
     }
 
-    public addExperimentProcessOutputs_args setOutputType(java.lang.String outputType) {
-      this.outputType = outputType;
+    public addErrors_args setErrorType(java.lang.String errorType) {
+      this.errorType = errorType;
       return this;
     }
 
-    public void unsetOutputType() {
-      this.outputType = null;
+    public void unsetErrorType() {
+      this.errorType = null;
     }
 
-    /** Returns true if field outputType is set (has been assigned a value) and false otherwise */
-    public boolean isSetOutputType() {
-      return this.outputType != null;
+    /** Returns true if field errorType is set (has been assigned a value) and false otherwise */
+    public boolean isSetErrorType() {
+      return this.errorType != null;
     }
 
-    public void setOutputTypeIsSet(boolean value) {
+    public void setErrorTypeIsSet(boolean value) {
       if (!value) {
-        this.outputType = null;
-      }
-    }
-
-    public int getOutputsSize() {
-      return (this.outputs == null) ? 0 : this.outputs.size();
-    }
-
-    public java.util.Iterator<org.apache.airavata.model.application.io.OutputDataObjectType> getOutputsIterator() {
-      return (this.outputs == null) ? null : this.outputs.iterator();
-    }
-
-    public void addToOutputs(org.apache.airavata.model.application.io.OutputDataObjectType elem) {
-      if (this.outputs == null) {
-        this.outputs = new java.util.ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>();
+        this.errorType = null;
       }
-      this.outputs.add(elem);
     }
 
-    public java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> getOutputs() {
-      return this.outputs;
+    public org.apache.airavata.model.commons.ErrorModel getErrorModel() {
+      return this.errorModel;
     }
 
-    public addExperimentProcessOutputs_args setOutputs(java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> outputs) {
-      this.outputs = outputs;
+    public addErrors_args setErrorModel(org.apache.airavata.model.commons.ErrorModel errorModel) {
+      this.errorModel = errorModel;
       return this;
     }
 
-    public void unsetOutputs() {
-      this.outputs = null;
+    public void unsetErrorModel() {
+      this.errorModel = null;
     }
 
-    /** Returns true if field outputs is set (has been assigned a value) and false otherwise */
-    public boolean isSetOutputs() {
-      return this.outputs != null;
+    /** Returns true if field errorModel is set (has been assigned a value) and false otherwise */
+    public boolean isSetErrorModel() {
+      return this.errorModel != null;
     }
 
-    public void setOutputsIsSet(boolean value) {
+    public void setErrorModelIsSet(boolean value) {
       if (!value) {
-        this.outputs = null;
+        this.errorModel = null;
       }
     }
 
@@ -62444,7 +63554,7 @@ public class RegistryService {
       return this.id;
     }
 
-    public addExperimentProcessOutputs_args setId(java.lang.String id) {
+    public addErrors_args setId(java.lang.String id) {
       this.id = id;
       return this;
     }
@@ -62466,19 +63576,19 @@ public class RegistryService {
 
     public void setFieldValue(_Fields field, java.lang.Object value) {
       switch (field) {
-      case OUTPUT_TYPE:
+      case ERROR_TYPE:
         if (value == null) {
-          unsetOutputType();
+          unsetErrorType();
         } else {
-          setOutputType((java.lang.String)value);
+          setErrorType((java.lang.String)value);
         }
         break;
 
-      case OUTPUTS:
+      case ERROR_MODEL:
         if (value == null) {
-          unsetOutputs();
+          unsetErrorModel();
         } else {
-          setOutputs((java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>)value);
+          setErrorModel((org.apache.airavata.model.commons.ErrorModel)value);
         }
         break;
 
@@ -62495,11 +63605,11 @@ public class RegistryService {
 
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
-      case OUTPUT_TYPE:
-        return getOutputType();
+      case ERROR_TYPE:
+        return getErrorType();
 
-      case OUTPUTS:
-        return getOutputs();
+      case ERROR_MODEL:
+        return getErrorModel();
 
       case ID:
         return getId();
@@ -62515,10 +63625,10 @@ public class RegistryService {
       }
 
       switch (field) {
-      case OUTPUT_TYPE:
-        return isSetOutputType();
-      case OUTPUTS:
-        return isSetOutputs();
+      case ERROR_TYPE:
+        return isSetErrorType();
+      case ERROR_MODEL:
+        return isSetErrorModel();
       case ID:
         return isSetId();
       }
@@ -62529,32 +63639,32 @@ public class RegistryService {
     public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
-      if (that instanceof addExperimentProcessOutputs_args)
-        return this.equals((addExperimentProcessOutputs_args)that);
+      if (that instanceof addErrors_args)
+        return this.equals((addErrors_args)that);
       return false;
     }
 
-    public boolean equals(addExperimentProcessOutputs_args that) {
+    public boolean equals(addErrors_args that) {
       if (that == null)
         return false;
       if (this == that)
         return true;
 
-      boolean this_present_outputType = true && this.isSetOutputType();
-      boolean that_present_outputType = true && that.isSetOutputType();
-      if (this_present_outputType || that_present_outputType) {
-        if (!(this_present_outputType && that_present_outputType))
+      boolean this_present_errorType = true && this.isSetErrorType();
+      boolean that_present_errorType = true && that.isSetErrorType();
+      if (this_present_errorType || that_present_errorType) {
+        if (!(this_present_errorType && that_present_errorType))
           return false;
-        if (!this.outputType.equals(that.outputType))
+        if (!this.errorType.equals(that.errorType))
           return false;
       }
 
-      boolean this_present_outputs = true && this.isSetOutputs();
-      boolean that_present_outputs = true && that.isSetOutputs();
-      if (this_present_outputs || that_present_outputs) {
-        if (!(this_present_outputs && that_present_outputs))
+      boolean this_present_errorModel = true && this.isSetErrorModel();
+      boolean that_present_errorModel = true && that.isSetErrorModel();
+      if (this_present_errorModel || that_present_errorModel) {
+        if (!(this_present_errorModel && that_present_errorModel))
           return false;
-        if (!this.outputs.equals(that.outputs))
+        if (!this.errorModel.equals(that.errorModel))
           return false;
       }
 
@@ -62574,13 +63684,13 @@ public class RegistryService {
     public int hashCode() {
       int hashCode = 1;
 
-      hashCode = hashCode * 8191 + ((isSetOutputType()) ? 131071 : 524287);
-      if (isSetOutputType())
-        hashCode = hashCode * 8191 + outputType.hashCode();
+      hashCode = hashCode * 8191 + ((isSetErrorType()) ? 131071 : 524287);
+      if (isSetErrorType())
+        hashCode = hashCode * 8191 + errorType.hashCode();
 
-      hashCode = hashCode * 8191 + ((isSetOutputs()) ? 131071 : 524287);
-      if (isSetOutputs())
-        hashCode = hashCode * 8191 + outputs.hashCode();
+      hashCode = hashCode * 8191 + ((isSetErrorModel()) ? 131071 : 524287);
+      if (isSetErrorModel())
+        hashCode = hashCode * 8191 + errorModel.hashCode();
 
       hashCode = hashCode * 8191 + ((isSetId()) ? 131071 : 524287);
       if (isSetId())
@@ -62590,29 +63700,29 @@ public class RegistryService {
     }
 
     @Override
-    public int compareTo(addExperimentProcessOutputs_args other) {
+    public int compareTo(addErrors_args other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetOutputType()).compareTo(other.isSetOutputType());
+      lastComparison = java.lang.Boolean.valueOf(isSetErrorType()).compareTo(other.isSetErrorType());
       if (lastComparison != 0) {
         return lastComparison;
       }
-      if (isSetOutputType()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.outputType, other.outputType);
+      if (isSetErrorType()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.errorType, other.errorType);
         if (lastComparison != 0) {
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetOutputs()).compareTo(other.isSetOutputs());
+      lastComparison = java.lang.Boolean.valueOf(isSetErrorModel()).compareTo(other.isSetErrorModel());
       if (lastComparison != 0) {
         return lastComparison;
       }
-      if (isSetOutputs()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.outputs, other.outputs);
+      if (isSetErrorModel()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.errorModel, other.errorModel);
         if (lastComparison != 0) {
           return lastComparison;
         }
@@ -62644,22 +63754,22 @@ public class RegistryService {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("addExperimentProcessOutputs_args(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("addErrors_args(");
       boolean first = true;
 
-      sb.append("outputType:");
-      if (this.outputType == null) {
+      sb.append("errorType:");
+      if (this.errorType == null) {
         sb.append("null");
       } else {
-        sb.append(this.outputType);
+        sb.append(this.errorType);
       }
       first = false;
       if (!first) sb.append(", ");
-      sb.append("outputs:");
-      if (this.outputs == null) {
+      sb.append("errorModel:");
+      if (this.errorModel == null) {
         sb.append("null");
       } else {
-        sb.append(this.outputs);
+        sb.append(this.errorModel);
       }
       first = false;
       if (!first) sb.append(", ");
@@ -62676,16 +63786,16 @@ public class RegistryService {
 
     public void validate() throws org.apache.thrift.TException {
       // check for required fields
-      if (outputType == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'outputType' was not present! Struct: " + toString());
-      }
-      if (outputs == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'outputs' was not present! Struct: " + toString());
+      if (errorType == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'errorType' was not present! Struct: " + toString());
       }
-      if (id == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'id' was not present! Struct: " + toString());
+      if (errorModel == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'errorModel' was not present! Struct: " + toString());
       }
       // check for sub-struct validity
+      if (errorModel != null) {
+        errorModel.validate();
+      }
     }
 
     private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
@@ -62704,15 +63814,15 @@ public class RegistryService {
       }
     }
 
-    private static class addExperimentProcessOutputs_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public addExperimentProcessOutputs_argsStandardScheme getScheme() {
-        return new addExperimentProcessOutputs_argsStandardScheme();
+    private static class addErrors_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public addErrors_argsStandardScheme getScheme() {
+        return new addErrors_argsStandardScheme();
       }
     }
 
-    private static class addExperimentProcessOutputs_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addExperimentProcessOutputs_args> {
+    private static class addErrors_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addErrors_args> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, addExperimentProcessOutputs_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, addErrors_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -62722,29 +63832,19 @@ public class RegistryService {
             break;
           }
           switch (schemeField.id) {
-            case 1: // OUTPUT_TYPE
+            case 1: // ERROR_TYPE
               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.outputType = iprot.readString();
-                struct.setOutputTypeIsSet(true);
+                struct.errorType = iprot.readString();
+                struct.setErrorTypeIsSet(true);
               } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 2: // OUTPUTS
-              if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
-                {
-                  org.apache.thrift.protocol.TList _list126 = iprot.readListBegin();
-                  struct.outputs = new java.util.ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(_list126.size);
-                  org.apache.airavata.model.application.io.OutputDataObjectType _elem127;
-                  for (int _i128 = 0; _i128 < _list126.size; ++_i128)
-                  {
-                    _elem127 = new org.apache.airavata.model.application.io.OutputDataObjectType();
-                    _elem127.read(iprot);
-                    struct.outputs.add(_elem127);
-                  }
-                  iprot.readListEnd();
-                }
-                struct.setOutputsIsSet(true);
+            case 2: // ERROR_MODEL
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.errorModel = new org.apache.airavata.model.commons.ErrorModel();
+                struct.errorModel.read(iprot);
+                struct.setErrorModelIsSet(true);
               } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
@@ -62768,25 +63868,18 @@ public class RegistryService {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, addExperimentProcessOutputs_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, addErrors_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
-        if (struct.outputType != null) {
-          oprot.writeFieldBegin(OUTPUT_TYPE_FIELD_DESC);
-          oprot.writeString(struct.outputType);
+        if (struct.errorType != null) {
+          oprot.writeFieldBegin(ERROR_TYPE_FIELD_DESC);
+          oprot.writeString(struct.errorType);
           oprot.writeFieldEnd();
         }
-        if (struct.outputs != null) {
-          oprot.writeFieldBegin(OUTPUTS_FIELD_DESC);
-          {
-            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.outputs.size()));
-            for (org.apache.airavata.model.application.io.OutputDataObjectType _iter129 : struct.outputs)
-            {
-              _iter129.write(oprot);
-            }
-            oprot.writeListEnd();
-          }
+        if (struct.errorModel != null) {
+          oprot.writeFieldBegin(ERROR_MODEL_FIELD_DESC);
+          struct.errorModel.write(oprot);
           oprot.writeFieldEnd();
         }
         if (struct.id != null) {
@@ -62800,47 +63893,42 @@ public class RegistryService {
 
     }
 
-    private static class addExperimentProcessOutputs_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public addExperimentProcessOutputs_argsTupleScheme getScheme() {
-        return new addExperimentProcessOutputs_argsTupleScheme();
+    private static class addErrors_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public addErrors_argsTupleScheme getScheme() {
+        return new addErrors_argsTupleScheme();
       }
     }
 
-    private static class addExperimentProcessOutputs_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<addExperimentProcessOutputs_args> {
+    private static class addErrors_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<addErrors_args> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, addExperimentProcessOutputs_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, addErrors_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        oprot.writeString(struct.outputType);
-        {
-          oprot.writeI32(struct.outputs.size());
-          for (org.apache.airavata.model.application.io.OutputDataObjectType _iter130 : struct.outputs)
-          {
-            _iter130.write(oprot);
-          }
+        oprot.writeString(struct.errorType);
+        struct.errorModel.write(oprot);
+        java.util.BitSet optionals = new java.util.BitSet();
+        if (struct.isSetId()) {
+          optionals.set(0);
+        }
+        oprot.writeBitSet(optionals, 1);
+        if (struct.isSetId()) {
+          oprot.writeString(struct.id);
         }
-        oprot.writeString(struct.id);
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, addExperimentProcessOutputs_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, addErrors_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        struct.outputType = iprot.readString();
-        struct.setOutputTypeIsSet(true);
-        {
-          org.apache.thrift.protocol.TList _list131 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-          struct.outputs = new java.util.ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(_list131.size);
-          org.apache.airavata.model.application.io.OutputDataObjectType _elem132;
-          for (int _i133 = 0; _i133 < _list131.size; ++_i133)
-          {
-            _elem132 = new org.apache.airavata.model.application.io.OutputDataObjectType();
-            _elem132.read(iprot);
-            struct.outputs.add(_elem132);
-          }
+        struct.errorType = iprot.readString();
+        struct.setErrorTypeIsSet(true);
+        struct.errorModel = new org.apache.airavata.model.commons.ErrorModel();
+        struct.errorModel.read(iprot);
+        struct.setErrorModelIsSet(true);
+        java.util.BitSet incoming = iprot.readBitSet(1);
+        if (incoming.get(0)) {
+          struct.id = iprot.readString();
+          struct.setIdIsSet(true);
         }
-        struct.setOutputsIsSet(true);
-        struct.id = iprot.readString();
-        struct.setIdIsSet(true);
       }
     }
 
@@ -62849,13 +63937,13 @@ public class RegistryService {
     }
   }
 
-  public static class addExperimentProcessOutputs_result implements org.apache.thrift.TBase<addExperimentProcessOutputs_result, addExperimentProcessOutputs_result._Fields>, java.io.Serializable, Cloneable, Comparable<addExperimentProcessOutputs_result>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addExperimentProcessOutputs_result");
+  public static class addErrors_result implements org.apache.thrift.TBase<addErrors_result, addErrors_result._Fields>, java.io.Serializable, Cloneable, Comparable<addErrors_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addErrors_result");
 
     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 addExperimentProcessOutputs_resultStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addExperimentProcessOutputs_resultTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addErrors_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addErrors_resultTupleSchemeFactory();
 
     public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
 
@@ -62924,13 +64012,13 @@ 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(addExperimentProcessOutputs_result.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(addErrors_result.class, metaDataMap);
     }
 
-    public addExperimentProcessOutputs_result() {
+    public addErrors_result() {
     }
 
-    public addExperimentProcessOutputs_result(
+    public addErrors_result(
       org.apache.airavata.registry.api.exception.RegistryServiceException rse)
     {
       this();
@@ -62940,14 +64028,14 @@ public class RegistryService {
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public addExperimentProcessOutputs_result(addExperimentProcessOutputs_result other) {
+    public addErrors_result(addErrors_result other) {
       if (other.isSetRse()) {
         this.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException(other.rse);
       }
     }
 
-    public addExperimentProcessOutputs_result deepCopy() {
-      return new addExperimentProcessOutputs_result(this);
+    public addErrors_result deepCopy() {
+      return new addErrors_result(this);
     }
 
     @Override
@@ -62959,7 +64047,7 @@ public class RegistryService {
       return this.rse;
     }
 
-    public addExperimentProcessOutputs_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public addErrors_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -63018,12 +64106,12 @@ public class RegistryService {
     public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
-      if (that instanceof addExperimentProcessOutputs_result)
-        return this.equals((addExperimentProcessOutputs_result)that);
+      if (that instanceof addErrors_result)
+        return this.equals((addErrors_result)that);
       return false;
     }
 
-    public boolean equals(addExperimentProcessOutputs_result that) {
+    public boolean equals(addErrors_result that) {
       if (that == null)
         return false;
       if (this == that)
@@ -63053,7 +64141,7 @@ public class RegistryService {
     }
 
     @Override
-    public int compareTo(addExperimentProcessOutputs_result other) {
+    public int compareTo(addErrors_result other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
@@ -63087,7 +64175,7 @@ public class RegistryService {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("addExperimentProcessOutputs_result(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("addErrors_result(");
       boolean first = true;
 
       sb.append("rse:");
@@ -63122,15 +64210,15 @@ public class RegistryService {
       }
     }
 
-    private static class addExperimentProcessOutputs_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public addExperimentProcessOutputs_resultStandardScheme getScheme() {
-        return new addExperimentProcessOutputs_resultStandardScheme();
+    private static class addErrors_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public addErrors_resultStandardScheme getScheme() {
+        return new addErrors_resultStandardScheme();
       }
     }
 
-    private static class addExperimentProcessOutputs_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addExperimentProcessOutputs_result> {
+    private static class addErrors_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addErrors_result> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, addExperimentProcessOutputs_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, addErrors_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -63160,7 +64248,7 @@ public class RegistryService {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, addExperimentProcessOutputs_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, addErrors_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
@@ -63175,16 +64263,16 @@ public class RegistryService {
 
     }
 
-    private static class addExperimentProcessOutputs_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public addExperimentProcessOutputs_resultTupleScheme getScheme() {
-        return new addExperimentProcessOutputs_resultTupleScheme();
+    private static class addErrors_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public addErrors_resultTupleScheme getScheme() {
+        return new addErrors_resultTupleScheme();
       }
     }
 
-    private static class addExperimentProcessOutputs_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<addExperimentProcessOutputs_result> {
+    private static class addErrors_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<addErrors_result> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, addExperimentProcessOutputs_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, addErrors_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()) {
@@ -63197,7 +64285,7 @@ public class RegistryService {
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, addExperimentProcessOutputs_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, addErrors_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)) {
@@ -63213,25 +64301,22 @@ public class RegistryService {
     }
   }
 
-  public static class addErrors_args implements org.apache.thrift.TBase<addErrors_args, addErrors_args._Fields>, java.io.Serializable, Cloneable, Comparable<addErrors_args>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addErrors_args");
+  public static class addTaskStatus_args implements org.apache.thrift.TBase<addTaskStatus_args, addTaskStatus_args._Fields>, java.io.Serializable, Cloneable, Comparable<addTaskStatus_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addTaskStatus_args");
 
-    private static final org.apache.thrift.protocol.TField ERROR_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("errorType", org.apache.thrift.protocol.TType.STRING, (short)1);
-    private static final org.apache.thrift.protocol.TField ERROR_MODEL_FIELD_DESC = new org.apache.thrift.protocol.TField("errorModel", org.apache.thrift.protocol.TType.STRUCT, (short)2);
-    private static final org.apache.thrift.protocol.TField ID_FIELD_DESC = new org.apache.thrift.protocol.TField("id", org.apache.thrift.protocol.TType.STRING, (short)3);
+    private static final org.apache.thrift.protocol.TField TASK_STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("taskStatus", 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.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addErrors_argsStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addErrors_argsTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addTaskStatus_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addTaskStatus_argsTupleSchemeFactory();
 
-    public java.lang.String errorType; // required
-    public org.apache.airavata.model.commons.ErrorModel errorModel; // required
-    public java.lang.String id; // required
+    public org.apache.airavata.model.status.TaskStatus taskStatus; // required
+    public java.lang.String taskId; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
-      ERROR_TYPE((short)1, "errorType"),
-      ERROR_MODEL((short)2, "errorModel"),
-      ID((short)3, "id");
+      TASK_STATUS((short)1, "taskStatus"),
+      TASK_ID((short)2, "taskId");
 
       private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
 
@@ -63246,12 +64331,10 @@ public class RegistryService {
        */
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
-          case 1: // ERROR_TYPE
-            return ERROR_TYPE;
-          case 2: // ERROR_MODEL
-            return ERROR_MODEL;
-          case 3: // ID
-            return ID;
+          case 1: // TASK_STATUS
+            return TASK_STATUS;
+          case 2: // TASK_ID
+            return TASK_ID;
           default:
             return null;
         }
@@ -63295,151 +64378,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.ERROR_TYPE, new org.apache.thrift.meta_data.FieldMetaData("errorType", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-      tmpMap.put(_Fields.ERROR_MODEL, new org.apache.thrift.meta_data.FieldMetaData("errorModel", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.commons.ErrorModel.class)));
-      tmpMap.put(_Fields.ID, new org.apache.thrift.meta_data.FieldMetaData("id", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+      tmpMap.put(_Fields.TASK_STATUS, new org.apache.thrift.meta_data.FieldMetaData("taskStatus", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.status.TaskStatus.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)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(addErrors_args.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(addTaskStatus_args.class, metaDataMap);
     }
 
-    public addErrors_args() {
+    public addTaskStatus_args() {
     }
 
-    public addErrors_args(
-      java.lang.String errorType,
-      org.apache.airavata.model.commons.ErrorModel errorModel,
-      java.lang.String id)
+    public addTaskStatus_args(
+      org.apache.airavata.model.status.TaskStatus taskStatus,
+      java.lang.String taskId)
     {
       this();
-      this.errorType = errorType;
-      this.errorModel = errorModel;
-      this.id = id;
+      this.taskStatus = taskStatus;
+      this.taskId = taskId;
     }
 
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public addErrors_args(addErrors_args other) {
-      if (other.isSetErrorType()) {
-        this.errorType = other.errorType;
-      }
-      if (other.isSetErrorModel()) {
-        this.errorModel = new org.apache.airavata.model.commons.ErrorModel(other.errorModel);
+    public addTaskStatus_args(addTaskStatus_args other) {
+      if (other.isSetTaskStatus()) {
+        this.taskStatus = new org.apache.airavata.model.status.TaskStatus(other.taskStatus);
       }
-      if (other.isSetId()) {
-        this.id = other.id;
+      if (other.isSetTaskId()) {
+        this.taskId = other.taskId;
       }
     }
 
-    public addErrors_args deepCopy() {
-      return new addErrors_args(this);
+    public addTaskStatus_args deepCopy() {
+      return new addTaskStatus_args(this);
     }
 
     @Override
     public void clear() {
-      this.errorType = null;
-      this.errorModel = null;
-      this.id = null;
-    }
-
-    public java.lang.String getErrorType() {
-      return this.errorType;
-    }
-
-    public addErrors_args setErrorType(java.lang.String errorType) {
-      this.errorType = errorType;
-      return this;
-    }
-
-    public void unsetErrorType() {
-      this.errorType = null;
-    }
-
-    /** Returns true if field errorType is set (has been assigned a value) and false otherwise */
-    public boolean isSetErrorType() {
-      return this.errorType != null;
-    }
-
-    public void setErrorTypeIsSet(boolean value) {
-      if (!value) {
-        this.errorType = null;
-      }
+      this.taskStatus = null;
+      this.taskId = null;
     }
 
-    public org.apache.airavata.model.commons.ErrorModel getErrorModel() {
-      return this.errorModel;
+    public org.apache.airavata.model.status.TaskStatus getTaskStatus() {
+      return this.taskStatus;
     }
 
-    public addErrors_args setErrorModel(org.apache.airavata.model.commons.ErrorModel errorModel) {
-      this.errorModel = errorModel;
+    public addTaskStatus_args setTaskStatus(org.apache.airavata.model.status.TaskStatus taskStatus) {
+      this.taskStatus = taskStatus;
       return this;
     }
 
-    public void unsetErrorModel() {
-      this.errorModel = null;
+    public void unsetTaskStatus() {
+      this.taskStatus = null;
     }
 
-    /** Returns true if field errorModel is set (has been assigned a value) and false otherwise */
-    public boolean isSetErrorModel() {
-      return this.errorModel != null;
+    /** Returns true if field taskStatus is set (has been assigned a value) and false otherwise */
+    public boolean isSetTaskStatus() {
+      return this.taskStatus != null;
     }
 
-    public void setErrorModelIsSet(boolean value) {
+    public void setTaskStatusIsSet(boolean value) {
       if (!value) {
-        this.errorModel = null;
+        this.taskStatus = null;
       }
     }
 
-    public java.lang.String getId() {
-      return this.id;
+    public java.lang.String getTaskId() {
+      return this.taskId;
     }
 
-    public addErrors_args setId(java.lang.String id) {
-      this.id = id;
+    public addTaskStatus_args setTaskId(java.lang.String taskId) {
+      this.taskId = taskId;
       return this;
     }
 
-    public void unsetId() {
-      this.id = null;
+    public void unsetTaskId() {
+      this.taskId = null;
     }
 
-    /** Returns true if field id is set (has been assigned a value) and false otherwise */
-    public boolean isSetId() {
-      return this.id != 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 setIdIsSet(boolean value) {
+    public void setTaskIdIsSet(boolean value) {
       if (!value) {
-        this.id = null;
+        this.taskId = null;
       }
     }
 
     public void setFieldValue(_Fields field, java.lang.Object value) {
       switch (field) {
-      case ERROR_TYPE:
-        if (value == null) {
-          unsetErrorType();
-        } else {
-          setErrorType((java.lang.String)value);
-        }
-        break;
-
-      case ERROR_MODEL:
+      case TASK_STATUS:
         if (value == null) {
-          unsetErrorModel();
+          unsetTaskStatus();
         } else {
-          setErrorModel((org.apache.airavata.model.commons.ErrorModel)value);
+          setTaskStatus((org.apache.airavata.model.status.TaskStatus)value);
         }
         break;
 
-      case ID:
+      case TASK_ID:
         if (value == null) {
-          unsetId();
+          unsetTaskId();
         } else {
-          setId((java.lang.String)value);
+          setTaskId((java.lang.String)value);
         }
         break;
 
@@ -63448,14 +64491,11 @@ public class RegistryService {
 
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
-      case ERROR_TYPE:
-        return getErrorType();
-
-      case ERROR_MODEL:
-        return getErrorModel();
+      case TASK_STATUS:
+        return getTaskStatus();
 
-      case ID:
-        return getId();
+      case TASK_ID:
+        return getTaskId();
 
       }
       throw new java.lang.IllegalStateException();
@@ -63468,12 +64508,10 @@ public class RegistryService {
       }
 
       switch (field) {
-      case ERROR_TYPE:
-        return isSetErrorType();
-      case ERROR_MODEL:
-        return isSetErrorModel();
-      case ID:
-        return isSetId();
+      case TASK_STATUS:
+        return isSetTaskStatus();
+      case TASK_ID:
+        return isSetTaskId();
       }
       throw new java.lang.IllegalStateException();
     }
@@ -63482,41 +64520,32 @@ public class RegistryService {
     public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
-      if (that instanceof addErrors_args)
-        return this.equals((addErrors_args)that);
+      if (that instanceof addTaskStatus_args)
+        return this.equals((addTaskStatus_args)that);
       return false;
     }
 
-    public boolean equals(addErrors_args that) {
+    public boolean equals(addTaskStatus_args that) {
       if (that == null)
         return false;
       if (this == that)
         return true;
 
-      boolean this_present_errorType = true && this.isSetErrorType();
-      boolean that_present_errorType = true && that.isSetErrorType();
-      if (this_present_errorType || that_present_errorType) {
-        if (!(this_present_errorType && that_present_errorType))
-          return false;
-        if (!this.errorType.equals(that.errorType))
-          return false;
-      }
-
-      boolean this_present_errorModel = true && this.isSetErrorModel();
-      boolean that_present_errorModel = true && that.isSetErrorModel();
-      if (this_present_errorModel || that_present_errorModel) {
-        if (!(this_present_errorModel && that_present_errorModel))
+      boolean this_present_taskStatus = true && this.isSetTaskStatus();
+      boolean that_present_taskStatus = true && that.isSetTaskStatus();
+      if (this_present_taskStatus || that_present_taskStatus) {
+        if (!(this_present_taskStatus && that_present_taskStatus))
           return false;
-        if (!this.errorModel.equals(that.errorModel))
+        if (!this.taskStatus.equals(that.taskStatus))
           return false;
       }
 
-      boolean this_present_id = true && this.isSetId();
-      boolean that_present_id = true && that.isSetId();
-      if (this_present_id || that_present_id) {
-        if (!(this_present_id && that_present_id))
+      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.id.equals(that.id))
+        if (!this.taskId.equals(that.taskId))
           return false;
       }
 
@@ -63527,55 +64556,41 @@ public class RegistryService {
     public int hashCode() {
       int hashCode = 1;
 
-      hashCode = hashCode * 8191 + ((isSetErrorType()) ? 131071 : 524287);
-      if (isSetErrorType())
-        hashCode = hashCode * 8191 + errorType.hashCode();
-
-      hashCode = hashCode * 8191 + ((isSetErrorModel()) ? 131071 : 524287);
-      if (isSetErrorModel())
-        hashCode = hashCode * 8191 + errorModel.hashCode();
+      hashCode = hashCode * 8191 + ((isSetTaskStatus()) ? 131071 : 524287);
+      if (isSetTaskStatus())
+        hashCode = hashCode * 8191 + taskStatus.hashCode();
 
-      hashCode = hashCode * 8191 + ((isSetId()) ? 131071 : 524287);
-      if (isSetId())
-        hashCode = hashCode * 8191 + id.hashCode();
+      hashCode = hashCode * 8191 + ((isSetTaskId()) ? 131071 : 524287);
+      if (isSetTaskId())
+        hashCode = hashCode * 8191 + taskId.hashCode();
 
       return hashCode;
     }
 
     @Override
-    public int compareTo(addErrors_args other) {
+    public int compareTo(addTaskStatus_args other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetErrorType()).compareTo(other.isSetErrorType());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetErrorType()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.errorType, other.errorType);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = java.lang.Boolean.valueOf(isSetErrorModel()).compareTo(other.isSetErrorModel());
+      lastComparison = java.lang.Boolean.valueOf(isSetTaskStatus()).compareTo(other.isSetTaskStatus());
       if (lastComparison != 0) {
         return lastComparison;
       }
-      if (isSetErrorModel()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.errorModel, other.errorModel);
+      if (isSetTaskStatus()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.taskStatus, other.taskStatus);
         if (lastComparison != 0) {
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetId()).compareTo(other.isSetId());
+      lastComparison = java.lang.Boolean.valueOf(isSetTaskId()).compareTo(other.isSetTaskId());
       if (lastComparison != 0) {
         return lastComparison;
       }
-      if (isSetId()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.id, other.id);
+      if (isSetTaskId()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.taskId, other.taskId);
         if (lastComparison != 0) {
           return lastComparison;
         }
@@ -63597,30 +64612,22 @@ public class RegistryService {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("addErrors_args(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("addTaskStatus_args(");
       boolean first = true;
 
-      sb.append("errorType:");
-      if (this.errorType == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.errorType);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("errorModel:");
-      if (this.errorModel == null) {
+      sb.append("taskStatus:");
+      if (this.taskStatus == null) {
         sb.append("null");
       } else {
-        sb.append(this.errorModel);
+        sb.append(this.taskStatus);
       }
       first = false;
       if (!first) sb.append(", ");
-      sb.append("id:");
-      if (this.id == null) {
+      sb.append("taskId:");
+      if (this.taskId == null) {
         sb.append("null");
       } else {
-        sb.append(this.id);
+        sb.append(this.taskId);
       }
       first = false;
       sb.append(")");
@@ -63629,15 +64636,15 @@ public class RegistryService {
 
     public void validate() throws org.apache.thrift.TException {
       // check for required fields
-      if (errorType == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'errorType' was not present! Struct: " + toString());
+      if (taskStatus == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'taskStatus' was not present! Struct: " + toString());
       }
-      if (errorModel == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'errorModel' was not present! Struct: " + toString());
+      if (taskId == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'taskId' was not present! Struct: " + toString());
       }
       // check for sub-struct validity
-      if (errorModel != null) {
-        errorModel.validate();
+      if (taskStatus != null) {
+        taskStatus.validate();
       }
     }
 
@@ -63657,15 +64664,15 @@ public class RegistryService {
       }
     }
 
-    private static class addErrors_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public addErrors_argsStandardScheme getScheme() {
-        return new addErrors_argsStandardScheme();
+    private static class addTaskStatus_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public addTaskStatus_argsStandardScheme getScheme() {
+        return new addTaskStatus_argsStandardScheme();
       }
     }
 
-    private static class addErrors_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addErrors_args> {
+    private static class addTaskStatus_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addTaskStatus_args> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, addErrors_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, addTaskStatus_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -63675,27 +64682,19 @@ public class RegistryService {
             break;
           }
           switch (schemeField.id) {
-            case 1: // ERROR_TYPE
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.errorType = iprot.readString();
-                struct.setErrorTypeIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 2: // ERROR_MODEL
+            case 1: // TASK_STATUS
               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.errorModel = new org.apache.airavata.model.commons.ErrorModel();
-                struct.errorModel.read(iprot);
-                struct.setErrorModelIsSet(true);
+                struct.taskStatus = new org.apache.airavata.model.status.TaskStatus();
+                struct.taskStatus.read(iprot);
+                struct.setTaskStatusIsSet(true);
               } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 3: // ID
+            case 2: // TASK_ID
               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.id = iprot.readString();
-                struct.setIdIsSet(true);
+                struct.taskId = iprot.readString();
+                struct.setTaskIdIsSet(true);
               } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
@@ -63711,23 +64710,18 @@ public class RegistryService {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, addErrors_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, addTaskStatus_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
-        if (struct.errorType != null) {
-          oprot.writeFieldBegin(ERROR_TYPE_FIELD_DESC);
-          oprot.writeString(struct.errorType);
-          oprot.writeFieldEnd();
-        }
-        if (struct.errorModel != null) {
-          oprot.writeFieldBegin(ERROR_MODEL_FIELD_DESC);
-          struct.errorModel.write(oprot);
+        if (struct.taskStatus != null) {
+          oprot.writeFieldBegin(TASK_STATUS_FIELD_DESC);
+          struct.taskStatus.write(oprot);
           oprot.writeFieldEnd();
         }
-        if (struct.id != null) {
-          oprot.writeFieldBegin(ID_FIELD_DESC);
-          oprot.writeString(struct.id);
+        if (struct.taskId != null) {
+          oprot.writeFieldBegin(TASK_ID_FIELD_DESC);
+          oprot.writeString(struct.taskId);
           oprot.writeFieldEnd();
         }
         oprot.writeFieldStop();
@@ -63736,42 +64730,29 @@ public class RegistryService {
 
     }
 
-    private static class addErrors_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public addErrors_argsTupleScheme getScheme() {
-        return new addErrors_argsTupleScheme();
+    private static class addTaskStatus_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public addTaskStatus_argsTupleScheme getScheme() {
+        return new addTaskStatus_argsTupleScheme();
       }
     }
 
-    private static class addErrors_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<addErrors_args> {
+    private static class addTaskStatus_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<addTaskStatus_args> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, addErrors_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, addTaskStatus_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        oprot.writeString(struct.errorType);
-        struct.errorModel.write(oprot);
-        java.util.BitSet optionals = new java.util.BitSet();
-        if (struct.isSetId()) {
-          optionals.set(0);
-        }
-        oprot.writeBitSet(optionals, 1);
-        if (struct.isSetId()) {
-          oprot.writeString(struct.id);
-        }
+        struct.taskStatus.write(oprot);
+        oprot.writeString(struct.taskId);
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, addErrors_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, addTaskStatus_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        struct.errorType = iprot.readString();
-        struct.setErrorTypeIsSet(true);
-        struct.errorModel = new org.apache.airavata.model.commons.ErrorModel();
-        struct.errorModel.read(iprot);
-        struct.setErrorModelIsSet(true);
-        java.util.BitSet incoming = iprot.readBitSet(1);
-        if (incoming.get(0)) {
-          struct.id = iprot.readString();
-          struct.setIdIsSet(true);
-        }
+        struct.taskStatus = new org.apache.airavata.model.status.TaskStatus();
+        struct.taskStatus.read(iprot);
+        struct.setTaskStatusIsSet(true);
+        struct.taskId = iprot.readString();
+        struct.setTaskIdIsSet(true);
       }
     }
 
@@ -63780,13 +64761,13 @@ public class RegistryService {
     }
   }
 
-  public static class addErrors_result implements org.apache.thrift.TBase<addErrors_result, addErrors_result._Fields>, java.io.Serializable, Cloneable, Comparable<addErrors_result>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addErrors_result");
+  public static class addTaskStatus_result implements org.apache.thrift.TBase<addTaskStatus_result, addTaskStatus_result._Fields>, java.io.Serializable, Cloneable, Comparable<addTaskStatus_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addTaskStatus_result");
 
     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 addErrors_resultStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addErrors_resultTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addTaskStatus_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addTaskStatus_resultTupleSchemeFactory();
 
     public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
 
@@ -63855,13 +64836,13 @@ 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(addErrors_result.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(addTaskStatus_result.class, metaDataMap);
     }
 
-    public addErrors_result() {
+    public addTaskStatus_result() {
     }
 
-    public addErrors_result(
+    public addTaskStatus_result(
       org.apache.airavata.registry.api.exception.RegistryServiceException rse)
     {
       this();
@@ -63871,14 +64852,14 @@ public class RegistryService {
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public addErrors_result(addErrors_result other) {
+    public addTaskStatus_result(addTaskStatus_result other) {
       if (other.isSetRse()) {
         this.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException(other.rse);
       }
     }
 
-    public addErrors_result deepCopy() {
-      return new addErrors_result(this);
+    public addTaskStatus_result deepCopy() {
+      return new addTaskStatus_result(this);
     }
 
     @Override
@@ -63890,7 +64871,7 @@ public class RegistryService {
       return this.rse;
     }
 
-    public addErrors_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public addTaskStatus_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -63949,12 +64930,12 @@ public class RegistryService {
     public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
-      if (that instanceof addErrors_result)
-        return this.equals((addErrors_result)that);
+      if (that instanceof addTaskStatus_result)
+        return this.equals((addTaskStatus_result)that);
       return false;
     }
 
-    public boolean equals(addErrors_result that) {
+    public boolean equals(addTaskStatus_result that) {
       if (that == null)
         return false;
       if (this == that)
@@ -63984,7 +64965,7 @@ public class RegistryService {
     }
 
     @Override
-    public int compareTo(addErrors_result other) {
+    public int compareTo(addTaskStatus_result other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
@@ -64018,7 +64999,7 @@ public class RegistryService {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("addErrors_result(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("addTaskStatus_result(");
       boolean first = true;
 
       sb.append("rse:");
@@ -64053,15 +65034,15 @@ public class RegistryService {
       }
     }
 
-    private static class addErrors_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public addErrors_resultStandardScheme getScheme() {
-        return new addErrors_resultStandardScheme();
+    private static class addTaskStatus_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public addTaskStatus_resultStandardScheme getScheme() {
+        return new addTaskStatus_resultStandardScheme();
       }
     }
 
-    private static class addErrors_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addErrors_result> {
+    private static class addTaskStatus_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addTaskStatus_result> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, addErrors_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, addTaskStatus_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -64091,7 +65072,7 @@ public class RegistryService {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, addErrors_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, addTaskStatus_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
@@ -64106,16 +65087,16 @@ public class RegistryService {
 
     }
 
-    private static class addErrors_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public addErrors_resultTupleScheme getScheme() {
-        return new addErrors_resultTupleScheme();
+    private static class addTaskStatus_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public addTaskStatus_resultTupleScheme getScheme() {
+        return new addTaskStatus_resultTupleScheme();
       }
     }
 
-    private static class addErrors_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<addErrors_result> {
+    private static class addTaskStatus_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<addTaskStatus_result> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, addErrors_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, addTaskStatus_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()) {
@@ -64128,7 +65109,7 @@ public class RegistryService {
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, addErrors_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, addTaskStatus_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)) {
@@ -64144,22 +65125,22 @@ public class RegistryService {
     }
   }
 
-  public static class addTaskStatus_args implements org.apache.thrift.TBase<addTaskStatus_args, addTaskStatus_args._Fields>, java.io.Serializable, Cloneable, Comparable<addTaskStatus_args>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addTaskStatus_args");
+  public static class addProcessStatus_args implements org.apache.thrift.TBase<addProcessStatus_args, addProcessStatus_args._Fields>, java.io.Serializable, Cloneable, Comparable<addProcessStatus_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addProcessStatus_args");
 
-    private static final org.apache.thrift.protocol.TField TASK_STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("taskStatus", 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 PROCESS_STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("processStatus", 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 addTaskStatus_argsStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addTaskStatus_argsTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addProcessStatus_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addProcessStatus_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.status.TaskStatus taskStatus; // required
-    public java.lang.String taskId; // required
+    public org.apache.airavata.model.status.ProcessStatus processStatus; // 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 {
-      TASK_STATUS((short)1, "taskStatus"),
-      TASK_ID((short)2, "taskId");
+      PROCESS_STATUS((short)1, "processStatus"),
+      PROCESS_ID((short)2, "processId");
 
       private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
 
@@ -64174,10 +65155,10 @@ public class RegistryService {
        */
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
-          case 1: // TASK_STATUS
-            return TASK_STATUS;
-          case 2: // TASK_ID
-            return TASK_ID;
+          case 1: // PROCESS_STATUS
+            return PROCESS_STATUS;
+          case 2: // PROCESS_ID
+            return PROCESS_ID;
           default:
             return null;
         }
@@ -64221,111 +65202,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.TASK_STATUS, new org.apache.thrift.meta_data.FieldMetaData("taskStatus", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.status.TaskStatus.class)));
-      tmpMap.put(_Fields.TASK_ID, new org.apache.thrift.meta_data.FieldMetaData("taskId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+      tmpMap.put(_Fields.PROCESS_STATUS, new org.apache.thrift.meta_data.FieldMetaData("processStatus", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.status.ProcessStatus.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(addTaskStatus_args.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(addProcessStatus_args.class, metaDataMap);
     }
 
-    public addTaskStatus_args() {
+    public addProcessStatus_args() {
     }
 
-    public addTaskStatus_args(
-      org.apache.airavata.model.status.TaskStatus taskStatus,
-      java.lang.String taskId)
+    public addProcessStatus_args(
+      org.apache.airavata.model.status.ProcessStatus processStatus,
+      java.lang.String processId)
     {
       this();
-      this.taskStatus = taskStatus;
-      this.taskId = taskId;
+      this.processStatus = processStatus;
+      this.processId = processId;
     }
 
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public addTaskStatus_args(addTaskStatus_args other) {
-      if (other.isSetTaskStatus()) {
-        this.taskStatus = new org.apache.airavata.model.status.TaskStatus(other.taskStatus);
+    public addProcessStatus_args(addProcessStatus_args other) {
+      if (other.isSetProcessStatus()) {
+        this.processStatus = new org.apache.airavata.model.status.ProcessStatus(other.processStatus);
       }
-      if (other.isSetTaskId()) {
-        this.taskId = other.taskId;
+      if (other.isSetProcessId()) {
+        this.processId = other.processId;
       }
     }
 
-    public addTaskStatus_args deepCopy() {
-      return new addTaskStatus_args(this);
+    public addProcessStatus_args deepCopy() {
+      return new addProcessStatus_args(this);
     }
 
     @Override
     public void clear() {
-      this.taskStatus = null;
-      this.taskId = null;
+      this.processStatus = null;
+      this.processId = null;
     }
 
-    public org.apache.airavata.model.status.TaskStatus getTaskStatus() {
-      return this.taskStatus;
+    public org.apache.airavata.model.status.ProcessStatus getProcessStatus() {
+      return this.processStatus;
     }
 
-    public addTaskStatus_args setTaskStatus(org.apache.airavata.model.status.TaskStatus taskStatus) {
-      this.taskStatus = taskStatus;
+    public addProcessStatus_args setProcessStatus(org.apache.airavata.model.status.ProcessStatus processStatus) {
+      this.processStatus = processStatus;
       return this;
     }
 
-    public void unsetTaskStatus() {
-      this.taskStatus = null;
+    public void unsetProcessStatus() {
+      this.processStatus = null;
     }
 
-    /** Returns true if field taskStatus is set (has been assigned a value) and false otherwise */
-    public boolean isSetTaskStatus() {
-      return this.taskStatus != null;
+    /** Returns true if field processStatus is set (has been assigned a value) and false otherwise */
+    public boolean isSetProcessStatus() {
+      return this.processStatus != null;
     }
 
-    public void setTaskStatusIsSet(boolean value) {
+    public void setProcessStatusIsSet(boolean value) {
       if (!value) {
-        this.taskStatus = null;
+        this.processStatus = null;
       }
     }
 
-    public java.lang.String getTaskId() {
-      return this.taskId;
+    public java.lang.String getProcessId() {
+      return this.processId;
     }
 
-    public addTaskStatus_args setTaskId(java.lang.String taskId) {
-      this.taskId = taskId;
+    public addProcessStatus_args setProcessId(java.lang.String processId) {
+      this.processId = processId;
       return this;
     }
 
-    public void unsetTaskId() {
-      this.taskId = null;
+    public void unsetProcessId() {
+      this.processId = 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 processId is set (has been assigned a value) and false otherwise */
+    public boolean isSetProcessId() {
+      return this.processId != null;
     }
 
-    public void setTaskIdIsSet(boolean value) {
+    public void setProcessIdIsSet(boolean value) {
       if (!value) {
-        this.taskId = null;
+        this.processId = null;
       }
     }
 
     public void setFieldValue(_Fields field, java.lang.Object value) {
       switch (field) {
-      case TASK_STATUS:
+      case PROCESS_STATUS:
         if (value == null) {
-          unsetTaskStatus();
+          unsetProcessStatus();
         } else {
-          setTaskStatus((org.apache.airavata.model.status.TaskStatus)value);
+          setProcessStatus((org.apache.airavata.model.status.ProcessStatus)value);
         }
         break;
 
-      case TASK_ID:
+      case PROCESS_ID:
         if (value == null) {
-          unsetTaskId();
+          unsetProcessId();
         } else {
-          setTaskId((java.lang.String)value);
+          setProcessId((java.lang.String)value);
         }
         break;
 
@@ -64334,11 +65315,11 @@ public class RegistryService {
 
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
-      case TASK_STATUS:
-        return getTaskStatus();
+      case PROCESS_STATUS:
+        return getProcessStatus();
 
-      case TASK_ID:
-        return getTaskId();
+      case PROCESS_ID:
+        return getProcessId();
 
       }
       throw new java.lang.IllegalStateException();
@@ -64351,10 +65332,10 @@ public class RegistryService {
       }
 
       switch (field) {
-      case TASK_STATUS:
-        return isSetTaskStatus();
-      case TASK_ID:
-        return isSetTaskId();
+      case PROCESS_STATUS:
+        return isSetProcessStatus();
+      case PROCESS_ID:
+        return isSetProcessId();
       }
       throw new java.lang.IllegalStateException();
     }
@@ -64363,32 +65344,32 @@ public class RegistryService {
     public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
-      if (that instanceof addTaskStatus_args)
-        return this.equals((addTaskStatus_args)that);
+      if (that instanceof addProcessStatus_args)
+        return this.equals((addProcessStatus_args)that);
       return false;
     }
 
-    public boolean equals(addTaskStatus_args that) {
+    public boolean equals(addProcessStatus_args that) {
       if (that == null)
         return false;
       if (this == that)
         return true;
 
-      boolean this_present_taskStatus = true && this.isSetTaskStatus();
-      boolean that_present_taskStatus = true && that.isSetTaskStatus();
-      if (this_present_taskStatus || that_present_taskStatus) {
-        if (!(this_present_taskStatus && that_present_taskStatus))
+      boolean this_present_processStatus = true && this.isSetProcessStatus();
+      boolean that_present_processStatus = true && that.isSetProcessStatus();
+      if (this_present_processStatus || that_present_processStatus) {
+        if (!(this_present_processStatus && that_present_processStatus))
           return false;
-        if (!this.taskStatus.equals(that.taskStatus))
+        if (!this.processStatus.equals(that.processStatus))
           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_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.taskId.equals(that.taskId))
+        if (!this.processId.equals(that.processId))
           return false;
       }
 
@@ -64399,41 +65380,41 @@ public class RegistryService {
     public int hashCode() {
       int hashCode = 1;
 
-      hashCode = hashCode * 8191 + ((isSetTaskStatus()) ? 131071 : 524287);
-      if (isSetTaskStatus())
-        hashCode = hashCode * 8191 + taskStatus.hashCode();
+      hashCode = hashCode * 8191 + ((isSetProcessStatus()) ? 131071 : 524287);
+      if (isSetProcessStatus())
+        hashCode = hashCode * 8191 + processStatus.hashCode();
 
-      hashCode = hashCode * 8191 + ((isSetTaskId()) ? 131071 : 524287);
-      if (isSetTaskId())
-        hashCode = hashCode * 8191 + taskId.hashCode();
+      hashCode = hashCode * 8191 + ((isSetProcessId()) ? 131071 : 524287);
+      if (isSetProcessId())
+        hashCode = hashCode * 8191 + processId.hashCode();
 
       return hashCode;
     }
 
     @Override
-    public int compareTo(addTaskStatus_args other) {
+    public int compareTo(addProcessStatus_args other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetTaskStatus()).compareTo(other.isSetTaskStatus());
+      lastComparison = java.lang.Boolean.valueOf(isSetProcessStatus()).compareTo(other.isSetProcessStatus());
       if (lastComparison != 0) {
         return lastComparison;
       }
-      if (isSetTaskStatus()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.taskStatus, other.taskStatus);
+      if (isSetProcessStatus()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.processStatus, other.processStatus);
         if (lastComparison != 0) {
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetTaskId()).compareTo(other.isSetTaskId());
+      lastComparison = java.lang.Boolean.valueOf(isSetProcessId()).compareTo(other.isSetProcessId());
       if (lastComparison != 0) {
         return lastComparison;
       }
-      if (isSetTaskId()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.taskId, other.taskId);
+      if (isSetProcessId()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.processId, other.processId);
         if (lastComparison != 0) {
           return lastComparison;
         }
@@ -64455,22 +65436,22 @@ public class RegistryService {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("addTaskStatus_args(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("addProcessStatus_args(");
       boolean first = true;
 
-      sb.append("taskStatus:");
-      if (this.taskStatus == null) {
+      sb.append("processStatus:");
+      if (this.processStatus == null) {
         sb.append("null");
       } else {
-        sb.append(this.taskStatus);
+        sb.append(this.processStatus);
       }
       first = false;
       if (!first) sb.append(", ");
-      sb.append("taskId:");
-      if (this.taskId == null) {
+      sb.append("processId:");
+      if (this.processId == null) {
         sb.append("null");
       } else {
-        sb.append(this.taskId);
+        sb.append(this.processId);
       }
       first = false;
       sb.append(")");
@@ -64479,15 +65460,15 @@ public class RegistryService {
 
     public void validate() throws org.apache.thrift.TException {
       // check for required fields
-      if (taskStatus == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'taskStatus' was not present! Struct: " + toString());
+      if (processStatus == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'processStatus' was not present! Struct: " + toString());
       }
-      if (taskId == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'taskId' 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 (taskStatus != null) {
-        taskStatus.validate();
+      if (processStatus != null) {
+        processStatus.validate();
       }
     }
 
@@ -64507,15 +65488,15 @@ public class RegistryService {
       }
     }
 
-    private static class addTaskStatus_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public addTaskStatus_argsStandardScheme getScheme() {
-        return new addTaskStatus_argsStandardScheme();
+    private static class addProcessStatus_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public addProcessStatus_argsStandardScheme getScheme() {
+        return new addProcessStatus_argsStandardScheme();
       }
     }
 
-    private static class addTaskStatus_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addTaskStatus_args> {
+    private static class addProcessStatus_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addProcessStatus_args> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, addTaskStatus_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, addProcessStatus_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -64525,19 +65506,19 @@ public class RegistryService {
             break;
           }
           switch (schemeField.id) {
-            case 1: // TASK_STATUS
+            case 1: // PROCESS_STATUS
               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.taskStatus = new org.apache.airavata.model.status.TaskStatus();
-                struct.taskStatus.read(iprot);
-                struct.setTaskStatusIsSet(true);
+                struct.processStatus = new org.apache.airavata.model.status.ProcessStatus();
+                struct.processStatus.read(iprot);
+                struct.setProcessStatusIsSet(true);
               } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 2: // TASK_ID
+            case 2: // PROCESS_ID
               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.taskId = iprot.readString();
-                struct.setTaskIdIsSet(true);
+                struct.processId = iprot.readString();
+                struct.setProcessIdIsSet(true);
               } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
@@ -64553,18 +65534,18 @@ public class RegistryService {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, addTaskStatus_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, addProcessStatus_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
-        if (struct.taskStatus != null) {
-          oprot.writeFieldBegin(TASK_STATUS_FIELD_DESC);
-          struct.taskStatus.write(oprot);
+        if (struct.processStatus != null) {
+          oprot.writeFieldBegin(PROCESS_STATUS_FIELD_DESC);
+          struct.processStatus.write(oprot);
           oprot.writeFieldEnd();
         }
-        if (struct.taskId != null) {
-          oprot.writeFieldBegin(TASK_ID_FIELD_DESC);
-          oprot.writeString(struct.taskId);
+        if (struct.processId != null) {
+          oprot.writeFieldBegin(PROCESS_ID_FIELD_DESC);
+          oprot.writeString(struct.processId);
           oprot.writeFieldEnd();
         }
         oprot.writeFieldStop();
@@ -64573,29 +65554,29 @@ public class RegistryService {
 
     }
 
-    private static class addTaskStatus_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public addTaskStatus_argsTupleScheme getScheme() {
-        return new addTaskStatus_argsTupleScheme();
+    private static class addProcessStatus_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public addProcessStatus_argsTupleScheme getScheme() {
+        return new addProcessStatus_argsTupleScheme();
       }
     }
 
-    private static class addTaskStatus_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<addTaskStatus_args> {
+    private static class addProcessStatus_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<addProcessStatus_args> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, addTaskStatus_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, addProcessStatus_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        struct.taskStatus.write(oprot);
-        oprot.writeString(struct.taskId);
+        struct.processStatus.write(oprot);
+        oprot.writeString(struct.processId);
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, addTaskStatus_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, addProcessStatus_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        struct.taskStatus = new org.apache.airavata.model.status.TaskStatus();
-        struct.taskStatus.read(iprot);
-        struct.setTaskStatusIsSet(true);
-        struct.taskId = iprot.readString();
-        struct.setTaskIdIsSet(true);
+        struct.processStatus = new org.apache.airavata.model.status.ProcessStatus();
+        struct.processStatus.read(iprot);
+        struct.setProcessStatusIsSet(true);
+        struct.processId = iprot.readString();
+        struct.setProcessIdIsSet(true);
       }
     }
 
@@ -64604,13 +65585,13 @@ public class RegistryService {
     }
   }
 
-  public static class addTaskStatus_result implements org.apache.thrift.TBase<addTaskStatus_result, addTaskStatus_result._Fields>, java.io.Serializable, Cloneable, Comparable<addTaskStatus_result>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addTaskStatus_result");
+  public static class addProcessStatus_result implements org.apache.thrift.TBase<addProcessStatus_result, addProcessStatus_result._Fields>, java.io.Serializable, Cloneable, Comparable<addProcessStatus_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addProcessStatus_result");
 
     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 addTaskStatus_resultStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addTaskStatus_resultTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addProcessStatus_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addProcessStatus_resultTupleSchemeFactory();
 
     public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
 
@@ -64679,13 +65660,13 @@ 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(addTaskStatus_result.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(addProcessStatus_result.class, metaDataMap);
     }
 
-    public addTaskStatus_result() {
+    public addProcessStatus_result() {
     }
 
-    public addTaskStatus_result(
+    public addProcessStatus_result(
       org.apache.airavata.registry.api.exception.RegistryServiceException rse)
     {
       this();
@@ -64695,14 +65676,14 @@ public class RegistryService {
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public addTaskStatus_result(addTaskStatus_result other) {
+    public addProcessStatus_result(addProcessStatus_result other) {
       if (other.isSetRse()) {
         this.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException(other.rse);
       }
     }
 
-    public addTaskStatus_result deepCopy() {
-      return new addTaskStatus_result(this);
+    public addProcessStatus_result deepCopy() {
+      return new addProcessStatus_result(this);
     }
 
     @Override
@@ -64714,7 +65695,7 @@ public class RegistryService {
       return this.rse;
     }
 
-    public addTaskStatus_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public addProcessStatus_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -64773,12 +65754,12 @@ public class RegistryService {
     public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
-      if (that instanceof addTaskStatus_result)
-        return this.equals((addTaskStatus_result)that);
+      if (that instanceof addProcessStatus_result)
+        return this.equals((addProcessStatus_result)that);
       return false;
     }
 
-    public boolean equals(addTaskStatus_result that) {
+    public boolean equals(addProcessStatus_result that) {
       if (that == null)
         return false;
       if (this == that)
@@ -64808,7 +65789,7 @@ public class RegistryService {
     }
 
     @Override
-    public int compareTo(addTaskStatus_result other) {
+    public int compareTo(addProcessStatus_result other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
@@ -64842,7 +65823,7 @@ public class RegistryService {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("addTaskStatus_result(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("addProcessStatus_result(");
       boolean first = true;
 
       sb.append("rse:");
@@ -64877,15 +65858,15 @@ public class RegistryService {
       }
     }
 
-    private static class addTaskStatus_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public addTaskStatus_resultStandardScheme getScheme() {
-        return new addTaskStatus_resultStandardScheme();
+    private static class addProcessStatus_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public addProcessStatus_resultStandardScheme getScheme() {
+        return new addProcessStatus_resultStandardScheme();
       }
     }
 
-    private static class addTaskStatus_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addTaskStatus_result> {
+    private static class addProcessStatus_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addProcessStatus_result> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, addTaskStatus_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, addProcessStatus_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -64915,7 +65896,7 @@ public class RegistryService {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, addTaskStatus_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, addProcessStatus_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
@@ -64930,16 +65911,16 @@ public class RegistryService {
 
     }
 
-    private static class addTaskStatus_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public addTaskStatus_resultTupleScheme getScheme() {
-        return new addTaskStatus_resultTupleScheme();
+    private static class addProcessStatus_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public addProcessStatus_resultTupleScheme getScheme() {
+        return new addProcessStatus_resultTupleScheme();
       }
     }
 
-    private static class addTaskStatus_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<addTaskStatus_result> {
+    private static class addProcessStatus_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<addProcessStatus_result> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, addTaskStatus_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, addProcessStatus_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()) {
@@ -64952,7 +65933,7 @@ public class RegistryService {
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, addTaskStatus_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, addProcessStatus_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)) {
@@ -64968,14 +65949,14 @@ public class RegistryService {
     }
   }
 
-  public static class addProcessStatus_args implements org.apache.thrift.TBase<addProcessStatus_args, addProcessStatus_args._Fields>, java.io.Serializable, Cloneable, Comparable<addProcessStatus_args>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addProcessStatus_args");
+  public static class updateProcessStatus_args implements org.apache.thrift.TBase<updateProcessStatus_args, updateProcessStatus_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateProcessStatus_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateProcessStatus_args");
 
     private static final org.apache.thrift.protocol.TField PROCESS_STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("processStatus", 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 addProcessStatus_argsStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addProcessStatus_argsTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateProcessStatus_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateProcessStatus_argsTupleSchemeFactory();
 
     public org.apache.airavata.model.status.ProcessStatus processStatus; // required
     public java.lang.String processId; // required
@@ -65050,13 +66031,13 @@ public class RegistryService {
       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(addProcessStatus_args.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateProcessStatus_args.class, metaDataMap);
     }
 
-    public addProcessStatus_args() {
+    public updateProcessStatus_args() {
     }
 
-    public addProcessStatus_args(
+    public updateProcessStatus_args(
       org.apache.airavata.model.status.ProcessStatus processStatus,
       java.lang.String processId)
     {
@@ -65068,7 +66049,7 @@ public class RegistryService {
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public addProcessStatus_args(addProcessStatus_args other) {
+    public updateProcessStatus_args(updateProcessStatus_args other) {
       if (other.isSetProcessStatus()) {
         this.processStatus = new org.apache.airavata.model.status.ProcessStatus(other.processStatus);
       }
@@ -65077,8 +66058,8 @@ public class RegistryService {
       }
     }
 
-    public addProcessStatus_args deepCopy() {
-      return new addProcessStatus_args(this);
+    public updateProcessStatus_args deepCopy() {
+      return new updateProcessStatus_args(this);
     }
 
     @Override
@@ -65091,7 +66072,7 @@ public class RegistryService {
       return this.processStatus;
     }
 
-    public addProcessStatus_args setProcessStatus(org.apache.airavata.model.status.ProcessStatus processStatus) {
+    public updateProcessStatus_args setProcessStatus(org.apache.airavata.model.status.ProcessStatus processStatus) {
       this.processStatus = processStatus;
       return this;
     }
@@ -65115,7 +66096,7 @@ public class RegistryService {
       return this.processId;
     }
 
-    public addProcessStatus_args setProcessId(java.lang.String processId) {
+    public updateProcessStatus_args setProcessId(java.lang.String processId) {
       this.processId = processId;
... 10879 lines suppressed ...


Mime
View raw message