airavata-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sma...@apache.org
Subject [11/13] Adding API Methods to create and fetch basic experiment status - AIRAVATA-991
Date Tue, 25 Feb 2014 21:22:38 GMT
http://git-wip-us.apache.org/repos/asf/airavata/blob/5f6d80a8/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java b/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
index 2b2759d..7c4eafa 100644
--- a/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
+++ b/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
@@ -131,7 +131,7 @@ import org.slf4j.LoggerFactory;
      * 
      * @param airavataExperimentId
      */
-    public org.apache.airavata.model.workspace.experiment.Experiment getBasicExperiment(String airavataExperimentId) throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException;
+    public org.apache.airavata.model.workspace.experiment.Experiment getExperiment(String airavataExperimentId) throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException;
 
     /**
      * Configure a previously created experiment with required inputs, scheduling and other quality of service
@@ -177,42 +177,9 @@ import org.slf4j.LoggerFactory;
      */
     public void updateExperiment(String airavataExperimentId, org.apache.airavata.model.workspace.experiment.Experiment experiment) throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException;
 
-    /**
-     * Fetch the previously configured experiment configuration information.
-     * 
-     * @param airavataExperimentId
-     *    The identifier for the requested experiment. This is returned during the create experiment step.
-     * 
-     * @return
-     *   This method returns the previously configured experiment configuration data.
-     * 
-     * @throws org.apache.airavata.api.error.InvalidRequestException
-     *    For any incorrect forming of the request itself.
-     * 
-     * @throws org.apache.airavata.api.error.ExperimentNotFoundException
-     *    If the specified experiment is not previously created, then an Experiment Not Found Exception is thrown.
-     * 
-     * @throws org.apache.airavata.api.error.AiravataClientException
-     *    The following list of exceptions are thrown which Airavata Client can take corrective actions to resolve:
-     *      
-     *      UNKNOWN_GATEWAY_ID - If a Gateway is not registered with Airavata as a one time administrative
-     *         step, then Airavata Registry will not have a provenance area setup. The client has to follow
-     *         gateway registration steps and retry this request.
-     * 
-     *      AUTHENTICATION_FAILURE - How Authentication will be implemented is yet to be determined.
-     *         For now this is a place holder.
-     * 
-     *      INVALID_AUTHORIZATION - This will throw an authorization exception. When a more robust security hand-shake
-     *         is implemented, the authorization will be more substantial.
-     * 
-     * @throws org.apache.airavata.api.error.AiravataSystemException
-     *    This exception will be thrown for any Airavata Server side issues and if the problem cannot be corrected by the client
-     *       rather an Airavata Administrator will be notified to take corrective action.
-     * 
-     * 
-     * @param airavataExperimentId
-     */
-    public org.apache.airavata.model.workspace.experiment.ExperimentStatus getExperimentStatus(String airavataExperimentId) throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException;
+    public void updateExperimentConfiguration(String airavataExperimentId, org.apache.airavata.model.workspace.experiment.UserConfigurationData userConfiguration) throws org.apache.thrift.TException;
+
+    public void updateResourceScheduleing(String airavataExperimentId, org.apache.airavata.model.workspace.experiment.ComputationalResourceScheduling resourceScheduling) throws org.apache.thrift.TException;
 
     /**
      * Launch a previously created and configured experiment. Airavata Server will then start processing the request and appropriate
@@ -262,55 +229,11 @@ import org.slf4j.LoggerFactory;
      */
     public void launchExperiment(String airavataExperimentId, String airavataCredStoreToken) throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException;
 
-    /**
-     * Configure and Launch a previously created experiment with required inputs, scheduling, security and other quality of service
-     *   parameters. This method also launches the experiment after it is configured. If you would like to configure only
-     *   and launch at a later time or partially configure then ConfigureExperiment should be used.
-     * 
-     * @param airavataExperimentId
-     *    The identifier for the requested experiment. This is returned during the create experiment step.
-     * 
-     * @param experimentConfigurationData
-     *    The configuration information of the experiment with application input parameters, computational resource scheduling
-     *      information, special input output handling and additional quality of service parameters.
-     * 
-     * @param airavataCredStoreToken:
-     *   A requirement to execute experiments within Airavata is to first register the targeted remote computational account
-     *     credentials with Airavata Credential Store. The administrative API (related to credential store) will return a
-     *     generated token associated with the registered credentials. The client has to security posses this token id and is
-     *     required to pass it to Airavata Server for all execution requests.
-     *   Note: At this point only the credential store token is required so the string is directly passed here. In future if
-     *     if more security credentials are enables, then the structure ExecutionSecurityParameters should be used.
-     * 
-     * @return
-     *   The server-side generated experiment GUID.
-     * 
-     * @throws org.apache.airavata.api.error.InvalidRequestException
-     *    For any incorrect forming of the request itself.
-     * 
-     * @throws org.apache.airavata.api.error.AiravataClientException
-     *    The following list of exceptions are thrown which Airavata Client can take corrective actions to resolve:
-     *      
-     *      UNKNOWN_GATEWAY_ID - If a Gateway is not registered with Airavata as a one time administrative
-     *         step, then Airavata Registry will not have a provenance area setup. The client has to follow
-     *         gateway registration steps and retry this request.
-     * 
-     *      AUTHENTICATION_FAILURE - How Authentication will be implemented is yet to be determined.
-     *         For now this is a place holder.
-     * 
-     *      INVALID_AUTHORIZATION - This will throw an authorization exception. When a more robust security hand-shake
-     *         is implemented, the authorization will be more substantial.
-     * 
-     * @throws org.apache.airavata.api.error.AiravataSystemException
-     *    This exception will be thrown for any Airavata Server side issues and if the problem cannot be corrected by the client
-     *       rather an Airavata Administrator will be notified to take corrective action.
-     * 
-     * 
-     * @param airavataExperimentId
-     * @param experiment
-     * @param airavataCredStoreToken
-     */
-    public String updateAndLaunchExperiment(String airavataExperimentId, org.apache.airavata.model.workspace.experiment.Experiment experiment, String airavataCredStoreToken) throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException;
+    public org.apache.airavata.model.workspace.experiment.ExperimentStatus getExperimentStatus(String airavataExperimentId) throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException;
+
+    public List<org.apache.airavata.model.workspace.experiment.DataObjectType> getExperimentOutputs(String airavataExperimentId) throws org.apache.thrift.TException;
+
+    public org.apache.airavata.model.workspace.experiment.TaskStatus getJobStatus(String resourceJobId) throws org.apache.thrift.TException;
 
     /**
      * Clone an specified experiment with a new name. A copy of the experiment configuration is made and is persisted with new metadata.
@@ -403,15 +326,21 @@ import org.slf4j.LoggerFactory;
 
     public void createExperiment(org.apache.airavata.model.workspace.experiment.Experiment experiment, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void getBasicExperiment(String airavataExperimentId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void getExperiment(String airavataExperimentId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
     public void updateExperiment(String airavataExperimentId, org.apache.airavata.model.workspace.experiment.Experiment experiment, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void getExperimentStatus(String airavataExperimentId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void updateExperimentConfiguration(String airavataExperimentId, org.apache.airavata.model.workspace.experiment.UserConfigurationData userConfiguration, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void updateResourceScheduleing(String airavataExperimentId, org.apache.airavata.model.workspace.experiment.ComputationalResourceScheduling resourceScheduling, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
     public void launchExperiment(String airavataExperimentId, String airavataCredStoreToken, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void updateAndLaunchExperiment(String airavataExperimentId, org.apache.airavata.model.workspace.experiment.Experiment experiment, String airavataCredStoreToken, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void getExperimentStatus(String airavataExperimentId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void getExperimentOutputs(String airavataExperimentId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void getJobStatus(String resourceJobId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
     public void cloneExperiment(String airavataExperimentIdToBeCloned, org.apache.airavata.model.workspace.experiment.Experiment updatedExperiment, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
@@ -495,23 +424,23 @@ import org.slf4j.LoggerFactory;
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "createExperiment failed: unknown result");
     }
 
-    public org.apache.airavata.model.workspace.experiment.Experiment getBasicExperiment(String airavataExperimentId) throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException
+    public org.apache.airavata.model.workspace.experiment.Experiment getExperiment(String airavataExperimentId) throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException
     {
-      send_getBasicExperiment(airavataExperimentId);
-      return recv_getBasicExperiment();
+      send_getExperiment(airavataExperimentId);
+      return recv_getExperiment();
     }
 
-    public void send_getBasicExperiment(String airavataExperimentId) throws org.apache.thrift.TException
+    public void send_getExperiment(String airavataExperimentId) throws org.apache.thrift.TException
     {
-      getBasicExperiment_args args = new getBasicExperiment_args();
+      getExperiment_args args = new getExperiment_args();
       args.setAiravataExperimentId(airavataExperimentId);
-      sendBase("getBasicExperiment", args);
+      sendBase("getExperiment", args);
     }
 
-    public org.apache.airavata.model.workspace.experiment.Experiment recv_getBasicExperiment() throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException
+    public org.apache.airavata.model.workspace.experiment.Experiment recv_getExperiment() throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException
     {
-      getBasicExperiment_result result = new getBasicExperiment_result();
-      receiveBase(result, "getBasicExperiment");
+      getExperiment_result result = new getExperiment_result();
+      receiveBase(result, "getExperiment");
       if (result.isSetSuccess()) {
         return result.success;
       }
@@ -527,7 +456,7 @@ import org.slf4j.LoggerFactory;
       if (result.ase != null) {
         throw result.ase;
       }
-      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getBasicExperiment failed: unknown result");
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getExperiment failed: unknown result");
     }
 
     public void updateExperiment(String airavataExperimentId, org.apache.airavata.model.workspace.experiment.Experiment experiment) throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException
@@ -563,39 +492,46 @@ import org.slf4j.LoggerFactory;
       return;
     }
 
-    public org.apache.airavata.model.workspace.experiment.ExperimentStatus getExperimentStatus(String airavataExperimentId) throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException
+    public void updateExperimentConfiguration(String airavataExperimentId, org.apache.airavata.model.workspace.experiment.UserConfigurationData userConfiguration) throws org.apache.thrift.TException
     {
-      send_getExperimentStatus(airavataExperimentId);
-      return recv_getExperimentStatus();
+      send_updateExperimentConfiguration(airavataExperimentId, userConfiguration);
+      recv_updateExperimentConfiguration();
     }
 
-    public void send_getExperimentStatus(String airavataExperimentId) throws org.apache.thrift.TException
+    public void send_updateExperimentConfiguration(String airavataExperimentId, org.apache.airavata.model.workspace.experiment.UserConfigurationData userConfiguration) throws org.apache.thrift.TException
     {
-      getExperimentStatus_args args = new getExperimentStatus_args();
+      updateExperimentConfiguration_args args = new updateExperimentConfiguration_args();
       args.setAiravataExperimentId(airavataExperimentId);
-      sendBase("getExperimentStatus", args);
+      args.setUserConfiguration(userConfiguration);
+      sendBase("updateExperimentConfiguration", args);
     }
 
-    public org.apache.airavata.model.workspace.experiment.ExperimentStatus recv_getExperimentStatus() throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException
+    public void recv_updateExperimentConfiguration() throws org.apache.thrift.TException
     {
-      getExperimentStatus_result result = new getExperimentStatus_result();
-      receiveBase(result, "getExperimentStatus");
-      if (result.isSetSuccess()) {
-        return result.success;
-      }
-      if (result.ire != null) {
-        throw result.ire;
-      }
-      if (result.enf != null) {
-        throw result.enf;
-      }
-      if (result.ace != null) {
-        throw result.ace;
-      }
-      if (result.ase != null) {
-        throw result.ase;
-      }
-      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getExperimentStatus failed: unknown result");
+      updateExperimentConfiguration_result result = new updateExperimentConfiguration_result();
+      receiveBase(result, "updateExperimentConfiguration");
+      return;
+    }
+
+    public void updateResourceScheduleing(String airavataExperimentId, org.apache.airavata.model.workspace.experiment.ComputationalResourceScheduling resourceScheduling) throws org.apache.thrift.TException
+    {
+      send_updateResourceScheduleing(airavataExperimentId, resourceScheduling);
+      recv_updateResourceScheduleing();
+    }
+
+    public void send_updateResourceScheduleing(String airavataExperimentId, org.apache.airavata.model.workspace.experiment.ComputationalResourceScheduling resourceScheduling) throws org.apache.thrift.TException
+    {
+      updateResourceScheduleing_args args = new updateResourceScheduleing_args();
+      args.setAiravataExperimentId(airavataExperimentId);
+      args.setResourceScheduling(resourceScheduling);
+      sendBase("updateResourceScheduleing", args);
+    }
+
+    public void recv_updateResourceScheduleing() throws org.apache.thrift.TException
+    {
+      updateResourceScheduleing_result result = new updateResourceScheduleing_result();
+      receiveBase(result, "updateResourceScheduleing");
+      return;
     }
 
     public void launchExperiment(String airavataExperimentId, String airavataCredStoreToken) throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException
@@ -631,25 +567,23 @@ import org.slf4j.LoggerFactory;
       return;
     }
 
-    public String updateAndLaunchExperiment(String airavataExperimentId, org.apache.airavata.model.workspace.experiment.Experiment experiment, String airavataCredStoreToken) throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException
+    public org.apache.airavata.model.workspace.experiment.ExperimentStatus getExperimentStatus(String airavataExperimentId) throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException
     {
-      send_updateAndLaunchExperiment(airavataExperimentId, experiment, airavataCredStoreToken);
-      return recv_updateAndLaunchExperiment();
+      send_getExperimentStatus(airavataExperimentId);
+      return recv_getExperimentStatus();
     }
 
-    public void send_updateAndLaunchExperiment(String airavataExperimentId, org.apache.airavata.model.workspace.experiment.Experiment experiment, String airavataCredStoreToken) throws org.apache.thrift.TException
+    public void send_getExperimentStatus(String airavataExperimentId) throws org.apache.thrift.TException
     {
-      updateAndLaunchExperiment_args args = new updateAndLaunchExperiment_args();
+      getExperimentStatus_args args = new getExperimentStatus_args();
       args.setAiravataExperimentId(airavataExperimentId);
-      args.setExperiment(experiment);
-      args.setAiravataCredStoreToken(airavataCredStoreToken);
-      sendBase("updateAndLaunchExperiment", args);
+      sendBase("getExperimentStatus", args);
     }
 
-    public String recv_updateAndLaunchExperiment() throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException
+    public org.apache.airavata.model.workspace.experiment.ExperimentStatus recv_getExperimentStatus() throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException
     {
-      updateAndLaunchExperiment_result result = new updateAndLaunchExperiment_result();
-      receiveBase(result, "updateAndLaunchExperiment");
+      getExperimentStatus_result result = new getExperimentStatus_result();
+      receiveBase(result, "getExperimentStatus");
       if (result.isSetSuccess()) {
         return result.success;
       }
@@ -665,7 +599,53 @@ import org.slf4j.LoggerFactory;
       if (result.ase != null) {
         throw result.ase;
       }
-      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateAndLaunchExperiment failed: unknown result");
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getExperimentStatus failed: unknown result");
+    }
+
+    public List<org.apache.airavata.model.workspace.experiment.DataObjectType> getExperimentOutputs(String airavataExperimentId) throws org.apache.thrift.TException
+    {
+      send_getExperimentOutputs(airavataExperimentId);
+      return recv_getExperimentOutputs();
+    }
+
+    public void send_getExperimentOutputs(String airavataExperimentId) throws org.apache.thrift.TException
+    {
+      getExperimentOutputs_args args = new getExperimentOutputs_args();
+      args.setAiravataExperimentId(airavataExperimentId);
+      sendBase("getExperimentOutputs", args);
+    }
+
+    public List<org.apache.airavata.model.workspace.experiment.DataObjectType> recv_getExperimentOutputs() throws org.apache.thrift.TException
+    {
+      getExperimentOutputs_result result = new getExperimentOutputs_result();
+      receiveBase(result, "getExperimentOutputs");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getExperimentOutputs failed: unknown result");
+    }
+
+    public org.apache.airavata.model.workspace.experiment.TaskStatus getJobStatus(String resourceJobId) throws org.apache.thrift.TException
+    {
+      send_getJobStatus(resourceJobId);
+      return recv_getJobStatus();
+    }
+
+    public void send_getJobStatus(String resourceJobId) throws org.apache.thrift.TException
+    {
+      getJobStatus_args args = new getJobStatus_args();
+      args.setResourceJobId(resourceJobId);
+      sendBase("getJobStatus", args);
+    }
+
+    public org.apache.airavata.model.workspace.experiment.TaskStatus recv_getJobStatus() throws org.apache.thrift.TException
+    {
+      getJobStatus_result result = new getJobStatus_result();
+      receiveBase(result, "getJobStatus");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getJobStatus failed: unknown result");
     }
 
     public String cloneExperiment(String airavataExperimentIdToBeCloned, org.apache.airavata.model.workspace.experiment.Experiment updatedExperiment) throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException
@@ -851,23 +831,23 @@ import org.slf4j.LoggerFactory;
       }
     }
 
-    public void getBasicExperiment(String airavataExperimentId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void getExperiment(String airavataExperimentId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      getBasicExperiment_call method_call = new getBasicExperiment_call(airavataExperimentId, resultHandler, this, ___protocolFactory, ___transport);
+      getExperiment_call method_call = new getExperiment_call(airavataExperimentId, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class getBasicExperiment_call extends org.apache.thrift.async.TAsyncMethodCall {
+    public static class getExperiment_call extends org.apache.thrift.async.TAsyncMethodCall {
       private String airavataExperimentId;
-      public getBasicExperiment_call(String airavataExperimentId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      public getExperiment_call(String airavataExperimentId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
         this.airavataExperimentId = airavataExperimentId;
       }
 
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
-        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getBasicExperiment", org.apache.thrift.protocol.TMessageType.CALL, 0));
-        getBasicExperiment_args args = new getBasicExperiment_args();
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getExperiment", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        getExperiment_args args = new getExperiment_args();
         args.setAiravataExperimentId(airavataExperimentId);
         args.write(prot);
         prot.writeMessageEnd();
@@ -879,7 +859,7 @@ import org.slf4j.LoggerFactory;
         }
         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_getBasicExperiment();
+        return (new Client(prot)).recv_getExperiment();
       }
     }
 
@@ -918,35 +898,73 @@ import org.slf4j.LoggerFactory;
       }
     }
 
-    public void getExperimentStatus(String airavataExperimentId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void updateExperimentConfiguration(String airavataExperimentId, org.apache.airavata.model.workspace.experiment.UserConfigurationData userConfiguration, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      getExperimentStatus_call method_call = new getExperimentStatus_call(airavataExperimentId, resultHandler, this, ___protocolFactory, ___transport);
+      updateExperimentConfiguration_call method_call = new updateExperimentConfiguration_call(airavataExperimentId, userConfiguration, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class getExperimentStatus_call extends org.apache.thrift.async.TAsyncMethodCall {
+    public static class updateExperimentConfiguration_call extends org.apache.thrift.async.TAsyncMethodCall {
       private String airavataExperimentId;
-      public getExperimentStatus_call(String airavataExperimentId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      private org.apache.airavata.model.workspace.experiment.UserConfigurationData userConfiguration;
+      public updateExperimentConfiguration_call(String airavataExperimentId, org.apache.airavata.model.workspace.experiment.UserConfigurationData userConfiguration, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
         this.airavataExperimentId = airavataExperimentId;
+        this.userConfiguration = userConfiguration;
       }
 
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
-        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getExperimentStatus", org.apache.thrift.protocol.TMessageType.CALL, 0));
-        getExperimentStatus_args args = new getExperimentStatus_args();
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateExperimentConfiguration", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        updateExperimentConfiguration_args args = new updateExperimentConfiguration_args();
         args.setAiravataExperimentId(airavataExperimentId);
+        args.setUserConfiguration(userConfiguration);
         args.write(prot);
         prot.writeMessageEnd();
       }
 
-      public org.apache.airavata.model.workspace.experiment.ExperimentStatus getResult() throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException {
+      public void getResult() throws org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new IllegalStateException("Method call not finished!");
         }
         org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
         org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
-        return (new Client(prot)).recv_getExperimentStatus();
+        (new Client(prot)).recv_updateExperimentConfiguration();
+      }
+    }
+
+    public void updateResourceScheduleing(String airavataExperimentId, org.apache.airavata.model.workspace.experiment.ComputationalResourceScheduling resourceScheduling, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      updateResourceScheduleing_call method_call = new updateResourceScheduleing_call(airavataExperimentId, resourceScheduling, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class updateResourceScheduleing_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String airavataExperimentId;
+      private org.apache.airavata.model.workspace.experiment.ComputationalResourceScheduling resourceScheduling;
+      public updateResourceScheduleing_call(String airavataExperimentId, org.apache.airavata.model.workspace.experiment.ComputationalResourceScheduling resourceScheduling, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.airavataExperimentId = airavataExperimentId;
+        this.resourceScheduling = resourceScheduling;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateResourceScheduleing", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        updateResourceScheduleing_args args = new updateResourceScheduleing_args();
+        args.setAiravataExperimentId(airavataExperimentId);
+        args.setResourceScheduling(resourceScheduling);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public void getResult() throws org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        (new Client(prot)).recv_updateResourceScheduleing();
       }
     }
 
@@ -985,41 +1003,99 @@ import org.slf4j.LoggerFactory;
       }
     }
 
-    public void updateAndLaunchExperiment(String airavataExperimentId, org.apache.airavata.model.workspace.experiment.Experiment experiment, String airavataCredStoreToken, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void getExperimentStatus(String airavataExperimentId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      updateAndLaunchExperiment_call method_call = new updateAndLaunchExperiment_call(airavataExperimentId, experiment, airavataCredStoreToken, resultHandler, this, ___protocolFactory, ___transport);
+      getExperimentStatus_call method_call = new getExperimentStatus_call(airavataExperimentId, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class updateAndLaunchExperiment_call extends org.apache.thrift.async.TAsyncMethodCall {
+    public static class getExperimentStatus_call extends org.apache.thrift.async.TAsyncMethodCall {
       private String airavataExperimentId;
-      private org.apache.airavata.model.workspace.experiment.Experiment experiment;
-      private String airavataCredStoreToken;
-      public updateAndLaunchExperiment_call(String airavataExperimentId, org.apache.airavata.model.workspace.experiment.Experiment experiment, String airavataCredStoreToken, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      public getExperimentStatus_call(String airavataExperimentId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
         this.airavataExperimentId = airavataExperimentId;
-        this.experiment = experiment;
-        this.airavataCredStoreToken = airavataCredStoreToken;
       }
 
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
-        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateAndLaunchExperiment", org.apache.thrift.protocol.TMessageType.CALL, 0));
-        updateAndLaunchExperiment_args args = new updateAndLaunchExperiment_args();
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getExperimentStatus", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        getExperimentStatus_args args = new getExperimentStatus_args();
         args.setAiravataExperimentId(airavataExperimentId);
-        args.setExperiment(experiment);
-        args.setAiravataCredStoreToken(airavataCredStoreToken);
         args.write(prot);
         prot.writeMessageEnd();
       }
 
-      public String getResult() throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException {
+      public org.apache.airavata.model.workspace.experiment.ExperimentStatus getResult() throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_getExperimentStatus();
+      }
+    }
+
+    public void getExperimentOutputs(String airavataExperimentId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      getExperimentOutputs_call method_call = new getExperimentOutputs_call(airavataExperimentId, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class getExperimentOutputs_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String airavataExperimentId;
+      public getExperimentOutputs_call(String airavataExperimentId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.airavataExperimentId = airavataExperimentId;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getExperimentOutputs", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        getExperimentOutputs_args args = new getExperimentOutputs_args();
+        args.setAiravataExperimentId(airavataExperimentId);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public List<org.apache.airavata.model.workspace.experiment.DataObjectType> getResult() throws org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_getExperimentOutputs();
+      }
+    }
+
+    public void getJobStatus(String resourceJobId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      getJobStatus_call method_call = new getJobStatus_call(resourceJobId, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class getJobStatus_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String resourceJobId;
+      public getJobStatus_call(String resourceJobId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.resourceJobId = resourceJobId;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getJobStatus", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        getJobStatus_args args = new getJobStatus_args();
+        args.setResourceJobId(resourceJobId);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public org.apache.airavata.model.workspace.experiment.TaskStatus getResult() throws org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new IllegalStateException("Method call not finished!");
         }
         org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
         org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
-        return (new Client(prot)).recv_updateAndLaunchExperiment();
+        return (new Client(prot)).recv_getJobStatus();
       }
     }
 
@@ -1140,11 +1216,14 @@ import org.slf4j.LoggerFactory;
     private static <I extends Iface> Map<String,  org.apache.thrift.ProcessFunction<I, ? extends  org.apache.thrift.TBase>> getProcessMap(Map<String,  org.apache.thrift.ProcessFunction<I, ? extends  org.apache.thrift.TBase>> processMap) {
       processMap.put("GetAPIVersion", new GetAPIVersion());
       processMap.put("createExperiment", new createExperiment());
-      processMap.put("getBasicExperiment", new getBasicExperiment());
+      processMap.put("getExperiment", new getExperiment());
       processMap.put("updateExperiment", new updateExperiment());
-      processMap.put("getExperimentStatus", new getExperimentStatus());
+      processMap.put("updateExperimentConfiguration", new updateExperimentConfiguration());
+      processMap.put("updateResourceScheduleing", new updateResourceScheduleing());
       processMap.put("launchExperiment", new launchExperiment());
-      processMap.put("updateAndLaunchExperiment", new updateAndLaunchExperiment());
+      processMap.put("getExperimentStatus", new getExperimentStatus());
+      processMap.put("getExperimentOutputs", new getExperimentOutputs());
+      processMap.put("getJobStatus", new getJobStatus());
       processMap.put("cloneExperiment", new cloneExperiment());
       processMap.put("terminateExperiment", new terminateExperiment());
       processMap.put("createProject", new createProject());
@@ -1199,23 +1278,23 @@ import org.slf4j.LoggerFactory;
       }
     }
 
-    public static class getBasicExperiment<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getBasicExperiment_args> {
-      public getBasicExperiment() {
-        super("getBasicExperiment");
+    public static class getExperiment<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getExperiment_args> {
+      public getExperiment() {
+        super("getExperiment");
       }
 
-      public getBasicExperiment_args getEmptyArgsInstance() {
-        return new getBasicExperiment_args();
+      public getExperiment_args getEmptyArgsInstance() {
+        return new getExperiment_args();
       }
 
       protected boolean isOneway() {
         return false;
       }
 
-      public getBasicExperiment_result getResult(I iface, getBasicExperiment_args args) throws org.apache.thrift.TException {
-        getBasicExperiment_result result = new getBasicExperiment_result();
+      public getExperiment_result getResult(I iface, getExperiment_args args) throws org.apache.thrift.TException {
+        getExperiment_result result = new getExperiment_result();
         try {
-          result.success = iface.getBasicExperiment(args.airavataExperimentId);
+          result.success = iface.getExperiment(args.airavataExperimentId);
         } catch (org.apache.airavata.api.error.InvalidRequestException ire) {
           result.ire = ire;
         } catch (org.apache.airavata.api.error.ExperimentNotFoundException enf) {
@@ -1259,32 +1338,42 @@ import org.slf4j.LoggerFactory;
       }
     }
 
-    public static class getExperimentStatus<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getExperimentStatus_args> {
-      public getExperimentStatus() {
-        super("getExperimentStatus");
+    public static class updateExperimentConfiguration<I extends Iface> extends org.apache.thrift.ProcessFunction<I, updateExperimentConfiguration_args> {
+      public updateExperimentConfiguration() {
+        super("updateExperimentConfiguration");
       }
 
-      public getExperimentStatus_args getEmptyArgsInstance() {
-        return new getExperimentStatus_args();
+      public updateExperimentConfiguration_args getEmptyArgsInstance() {
+        return new updateExperimentConfiguration_args();
       }
 
       protected boolean isOneway() {
         return false;
       }
 
-      public getExperimentStatus_result getResult(I iface, getExperimentStatus_args args) throws org.apache.thrift.TException {
-        getExperimentStatus_result result = new getExperimentStatus_result();
-        try {
-          result.success = iface.getExperimentStatus(args.airavataExperimentId);
-        } catch (org.apache.airavata.api.error.InvalidRequestException ire) {
-          result.ire = ire;
-        } catch (org.apache.airavata.api.error.ExperimentNotFoundException enf) {
-          result.enf = enf;
-        } catch (org.apache.airavata.api.error.AiravataClientException ace) {
-          result.ace = ace;
-        } catch (org.apache.airavata.api.error.AiravataSystemException ase) {
-          result.ase = ase;
-        }
+      public updateExperimentConfiguration_result getResult(I iface, updateExperimentConfiguration_args args) throws org.apache.thrift.TException {
+        updateExperimentConfiguration_result result = new updateExperimentConfiguration_result();
+        iface.updateExperimentConfiguration(args.airavataExperimentId, args.userConfiguration);
+        return result;
+      }
+    }
+
+    public static class updateResourceScheduleing<I extends Iface> extends org.apache.thrift.ProcessFunction<I, updateResourceScheduleing_args> {
+      public updateResourceScheduleing() {
+        super("updateResourceScheduleing");
+      }
+
+      public updateResourceScheduleing_args getEmptyArgsInstance() {
+        return new updateResourceScheduleing_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public updateResourceScheduleing_result getResult(I iface, updateResourceScheduleing_args args) throws org.apache.thrift.TException {
+        updateResourceScheduleing_result result = new updateResourceScheduleing_result();
+        iface.updateResourceScheduleing(args.airavataExperimentId, args.resourceScheduling);
         return result;
       }
     }
@@ -1319,23 +1408,23 @@ import org.slf4j.LoggerFactory;
       }
     }
 
-    public static class updateAndLaunchExperiment<I extends Iface> extends org.apache.thrift.ProcessFunction<I, updateAndLaunchExperiment_args> {
-      public updateAndLaunchExperiment() {
-        super("updateAndLaunchExperiment");
+    public static class getExperimentStatus<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getExperimentStatus_args> {
+      public getExperimentStatus() {
+        super("getExperimentStatus");
       }
 
-      public updateAndLaunchExperiment_args getEmptyArgsInstance() {
-        return new updateAndLaunchExperiment_args();
+      public getExperimentStatus_args getEmptyArgsInstance() {
+        return new getExperimentStatus_args();
       }
 
       protected boolean isOneway() {
         return false;
       }
 
-      public updateAndLaunchExperiment_result getResult(I iface, updateAndLaunchExperiment_args args) throws org.apache.thrift.TException {
-        updateAndLaunchExperiment_result result = new updateAndLaunchExperiment_result();
+      public getExperimentStatus_result getResult(I iface, getExperimentStatus_args args) throws org.apache.thrift.TException {
+        getExperimentStatus_result result = new getExperimentStatus_result();
         try {
-          result.success = iface.updateAndLaunchExperiment(args.airavataExperimentId, args.experiment, args.airavataCredStoreToken);
+          result.success = iface.getExperimentStatus(args.airavataExperimentId);
         } catch (org.apache.airavata.api.error.InvalidRequestException ire) {
           result.ire = ire;
         } catch (org.apache.airavata.api.error.ExperimentNotFoundException enf) {
@@ -1349,6 +1438,46 @@ import org.slf4j.LoggerFactory;
       }
     }
 
+    public static class getExperimentOutputs<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getExperimentOutputs_args> {
+      public getExperimentOutputs() {
+        super("getExperimentOutputs");
+      }
+
+      public getExperimentOutputs_args getEmptyArgsInstance() {
+        return new getExperimentOutputs_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public getExperimentOutputs_result getResult(I iface, getExperimentOutputs_args args) throws org.apache.thrift.TException {
+        getExperimentOutputs_result result = new getExperimentOutputs_result();
+        result.success = iface.getExperimentOutputs(args.airavataExperimentId);
+        return result;
+      }
+    }
+
+    public static class getJobStatus<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getJobStatus_args> {
+      public getJobStatus() {
+        super("getJobStatus");
+      }
+
+      public getJobStatus_args getEmptyArgsInstance() {
+        return new getJobStatus_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public getJobStatus_result getResult(I iface, getJobStatus_args args) throws org.apache.thrift.TException {
+        getJobStatus_result result = new getJobStatus_result();
+        result.success = iface.getJobStatus(args.resourceJobId);
+        return result;
+      }
+    }
+
     public static class cloneExperiment<I extends Iface> extends org.apache.thrift.ProcessFunction<I, cloneExperiment_args> {
       public cloneExperiment() {
         super("cloneExperiment");
@@ -1454,11 +1583,14 @@ import org.slf4j.LoggerFactory;
     private static <I extends AsyncIface> Map<String,  org.apache.thrift.AsyncProcessFunction<I, ? extends  org.apache.thrift.TBase,?>> getProcessMap(Map<String,  org.apache.thrift.AsyncProcessFunction<I, ? extends  org.apache.thrift.TBase, ?>> processMap) {
       processMap.put("GetAPIVersion", new GetAPIVersion());
       processMap.put("createExperiment", new createExperiment());
-      processMap.put("getBasicExperiment", new getBasicExperiment());
+      processMap.put("getExperiment", new getExperiment());
       processMap.put("updateExperiment", new updateExperiment());
-      processMap.put("getExperimentStatus", new getExperimentStatus());
+      processMap.put("updateExperimentConfiguration", new updateExperimentConfiguration());
+      processMap.put("updateResourceScheduleing", new updateResourceScheduleing());
       processMap.put("launchExperiment", new launchExperiment());
-      processMap.put("updateAndLaunchExperiment", new updateAndLaunchExperiment());
+      processMap.put("getExperimentStatus", new getExperimentStatus());
+      processMap.put("getExperimentOutputs", new getExperimentOutputs());
+      processMap.put("getJobStatus", new getJobStatus());
       processMap.put("cloneExperiment", new cloneExperiment());
       processMap.put("terminateExperiment", new terminateExperiment());
       processMap.put("createProject", new createProject());
@@ -1583,20 +1715,20 @@ import org.slf4j.LoggerFactory;
       }
     }
 
-    public static class getBasicExperiment<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getBasicExperiment_args, org.apache.airavata.model.workspace.experiment.Experiment> {
-      public getBasicExperiment() {
-        super("getBasicExperiment");
+    public static class getExperiment<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getExperiment_args, org.apache.airavata.model.workspace.experiment.Experiment> {
+      public getExperiment() {
+        super("getExperiment");
       }
 
-      public getBasicExperiment_args getEmptyArgsInstance() {
-        return new getBasicExperiment_args();
+      public getExperiment_args getEmptyArgsInstance() {
+        return new getExperiment_args();
       }
 
       public AsyncMethodCallback<org.apache.airavata.model.workspace.experiment.Experiment> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new AsyncMethodCallback<org.apache.airavata.model.workspace.experiment.Experiment>() { 
           public void onComplete(org.apache.airavata.model.workspace.experiment.Experiment o) {
-            getBasicExperiment_result result = new getBasicExperiment_result();
+            getExperiment_result result = new getExperiment_result();
             result.success = o;
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -1609,7 +1741,7 @@ import org.slf4j.LoggerFactory;
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            getBasicExperiment_result result = new getBasicExperiment_result();
+            getExperiment_result result = new getExperiment_result();
             if (e instanceof org.apache.airavata.api.error.InvalidRequestException) {
                         result.ire = (org.apache.airavata.api.error.InvalidRequestException) e;
                         result.setIreIsSet(true);
@@ -1650,8 +1782,8 @@ import org.slf4j.LoggerFactory;
         return false;
       }
 
-      public void start(I iface, getBasicExperiment_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.experiment.Experiment> resultHandler) throws TException {
-        iface.getBasicExperiment(args.airavataExperimentId,resultHandler);
+      public void start(I iface, getExperiment_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.experiment.Experiment> resultHandler) throws TException {
+        iface.getExperiment(args.airavataExperimentId,resultHandler);
       }
     }
 
@@ -1726,21 +1858,20 @@ import org.slf4j.LoggerFactory;
       }
     }
 
-    public static class getExperimentStatus<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getExperimentStatus_args, org.apache.airavata.model.workspace.experiment.ExperimentStatus> {
-      public getExperimentStatus() {
-        super("getExperimentStatus");
+    public static class updateExperimentConfiguration<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateExperimentConfiguration_args, Void> {
+      public updateExperimentConfiguration() {
+        super("updateExperimentConfiguration");
       }
 
-      public getExperimentStatus_args getEmptyArgsInstance() {
-        return new getExperimentStatus_args();
+      public updateExperimentConfiguration_args getEmptyArgsInstance() {
+        return new updateExperimentConfiguration_args();
       }
 
-      public AsyncMethodCallback<org.apache.airavata.model.workspace.experiment.ExperimentStatus> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<org.apache.airavata.model.workspace.experiment.ExperimentStatus>() { 
-          public void onComplete(org.apache.airavata.model.workspace.experiment.ExperimentStatus o) {
-            getExperimentStatus_result result = new getExperimentStatus_result();
-            result.success = o;
+        return new AsyncMethodCallback<Void>() { 
+          public void onComplete(Void o) {
+            updateExperimentConfiguration_result result = new updateExperimentConfiguration_result();
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -1752,28 +1883,57 @@ import org.slf4j.LoggerFactory;
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            getExperimentStatus_result result = new getExperimentStatus_result();
-            if (e instanceof org.apache.airavata.api.error.InvalidRequestException) {
-                        result.ire = (org.apache.airavata.api.error.InvalidRequestException) e;
-                        result.setIreIsSet(true);
-                        msg = result;
-            }
-            else             if (e instanceof org.apache.airavata.api.error.ExperimentNotFoundException) {
-                        result.enf = (org.apache.airavata.api.error.ExperimentNotFoundException) e;
-                        result.setEnfIsSet(true);
-                        msg = result;
+            updateExperimentConfiguration_result result = new updateExperimentConfiguration_result();
+            {
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
             }
-            else             if (e instanceof org.apache.airavata.api.error.AiravataClientException) {
-                        result.ace = (org.apache.airavata.api.error.AiravataClientException) e;
-                        result.setAceIsSet(true);
-                        msg = result;
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+              return;
+            } catch (Exception ex) {
+              LOGGER.error("Exception writing to internal frame buffer", ex);
             }
-            else             if (e instanceof org.apache.airavata.api.error.AiravataSystemException) {
-                        result.ase = (org.apache.airavata.api.error.AiravataSystemException) e;
-                        result.setAseIsSet(true);
-                        msg = result;
+            fb.close();
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, updateExperimentConfiguration_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
+        iface.updateExperimentConfiguration(args.airavataExperimentId, args.userConfiguration,resultHandler);
+      }
+    }
+
+    public static class updateResourceScheduleing<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateResourceScheduleing_args, Void> {
+      public updateResourceScheduleing() {
+        super("updateResourceScheduleing");
+      }
+
+      public updateResourceScheduleing_args getEmptyArgsInstance() {
+        return new updateResourceScheduleing_args();
+      }
+
+      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new AsyncMethodCallback<Void>() { 
+          public void onComplete(Void o) {
+            updateResourceScheduleing_result result = new updateResourceScheduleing_result();
+            try {
+              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+              return;
+            } catch (Exception e) {
+              LOGGER.error("Exception writing to internal frame buffer", e);
             }
-             else 
+            fb.close();
+          }
+          public void onError(Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TBase msg;
+            updateResourceScheduleing_result result = new updateResourceScheduleing_result();
             {
               msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
               msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
@@ -1793,8 +1953,8 @@ import org.slf4j.LoggerFactory;
         return false;
       }
 
-      public void start(I iface, getExperimentStatus_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.experiment.ExperimentStatus> resultHandler) throws TException {
-        iface.getExperimentStatus(args.airavataExperimentId,resultHandler);
+      public void start(I iface, updateResourceScheduleing_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
+        iface.updateResourceScheduleing(args.airavataExperimentId, args.resourceScheduling,resultHandler);
       }
     }
 
@@ -1869,20 +2029,20 @@ import org.slf4j.LoggerFactory;
       }
     }
 
-    public static class updateAndLaunchExperiment<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateAndLaunchExperiment_args, String> {
-      public updateAndLaunchExperiment() {
-        super("updateAndLaunchExperiment");
+    public static class getExperimentStatus<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getExperimentStatus_args, org.apache.airavata.model.workspace.experiment.ExperimentStatus> {
+      public getExperimentStatus() {
+        super("getExperimentStatus");
       }
 
-      public updateAndLaunchExperiment_args getEmptyArgsInstance() {
-        return new updateAndLaunchExperiment_args();
+      public getExperimentStatus_args getEmptyArgsInstance() {
+        return new getExperimentStatus_args();
       }
 
-      public AsyncMethodCallback<String> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<org.apache.airavata.model.workspace.experiment.ExperimentStatus> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<String>() { 
-          public void onComplete(String o) {
-            updateAndLaunchExperiment_result result = new updateAndLaunchExperiment_result();
+        return new AsyncMethodCallback<org.apache.airavata.model.workspace.experiment.ExperimentStatus>() { 
+          public void onComplete(org.apache.airavata.model.workspace.experiment.ExperimentStatus o) {
+            getExperimentStatus_result result = new getExperimentStatus_result();
             result.success = o;
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -1895,7 +2055,7 @@ import org.slf4j.LoggerFactory;
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            updateAndLaunchExperiment_result result = new updateAndLaunchExperiment_result();
+            getExperimentStatus_result result = new getExperimentStatus_result();
             if (e instanceof org.apache.airavata.api.error.InvalidRequestException) {
                         result.ire = (org.apache.airavata.api.error.InvalidRequestException) e;
                         result.setIreIsSet(true);
@@ -1936,8 +2096,110 @@ import org.slf4j.LoggerFactory;
         return false;
       }
 
-      public void start(I iface, updateAndLaunchExperiment_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
-        iface.updateAndLaunchExperiment(args.airavataExperimentId, args.experiment, args.airavataCredStoreToken,resultHandler);
+      public void start(I iface, getExperimentStatus_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.experiment.ExperimentStatus> resultHandler) throws TException {
+        iface.getExperimentStatus(args.airavataExperimentId,resultHandler);
+      }
+    }
+
+    public static class getExperimentOutputs<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getExperimentOutputs_args, List<org.apache.airavata.model.workspace.experiment.DataObjectType>> {
+      public getExperimentOutputs() {
+        super("getExperimentOutputs");
+      }
+
+      public getExperimentOutputs_args getEmptyArgsInstance() {
+        return new getExperimentOutputs_args();
+      }
+
+      public AsyncMethodCallback<List<org.apache.airavata.model.workspace.experiment.DataObjectType>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new AsyncMethodCallback<List<org.apache.airavata.model.workspace.experiment.DataObjectType>>() { 
+          public void onComplete(List<org.apache.airavata.model.workspace.experiment.DataObjectType> o) {
+            getExperimentOutputs_result result = new getExperimentOutputs_result();
+            result.success = o;
+            try {
+              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+              return;
+            } catch (Exception e) {
+              LOGGER.error("Exception writing to internal frame buffer", e);
+            }
+            fb.close();
+          }
+          public void onError(Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TBase msg;
+            getExperimentOutputs_result result = new getExperimentOutputs_result();
+            {
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+              return;
+            } catch (Exception ex) {
+              LOGGER.error("Exception writing to internal frame buffer", ex);
+            }
+            fb.close();
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, getExperimentOutputs_args args, org.apache.thrift.async.AsyncMethodCallback<List<org.apache.airavata.model.workspace.experiment.DataObjectType>> resultHandler) throws TException {
+        iface.getExperimentOutputs(args.airavataExperimentId,resultHandler);
+      }
+    }
+
+    public static class getJobStatus<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getJobStatus_args, org.apache.airavata.model.workspace.experiment.TaskStatus> {
+      public getJobStatus() {
+        super("getJobStatus");
+      }
+
+      public getJobStatus_args getEmptyArgsInstance() {
+        return new getJobStatus_args();
+      }
+
+      public AsyncMethodCallback<org.apache.airavata.model.workspace.experiment.TaskStatus> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new AsyncMethodCallback<org.apache.airavata.model.workspace.experiment.TaskStatus>() { 
+          public void onComplete(org.apache.airavata.model.workspace.experiment.TaskStatus o) {
+            getJobStatus_result result = new getJobStatus_result();
+            result.success = o;
+            try {
+              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+              return;
+            } catch (Exception e) {
+              LOGGER.error("Exception writing to internal frame buffer", e);
+            }
+            fb.close();
+          }
+          public void onError(Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TBase msg;
+            getJobStatus_result result = new getJobStatus_result();
+            {
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+              return;
+            } catch (Exception ex) {
+              LOGGER.error("Exception writing to internal frame buffer", ex);
+            }
+            fb.close();
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, getJobStatus_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.experiment.TaskStatus> resultHandler) throws TException {
+        iface.getJobStatus(args.resourceJobId,resultHandler);
       }
     }
 
@@ -2833,7 +3095,7 @@ import org.slf4j.LoggerFactory;
     public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
     static {
       Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
-      tmpMap.put(_Fields.EXPERIMENT, new org.apache.thrift.meta_data.FieldMetaData("experiment", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+      tmpMap.put(_Fields.EXPERIMENT, new org.apache.thrift.meta_data.FieldMetaData("experiment", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.workspace.experiment.Experiment.class)));
       metaDataMap = Collections.unmodifiableMap(tmpMap);
       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(createExperiment_args.class, metaDataMap);
@@ -3007,6 +3269,9 @@ import org.slf4j.LoggerFactory;
 
     public void validate() throws org.apache.thrift.TException {
       // check for required fields
+      if (experiment == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'experiment' was not present! Struct: " + toString());
+      }
       // check for sub-struct validity
       if (experiment != null) {
         experiment.validate();
@@ -3093,25 +3358,15 @@ import org.slf4j.LoggerFactory;
       @Override
       public void write(org.apache.thrift.protocol.TProtocol prot, createExperiment_args struct) throws org.apache.thrift.TException {
         TTupleProtocol oprot = (TTupleProtocol) prot;
-        BitSet optionals = new BitSet();
-        if (struct.isSetExperiment()) {
-          optionals.set(0);
-        }
-        oprot.writeBitSet(optionals, 1);
-        if (struct.isSetExperiment()) {
-          struct.experiment.write(oprot);
-        }
+        struct.experiment.write(oprot);
       }
 
       @Override
       public void read(org.apache.thrift.protocol.TProtocol prot, createExperiment_args struct) throws org.apache.thrift.TException {
         TTupleProtocol iprot = (TTupleProtocol) prot;
-        BitSet incoming = iprot.readBitSet(1);
-        if (incoming.get(0)) {
-          struct.experiment = new org.apache.airavata.model.workspace.experiment.Experiment();
-          struct.experiment.read(iprot);
-          struct.setExperimentIsSet(true);
-        }
+        struct.experiment = new org.apache.airavata.model.workspace.experiment.Experiment();
+        struct.experiment.read(iprot);
+        struct.setExperimentIsSet(true);
       }
     }
 
@@ -3777,15 +4032,15 @@ import org.slf4j.LoggerFactory;
 
   }
 
-  public static class getBasicExperiment_args implements org.apache.thrift.TBase<getBasicExperiment_args, getBasicExperiment_args._Fields>, java.io.Serializable, Cloneable, Comparable<getBasicExperiment_args>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getBasicExperiment_args");
+  public static class getExperiment_args implements org.apache.thrift.TBase<getExperiment_args, getExperiment_args._Fields>, java.io.Serializable, Cloneable, Comparable<getExperiment_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getExperiment_args");
 
     private static final org.apache.thrift.protocol.TField AIRAVATA_EXPERIMENT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("airavataExperimentId", org.apache.thrift.protocol.TType.STRING, (short)1);
 
     private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
     static {
-      schemes.put(StandardScheme.class, new getBasicExperiment_argsStandardSchemeFactory());
-      schemes.put(TupleScheme.class, new getBasicExperiment_argsTupleSchemeFactory());
+      schemes.put(StandardScheme.class, new getExperiment_argsStandardSchemeFactory());
+      schemes.put(TupleScheme.class, new getExperiment_argsTupleSchemeFactory());
     }
 
     public String airavataExperimentId; // required
@@ -3852,16 +4107,16 @@ import org.slf4j.LoggerFactory;
     public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
     static {
       Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
-      tmpMap.put(_Fields.AIRAVATA_EXPERIMENT_ID, new org.apache.thrift.meta_data.FieldMetaData("airavataExperimentId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+      tmpMap.put(_Fields.AIRAVATA_EXPERIMENT_ID, new org.apache.thrift.meta_data.FieldMetaData("airavataExperimentId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
       metaDataMap = Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getBasicExperiment_args.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getExperiment_args.class, metaDataMap);
     }
 
-    public getBasicExperiment_args() {
+    public getExperiment_args() {
     }
 
-    public getBasicExperiment_args(
+    public getExperiment_args(
       String airavataExperimentId)
     {
       this();
@@ -3871,14 +4126,14 @@ import org.slf4j.LoggerFactory;
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public getBasicExperiment_args(getBasicExperiment_args other) {
+    public getExperiment_args(getExperiment_args other) {
       if (other.isSetAiravataExperimentId()) {
         this.airavataExperimentId = other.airavataExperimentId;
       }
     }
 
-    public getBasicExperiment_args deepCopy() {
-      return new getBasicExperiment_args(this);
+    public getExperiment_args deepCopy() {
+      return new getExperiment_args(this);
     }
 
     @Override
@@ -3890,7 +4145,7 @@ import org.slf4j.LoggerFactory;
       return this.airavataExperimentId;
     }
 
-    public getBasicExperiment_args setAiravataExperimentId(String airavataExperimentId) {
+    public getExperiment_args setAiravataExperimentId(String airavataExperimentId) {
       this.airavataExperimentId = airavataExperimentId;
       return this;
     }
@@ -3949,12 +4204,12 @@ import org.slf4j.LoggerFactory;
     public boolean equals(Object that) {
       if (that == null)
         return false;
-      if (that instanceof getBasicExperiment_args)
-        return this.equals((getBasicExperiment_args)that);
+      if (that instanceof getExperiment_args)
+        return this.equals((getExperiment_args)that);
       return false;
     }
 
-    public boolean equals(getBasicExperiment_args that) {
+    public boolean equals(getExperiment_args that) {
       if (that == null)
         return false;
 
@@ -3976,7 +4231,7 @@ import org.slf4j.LoggerFactory;
     }
 
     @Override
-    public int compareTo(getBasicExperiment_args other) {
+    public int compareTo(getExperiment_args other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
@@ -4010,7 +4265,7 @@ import org.slf4j.LoggerFactory;
 
     @Override
     public String toString() {
-      StringBuilder sb = new StringBuilder("getBasicExperiment_args(");
+      StringBuilder sb = new StringBuilder("getExperiment_args(");
       boolean first = true;
 
       sb.append("airavataExperimentId:");
@@ -4026,6 +4281,9 @@ import org.slf4j.LoggerFactory;
 
     public void validate() throws org.apache.thrift.TException {
       // check for required fields
+      if (airavataExperimentId == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'airavataExperimentId' was not present! Struct: " + toString());
+      }
       // check for sub-struct validity
     }
 
@@ -4045,15 +4303,15 @@ import org.slf4j.LoggerFactory;
       }
     }
 
-    private static class getBasicExperiment_argsStandardSchemeFactory implements SchemeFactory {
-      public getBasicExperiment_argsStandardScheme getScheme() {
-        return new getBasicExperiment_argsStandardScheme();
+    private static class getExperiment_argsStandardSchemeFactory implements SchemeFactory {
+      public getExperiment_argsStandardScheme getScheme() {
+        return new getExperiment_argsStandardScheme();
       }
     }
 
-    private static class getBasicExperiment_argsStandardScheme extends StandardScheme<getBasicExperiment_args> {
+    private static class getExperiment_argsStandardScheme extends StandardScheme<getExperiment_args> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, getBasicExperiment_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, getExperiment_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -4082,7 +4340,7 @@ import org.slf4j.LoggerFactory;
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, getBasicExperiment_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, getExperiment_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
@@ -4097,42 +4355,32 @@ import org.slf4j.LoggerFactory;
 
     }
 
-    private static class getBasicExperiment_argsTupleSchemeFactory implements SchemeFactory {
-      public getBasicExperiment_argsTupleScheme getScheme() {
-        return new getBasicExperiment_argsTupleScheme();
+    private static class getExperiment_argsTupleSchemeFactory implements SchemeFactory {
+      public getExperiment_argsTupleScheme getScheme() {
+        return new getExperiment_argsTupleScheme();
       }
     }
 
-    private static class getBasicExperiment_argsTupleScheme extends TupleScheme<getBasicExperiment_args> {
+    private static class getExperiment_argsTupleScheme extends TupleScheme<getExperiment_args> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, getBasicExperiment_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, getExperiment_args struct) throws org.apache.thrift.TException {
         TTupleProtocol oprot = (TTupleProtocol) prot;
-        BitSet optionals = new BitSet();
-        if (struct.isSetAiravataExperimentId()) {
-          optionals.set(0);
-        }
-        oprot.writeBitSet(optionals, 1);
-        if (struct.isSetAiravataExperimentId()) {
-          oprot.writeString(struct.airavataExperimentId);
-        }
+        oprot.writeString(struct.airavataExperimentId);
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, getBasicExperiment_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, getExperiment_args struct) throws org.apache.thrift.TException {
         TTupleProtocol iprot = (TTupleProtocol) prot;
-        BitSet incoming = iprot.readBitSet(1);
-        if (incoming.get(0)) {
-          struct.airavataExperimentId = iprot.readString();
-          struct.setAiravataExperimentIdIsSet(true);
-        }
+        struct.airavataExperimentId = iprot.readString();
+        struct.setAiravataExperimentIdIsSet(true);
       }
     }
 
   }
 
-  public static class getBasicExperiment_result implements org.apache.thrift.TBase<getBasicExperiment_result, getBasicExperiment_result._Fields>, java.io.Serializable, Cloneable, Comparable<getBasicExperiment_result>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getBasicExperiment_result");
+  public static class getExperiment_result implements org.apache.thrift.TBase<getExperiment_result, getExperiment_result._Fields>, java.io.Serializable, Cloneable, Comparable<getExperiment_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getExperiment_result");
 
     private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);
     private static final org.apache.thrift.protocol.TField IRE_FIELD_DESC = new org.apache.thrift.protocol.TField("ire", org.apache.thrift.protocol.TType.STRUCT, (short)1);
@@ -4142,8 +4390,8 @@ import org.slf4j.LoggerFactory;
 
     private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
     static {
-      schemes.put(StandardScheme.class, new getBasicExperiment_resultStandardSchemeFactory());
-      schemes.put(TupleScheme.class, new getBasicExperiment_resultTupleSchemeFactory());
+      schemes.put(StandardScheme.class, new getExperiment_resultStandardSchemeFactory());
+      schemes.put(TupleScheme.class, new getExperiment_resultTupleSchemeFactory());
     }
 
     public org.apache.airavata.model.workspace.experiment.Experiment success; // required
@@ -4237,13 +4485,13 @@ import org.slf4j.LoggerFactory;
       tmpMap.put(_Fields.ASE, new org.apache.thrift.meta_data.FieldMetaData("ase", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
       metaDataMap = Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getBasicExperiment_result.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getExperiment_result.class, metaDataMap);
     }
 
-    public getBasicExperiment_result() {
+    public getExperiment_result() {
     }
 
-    public getBasicExperiment_result(
+    public getExperiment_result(
       org.apache.airavata.model.workspace.experiment.Experiment success,
       org.apache.airavata.api.error.InvalidRequestException ire,
       org.apache.airavata.api.error.ExperimentNotFoundException enf,
@@ -4261,7 +4509,7 @@ import org.slf4j.LoggerFactory;
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public getBasicExperiment_result(getBasicExperiment_result other) {
+    public getExperiment_result(getExperiment_result other) {
       if (other.isSetSuccess()) {
         this.success = new org.apache.airavata.model.workspace.experiment.Experiment(other.success);
       }
@@ -4279,8 +4527,8 @@ import org.slf4j.LoggerFactory;
       }
     }
 
-    public getBasicExperiment_result deepCopy() {
-      return new getBasicExperiment_result(this);
+    public getExperiment_result deepCopy() {
+      return new getExperiment_result(this);
     }
 
     @Override
@@ -4296,7 +4544,7 @@ import org.slf4j.LoggerFactory;
       return this.success;
     }
 
-    public getBasicExperiment_result setSuccess(org.apache.airavata.model.workspace.experiment.Experiment success) {
+    public getExperiment_result setSuccess(org.apache.airavata.model.workspace.experiment.Experiment success) {
       this.success = success;
       return this;
     }
@@ -4320,7 +4568,7 @@ import org.slf4j.LoggerFactory;
       return this.ire;
     }
 
-    public getBasicExperiment_result setIre(org.apache.airavata.api.error.InvalidRequestException ire) {
+    public getExperiment_result setIre(org.apache.airavata.api.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -4344,7 +4592,7 @@ import org.slf4j.LoggerFactory;
       return this.enf;
     }
 
-    public getBasicExperiment_result setEnf(org.apache.airavata.api.error.ExperimentNotFoundException enf) {
+    public getExperiment_result setEnf(org.apache.airavata.api.error.ExperimentNotFoundException enf) {
       this.enf = enf;
       return this;
     }
@@ -4368,7 +4616,7 @@ import org.slf4j.LoggerFactory;
       return this.ace;
     }
 
-    public getBasicExperiment_result setAce(org.apache.airavata.api.error.AiravataClientException ace) {
+    public getExperiment_result setAce(org.apache.airavata.api.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -4392,7 +4640,7 @@ import org.slf4j.LoggerFactory;
       return this.ase;
     }
 
-    public getBasicExperiment_result setAse(org.apache.airavata.api.error.AiravataSystemException ase) {
+    public getExperiment_result setAse(org.apache.airavata.api.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -4503,12 +4751,12 @@ import org.slf4j.LoggerFactory;
     public boolean equals(Object that) {
       if (that == null)
         return false;
-      if (that instanceof getBasicExperiment_result)
-        return this.equ

<TRUNCATED>

Mime
View raw message