You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sm...@apache.org on 2014/02/18 04:41:12 UTC

[22/23] Commiting the generated data from modified models - AIRAVATA-1017

http://git-wip-us.apache.org/repos/asf/airavata/blob/b46488d5/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 4d3cd9c..2b2759d 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
@@ -92,9 +92,9 @@ import org.slf4j.LoggerFactory;
      *       rather an Airavata Administrator will be notified to take corrective action.
      * 
      * 
-     * @param basicExperimentMetadata
+     * @param experiment
      */
-    public String createExperiment(org.apache.airavata.model.experiment.BasicMetadata basicExperimentMetadata) throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException;
+    public String createExperiment(org.apache.airavata.model.workspace.experiment.Experiment experiment) throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException;
 
     /**
      * Fetch previously created experiment metadata.
@@ -131,7 +131,7 @@ import org.slf4j.LoggerFactory;
      * 
      * @param airavataExperimentId
      */
-    public org.apache.airavata.model.experiment.BasicMetadata getBasicExperimentMetadata(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 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;
 
     /**
      * Configure a previously created experiment with required inputs, scheduling and other quality of service
@@ -173,9 +173,9 @@ import org.slf4j.LoggerFactory;
      * 
      * 
      * @param airavataExperimentId
-     * @param experimentConfigurationData
+     * @param experiment
      */
-    public void configureExperiment(String airavataExperimentId, org.apache.airavata.model.experiment.ConfigurationData experimentConfigurationData) 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 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.
@@ -212,7 +212,7 @@ import org.slf4j.LoggerFactory;
      * 
      * @param airavataExperimentId
      */
-    public org.apache.airavata.model.experiment.ConfigurationData getExperimentConfiguration(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.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;
 
     /**
      * Launch a previously created and configured experiment. Airavata Server will then start processing the request and appropriate
@@ -260,7 +260,7 @@ import org.slf4j.LoggerFactory;
      * @param airavataExperimentId
      * @param airavataCredStoreToken
      */
-    public void launchConfiguredExperiment(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;
+    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
@@ -307,10 +307,10 @@ import org.slf4j.LoggerFactory;
      * 
      * 
      * @param airavataExperimentId
-     * @param experimentConfigurationData
+     * @param experiment
      * @param airavataCredStoreToken
      */
-    public String configureAndLaunchExperiment(String airavataExperimentId, org.apache.airavata.model.experiment.ConfigurationData experimentConfigurationData, 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 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;
 
     /**
      * Clone an specified experiment with a new name. A copy of the experiment configuration is made and is persisted with new metadata.
@@ -352,9 +352,9 @@ import org.slf4j.LoggerFactory;
      * 
      * 
      * @param airavataExperimentIdToBeCloned
-     * @param basicExperimentMetadata
+     * @param updatedExperiment
      */
-    public String cloneExperimentConfiguration(String airavataExperimentIdToBeCloned, org.apache.airavata.model.experiment.BasicMetadata basicExperimentMetadata) 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 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;
 
     /**
      * Terminate a running experiment.
@@ -393,28 +393,32 @@ import org.slf4j.LoggerFactory;
      */
     public void terminateExperiment(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 String createProject(String projectName, String userName) 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 interface AsyncIface {
 
     public void GetAPIVersion(org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void createExperiment(org.apache.airavata.model.experiment.BasicMetadata basicExperimentMetadata, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void createExperiment(org.apache.airavata.model.workspace.experiment.Experiment experiment, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void getBasicExperimentMetadata(String airavataExperimentId, 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 configureExperiment(String airavataExperimentId, org.apache.airavata.model.experiment.ConfigurationData experimentConfigurationData, 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 getExperimentConfiguration(String airavataExperimentId, 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 launchConfiguredExperiment(String airavataExperimentId, String airavataCredStoreToken, 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 configureAndLaunchExperiment(String airavataExperimentId, org.apache.airavata.model.experiment.ConfigurationData experimentConfigurationData, 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 cloneExperimentConfiguration(String airavataExperimentIdToBeCloned, org.apache.airavata.model.experiment.BasicMetadata basicExperimentMetadata, 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;
 
     public void terminateExperiment(String airavataExperimentId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
+    public void createProject(String projectName, String userName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
   }
 
   public static class Client extends org.apache.thrift.TServiceClient implements Iface {
@@ -459,16 +463,16 @@ import org.slf4j.LoggerFactory;
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "GetAPIVersion failed: unknown result");
     }
 
-    public String createExperiment(org.apache.airavata.model.experiment.BasicMetadata basicExperimentMetadata) throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException
+    public String createExperiment(org.apache.airavata.model.workspace.experiment.Experiment experiment) throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException
     {
-      send_createExperiment(basicExperimentMetadata);
+      send_createExperiment(experiment);
       return recv_createExperiment();
     }
 
-    public void send_createExperiment(org.apache.airavata.model.experiment.BasicMetadata basicExperimentMetadata) throws org.apache.thrift.TException
+    public void send_createExperiment(org.apache.airavata.model.workspace.experiment.Experiment experiment) throws org.apache.thrift.TException
     {
       createExperiment_args args = new createExperiment_args();
-      args.setBasicExperimentMetadata(basicExperimentMetadata);
+      args.setExperiment(experiment);
       sendBase("createExperiment", args);
     }
 
@@ -491,23 +495,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.experiment.BasicMetadata getBasicExperimentMetadata(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 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
     {
-      send_getBasicExperimentMetadata(airavataExperimentId);
-      return recv_getBasicExperimentMetadata();
+      send_getBasicExperiment(airavataExperimentId);
+      return recv_getBasicExperiment();
     }
 
-    public void send_getBasicExperimentMetadata(String airavataExperimentId) throws org.apache.thrift.TException
+    public void send_getBasicExperiment(String airavataExperimentId) throws org.apache.thrift.TException
     {
-      getBasicExperimentMetadata_args args = new getBasicExperimentMetadata_args();
+      getBasicExperiment_args args = new getBasicExperiment_args();
       args.setAiravataExperimentId(airavataExperimentId);
-      sendBase("getBasicExperimentMetadata", args);
+      sendBase("getBasicExperiment", args);
     }
 
-    public org.apache.airavata.model.experiment.BasicMetadata recv_getBasicExperimentMetadata() 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_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
     {
-      getBasicExperimentMetadata_result result = new getBasicExperimentMetadata_result();
-      receiveBase(result, "getBasicExperimentMetadata");
+      getBasicExperiment_result result = new getBasicExperiment_result();
+      receiveBase(result, "getBasicExperiment");
       if (result.isSetSuccess()) {
         return result.success;
       }
@@ -523,27 +527,27 @@ import org.slf4j.LoggerFactory;
       if (result.ase != null) {
         throw result.ase;
       }
-      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getBasicExperimentMetadata failed: unknown result");
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getBasicExperiment failed: unknown result");
     }
 
-    public void configureExperiment(String airavataExperimentId, org.apache.airavata.model.experiment.ConfigurationData experimentConfigurationData) 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 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
     {
-      send_configureExperiment(airavataExperimentId, experimentConfigurationData);
-      recv_configureExperiment();
+      send_updateExperiment(airavataExperimentId, experiment);
+      recv_updateExperiment();
     }
 
-    public void send_configureExperiment(String airavataExperimentId, org.apache.airavata.model.experiment.ConfigurationData experimentConfigurationData) throws org.apache.thrift.TException
+    public void send_updateExperiment(String airavataExperimentId, org.apache.airavata.model.workspace.experiment.Experiment experiment) throws org.apache.thrift.TException
     {
-      configureExperiment_args args = new configureExperiment_args();
+      updateExperiment_args args = new updateExperiment_args();
       args.setAiravataExperimentId(airavataExperimentId);
-      args.setExperimentConfigurationData(experimentConfigurationData);
-      sendBase("configureExperiment", args);
+      args.setExperiment(experiment);
+      sendBase("updateExperiment", args);
     }
 
-    public void recv_configureExperiment() 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_updateExperiment() 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
     {
-      configureExperiment_result result = new configureExperiment_result();
-      receiveBase(result, "configureExperiment");
+      updateExperiment_result result = new updateExperiment_result();
+      receiveBase(result, "updateExperiment");
       if (result.ire != null) {
         throw result.ire;
       }
@@ -559,23 +563,23 @@ import org.slf4j.LoggerFactory;
       return;
     }
 
-    public org.apache.airavata.model.experiment.ConfigurationData getExperimentConfiguration(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.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_getExperimentConfiguration(airavataExperimentId);
-      return recv_getExperimentConfiguration();
+      send_getExperimentStatus(airavataExperimentId);
+      return recv_getExperimentStatus();
     }
 
-    public void send_getExperimentConfiguration(String airavataExperimentId) throws org.apache.thrift.TException
+    public void send_getExperimentStatus(String airavataExperimentId) throws org.apache.thrift.TException
     {
-      getExperimentConfiguration_args args = new getExperimentConfiguration_args();
+      getExperimentStatus_args args = new getExperimentStatus_args();
       args.setAiravataExperimentId(airavataExperimentId);
-      sendBase("getExperimentConfiguration", args);
+      sendBase("getExperimentStatus", args);
     }
 
-    public org.apache.airavata.model.experiment.ConfigurationData recv_getExperimentConfiguration() 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
     {
-      getExperimentConfiguration_result result = new getExperimentConfiguration_result();
-      receiveBase(result, "getExperimentConfiguration");
+      getExperimentStatus_result result = new getExperimentStatus_result();
+      receiveBase(result, "getExperimentStatus");
       if (result.isSetSuccess()) {
         return result.success;
       }
@@ -591,27 +595,27 @@ import org.slf4j.LoggerFactory;
       if (result.ase != null) {
         throw result.ase;
       }
-      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getExperimentConfiguration failed: unknown result");
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getExperimentStatus failed: unknown result");
     }
 
-    public void launchConfiguredExperiment(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
+    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
     {
-      send_launchConfiguredExperiment(airavataExperimentId, airavataCredStoreToken);
-      recv_launchConfiguredExperiment();
+      send_launchExperiment(airavataExperimentId, airavataCredStoreToken);
+      recv_launchExperiment();
     }
 
-    public void send_launchConfiguredExperiment(String airavataExperimentId, String airavataCredStoreToken) throws org.apache.thrift.TException
+    public void send_launchExperiment(String airavataExperimentId, String airavataCredStoreToken) throws org.apache.thrift.TException
     {
-      launchConfiguredExperiment_args args = new launchConfiguredExperiment_args();
+      launchExperiment_args args = new launchExperiment_args();
       args.setAiravataExperimentId(airavataExperimentId);
       args.setAiravataCredStoreToken(airavataCredStoreToken);
-      sendBase("launchConfiguredExperiment", args);
+      sendBase("launchExperiment", args);
     }
 
-    public void recv_launchConfiguredExperiment() 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_launchExperiment() 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
     {
-      launchConfiguredExperiment_result result = new launchConfiguredExperiment_result();
-      receiveBase(result, "launchConfiguredExperiment");
+      launchExperiment_result result = new launchExperiment_result();
+      receiveBase(result, "launchExperiment");
       if (result.ire != null) {
         throw result.ire;
       }
@@ -627,25 +631,25 @@ import org.slf4j.LoggerFactory;
       return;
     }
 
-    public String configureAndLaunchExperiment(String airavataExperimentId, org.apache.airavata.model.experiment.ConfigurationData experimentConfigurationData, 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 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
     {
-      send_configureAndLaunchExperiment(airavataExperimentId, experimentConfigurationData, airavataCredStoreToken);
-      return recv_configureAndLaunchExperiment();
+      send_updateAndLaunchExperiment(airavataExperimentId, experiment, airavataCredStoreToken);
+      return recv_updateAndLaunchExperiment();
     }
 
-    public void send_configureAndLaunchExperiment(String airavataExperimentId, org.apache.airavata.model.experiment.ConfigurationData experimentConfigurationData, String airavataCredStoreToken) throws org.apache.thrift.TException
+    public void send_updateAndLaunchExperiment(String airavataExperimentId, org.apache.airavata.model.workspace.experiment.Experiment experiment, String airavataCredStoreToken) throws org.apache.thrift.TException
     {
-      configureAndLaunchExperiment_args args = new configureAndLaunchExperiment_args();
+      updateAndLaunchExperiment_args args = new updateAndLaunchExperiment_args();
       args.setAiravataExperimentId(airavataExperimentId);
-      args.setExperimentConfigurationData(experimentConfigurationData);
+      args.setExperiment(experiment);
       args.setAiravataCredStoreToken(airavataCredStoreToken);
-      sendBase("configureAndLaunchExperiment", args);
+      sendBase("updateAndLaunchExperiment", args);
     }
 
-    public String recv_configureAndLaunchExperiment() 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 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
     {
-      configureAndLaunchExperiment_result result = new configureAndLaunchExperiment_result();
-      receiveBase(result, "configureAndLaunchExperiment");
+      updateAndLaunchExperiment_result result = new updateAndLaunchExperiment_result();
+      receiveBase(result, "updateAndLaunchExperiment");
       if (result.isSetSuccess()) {
         return result.success;
       }
@@ -661,27 +665,27 @@ import org.slf4j.LoggerFactory;
       if (result.ase != null) {
         throw result.ase;
       }
-      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "configureAndLaunchExperiment failed: unknown result");
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateAndLaunchExperiment failed: unknown result");
     }
 
-    public String cloneExperimentConfiguration(String airavataExperimentIdToBeCloned, org.apache.airavata.model.experiment.BasicMetadata basicExperimentMetadata) 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 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
     {
-      send_cloneExperimentConfiguration(airavataExperimentIdToBeCloned, basicExperimentMetadata);
-      return recv_cloneExperimentConfiguration();
+      send_cloneExperiment(airavataExperimentIdToBeCloned, updatedExperiment);
+      return recv_cloneExperiment();
     }
 
-    public void send_cloneExperimentConfiguration(String airavataExperimentIdToBeCloned, org.apache.airavata.model.experiment.BasicMetadata basicExperimentMetadata) throws org.apache.thrift.TException
+    public void send_cloneExperiment(String airavataExperimentIdToBeCloned, org.apache.airavata.model.workspace.experiment.Experiment updatedExperiment) throws org.apache.thrift.TException
     {
-      cloneExperimentConfiguration_args args = new cloneExperimentConfiguration_args();
+      cloneExperiment_args args = new cloneExperiment_args();
       args.setAiravataExperimentIdToBeCloned(airavataExperimentIdToBeCloned);
-      args.setBasicExperimentMetadata(basicExperimentMetadata);
-      sendBase("cloneExperimentConfiguration", args);
+      args.setUpdatedExperiment(updatedExperiment);
+      sendBase("cloneExperiment", args);
     }
 
-    public String recv_cloneExperimentConfiguration() 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 String recv_cloneExperiment() 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
     {
-      cloneExperimentConfiguration_result result = new cloneExperimentConfiguration_result();
-      receiveBase(result, "cloneExperimentConfiguration");
+      cloneExperiment_result result = new cloneExperiment_result();
+      receiveBase(result, "cloneExperiment");
       if (result.isSetSuccess()) {
         return result.success;
       }
@@ -697,7 +701,7 @@ import org.slf4j.LoggerFactory;
       if (result.ase != null) {
         throw result.ase;
       }
-      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "cloneExperimentConfiguration failed: unknown result");
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "cloneExperiment failed: unknown result");
     }
 
     public void terminateExperiment(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
@@ -732,6 +736,42 @@ import org.slf4j.LoggerFactory;
       return;
     }
 
+    public String createProject(String projectName, String userName) 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_createProject(projectName, userName);
+      return recv_createProject();
+    }
+
+    public void send_createProject(String projectName, String userName) throws org.apache.thrift.TException
+    {
+      createProject_args args = new createProject_args();
+      args.setProjectName(projectName);
+      args.setUserName(userName);
+      sendBase("createProject", args);
+    }
+
+    public String recv_createProject() 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
+    {
+      createProject_result result = new createProject_result();
+      receiveBase(result, "createProject");
+      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, "createProject failed: unknown result");
+    }
+
   }
   public static class AsyncClient extends org.apache.thrift.async.TAsyncClient implements AsyncIface {
     public static class Factory implements org.apache.thrift.async.TAsyncClientFactory<AsyncClient> {
@@ -779,24 +819,24 @@ import org.slf4j.LoggerFactory;
       }
     }
 
-    public void createExperiment(org.apache.airavata.model.experiment.BasicMetadata basicExperimentMetadata, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void createExperiment(org.apache.airavata.model.workspace.experiment.Experiment experiment, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      createExperiment_call method_call = new createExperiment_call(basicExperimentMetadata, resultHandler, this, ___protocolFactory, ___transport);
+      createExperiment_call method_call = new createExperiment_call(experiment, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class createExperiment_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private org.apache.airavata.model.experiment.BasicMetadata basicExperimentMetadata;
-      public createExperiment_call(org.apache.airavata.model.experiment.BasicMetadata basicExperimentMetadata, 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.Experiment experiment;
+      public createExperiment_call(org.apache.airavata.model.workspace.experiment.Experiment experiment, 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.basicExperimentMetadata = basicExperimentMetadata;
+        this.experiment = experiment;
       }
 
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("createExperiment", org.apache.thrift.protocol.TMessageType.CALL, 0));
         createExperiment_args args = new createExperiment_args();
-        args.setBasicExperimentMetadata(basicExperimentMetadata);
+        args.setExperiment(experiment);
         args.write(prot);
         prot.writeMessageEnd();
       }
@@ -811,59 +851,59 @@ import org.slf4j.LoggerFactory;
       }
     }
 
-    public void getBasicExperimentMetadata(String airavataExperimentId, 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 {
       checkReady();
-      getBasicExperimentMetadata_call method_call = new getBasicExperimentMetadata_call(airavataExperimentId, resultHandler, this, ___protocolFactory, ___transport);
+      getBasicExperiment_call method_call = new getBasicExperiment_call(airavataExperimentId, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class getBasicExperimentMetadata_call extends org.apache.thrift.async.TAsyncMethodCall {
+    public static class getBasicExperiment_call extends org.apache.thrift.async.TAsyncMethodCall {
       private String airavataExperimentId;
-      public getBasicExperimentMetadata_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 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 {
         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("getBasicExperimentMetadata", org.apache.thrift.protocol.TMessageType.CALL, 0));
-        getBasicExperimentMetadata_args args = new getBasicExperimentMetadata_args();
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getBasicExperiment", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        getBasicExperiment_args args = new getBasicExperiment_args();
         args.setAiravataExperimentId(airavataExperimentId);
         args.write(prot);
         prot.writeMessageEnd();
       }
 
-      public org.apache.airavata.model.experiment.BasicMetadata 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.Experiment 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_getBasicExperimentMetadata();
+        return (new Client(prot)).recv_getBasicExperiment();
       }
     }
 
-    public void configureExperiment(String airavataExperimentId, org.apache.airavata.model.experiment.ConfigurationData experimentConfigurationData, 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 {
       checkReady();
-      configureExperiment_call method_call = new configureExperiment_call(airavataExperimentId, experimentConfigurationData, resultHandler, this, ___protocolFactory, ___transport);
+      updateExperiment_call method_call = new updateExperiment_call(airavataExperimentId, experiment, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class configureExperiment_call extends org.apache.thrift.async.TAsyncMethodCall {
+    public static class updateExperiment_call extends org.apache.thrift.async.TAsyncMethodCall {
       private String airavataExperimentId;
-      private org.apache.airavata.model.experiment.ConfigurationData experimentConfigurationData;
-      public configureExperiment_call(String airavataExperimentId, org.apache.airavata.model.experiment.ConfigurationData experimentConfigurationData, 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.Experiment experiment;
+      public updateExperiment_call(String airavataExperimentId, org.apache.airavata.model.workspace.experiment.Experiment experiment, 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.experimentConfigurationData = experimentConfigurationData;
+        this.experiment = experiment;
       }
 
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
-        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("configureExperiment", org.apache.thrift.protocol.TMessageType.CALL, 0));
-        configureExperiment_args args = new configureExperiment_args();
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateExperiment", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        updateExperiment_args args = new updateExperiment_args();
         args.setAiravataExperimentId(airavataExperimentId);
-        args.setExperimentConfigurationData(experimentConfigurationData);
+        args.setExperiment(experiment);
         args.write(prot);
         prot.writeMessageEnd();
       }
@@ -874,61 +914,61 @@ 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);
-        (new Client(prot)).recv_configureExperiment();
+        (new Client(prot)).recv_updateExperiment();
       }
     }
 
-    public void getExperimentConfiguration(String airavataExperimentId, 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();
-      getExperimentConfiguration_call method_call = new getExperimentConfiguration_call(airavataExperimentId, 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 getExperimentConfiguration_call extends org.apache.thrift.async.TAsyncMethodCall {
+    public static class getExperimentStatus_call extends org.apache.thrift.async.TAsyncMethodCall {
       private String airavataExperimentId;
-      public getExperimentConfiguration_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 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;
       }
 
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
-        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getExperimentConfiguration", org.apache.thrift.protocol.TMessageType.CALL, 0));
-        getExperimentConfiguration_args args = new getExperimentConfiguration_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.write(prot);
         prot.writeMessageEnd();
       }
 
-      public org.apache.airavata.model.experiment.ConfigurationData 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_getExperimentConfiguration();
+        return (new Client(prot)).recv_getExperimentStatus();
       }
     }
 
-    public void launchConfiguredExperiment(String airavataExperimentId, String airavataCredStoreToken, 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 {
       checkReady();
-      launchConfiguredExperiment_call method_call = new launchConfiguredExperiment_call(airavataExperimentId, airavataCredStoreToken, resultHandler, this, ___protocolFactory, ___transport);
+      launchExperiment_call method_call = new launchExperiment_call(airavataExperimentId, airavataCredStoreToken, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class launchConfiguredExperiment_call extends org.apache.thrift.async.TAsyncMethodCall {
+    public static class launchExperiment_call extends org.apache.thrift.async.TAsyncMethodCall {
       private String airavataExperimentId;
       private String airavataCredStoreToken;
-      public launchConfiguredExperiment_call(String airavataExperimentId, 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 launchExperiment_call(String airavataExperimentId, 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 {
         super(client, protocolFactory, transport, resultHandler, false);
         this.airavataExperimentId = airavataExperimentId;
         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("launchConfiguredExperiment", org.apache.thrift.protocol.TMessageType.CALL, 0));
-        launchConfiguredExperiment_args args = new launchConfiguredExperiment_args();
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("launchExperiment", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        launchExperiment_args args = new launchExperiment_args();
         args.setAiravataExperimentId(airavataExperimentId);
         args.setAiravataCredStoreToken(airavataCredStoreToken);
         args.write(prot);
@@ -941,33 +981,33 @@ 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);
-        (new Client(prot)).recv_launchConfiguredExperiment();
+        (new Client(prot)).recv_launchExperiment();
       }
     }
 
-    public void configureAndLaunchExperiment(String airavataExperimentId, org.apache.airavata.model.experiment.ConfigurationData experimentConfigurationData, 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 {
       checkReady();
-      configureAndLaunchExperiment_call method_call = new configureAndLaunchExperiment_call(airavataExperimentId, experimentConfigurationData, airavataCredStoreToken, resultHandler, this, ___protocolFactory, ___transport);
+      updateAndLaunchExperiment_call method_call = new updateAndLaunchExperiment_call(airavataExperimentId, experiment, airavataCredStoreToken, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class configureAndLaunchExperiment_call extends org.apache.thrift.async.TAsyncMethodCall {
+    public static class updateAndLaunchExperiment_call extends org.apache.thrift.async.TAsyncMethodCall {
       private String airavataExperimentId;
-      private org.apache.airavata.model.experiment.ConfigurationData experimentConfigurationData;
+      private org.apache.airavata.model.workspace.experiment.Experiment experiment;
       private String airavataCredStoreToken;
-      public configureAndLaunchExperiment_call(String airavataExperimentId, org.apache.airavata.model.experiment.ConfigurationData experimentConfigurationData, 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 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 {
         super(client, protocolFactory, transport, resultHandler, false);
         this.airavataExperimentId = airavataExperimentId;
-        this.experimentConfigurationData = experimentConfigurationData;
+        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("configureAndLaunchExperiment", org.apache.thrift.protocol.TMessageType.CALL, 0));
-        configureAndLaunchExperiment_args args = new configureAndLaunchExperiment_args();
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateAndLaunchExperiment", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        updateAndLaunchExperiment_args args = new updateAndLaunchExperiment_args();
         args.setAiravataExperimentId(airavataExperimentId);
-        args.setExperimentConfigurationData(experimentConfigurationData);
+        args.setExperiment(experiment);
         args.setAiravataCredStoreToken(airavataCredStoreToken);
         args.write(prot);
         prot.writeMessageEnd();
@@ -979,31 +1019,31 @@ 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_configureAndLaunchExperiment();
+        return (new Client(prot)).recv_updateAndLaunchExperiment();
       }
     }
 
-    public void cloneExperimentConfiguration(String airavataExperimentIdToBeCloned, org.apache.airavata.model.experiment.BasicMetadata basicExperimentMetadata, 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 {
       checkReady();
-      cloneExperimentConfiguration_call method_call = new cloneExperimentConfiguration_call(airavataExperimentIdToBeCloned, basicExperimentMetadata, resultHandler, this, ___protocolFactory, ___transport);
+      cloneExperiment_call method_call = new cloneExperiment_call(airavataExperimentIdToBeCloned, updatedExperiment, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class cloneExperimentConfiguration_call extends org.apache.thrift.async.TAsyncMethodCall {
+    public static class cloneExperiment_call extends org.apache.thrift.async.TAsyncMethodCall {
       private String airavataExperimentIdToBeCloned;
-      private org.apache.airavata.model.experiment.BasicMetadata basicExperimentMetadata;
-      public cloneExperimentConfiguration_call(String airavataExperimentIdToBeCloned, org.apache.airavata.model.experiment.BasicMetadata basicExperimentMetadata, 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.Experiment updatedExperiment;
+      public cloneExperiment_call(String airavataExperimentIdToBeCloned, org.apache.airavata.model.workspace.experiment.Experiment updatedExperiment, 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.airavataExperimentIdToBeCloned = airavataExperimentIdToBeCloned;
-        this.basicExperimentMetadata = basicExperimentMetadata;
+        this.updatedExperiment = updatedExperiment;
       }
 
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
-        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("cloneExperimentConfiguration", org.apache.thrift.protocol.TMessageType.CALL, 0));
-        cloneExperimentConfiguration_args args = new cloneExperimentConfiguration_args();
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("cloneExperiment", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        cloneExperiment_args args = new cloneExperiment_args();
         args.setAiravataExperimentIdToBeCloned(airavataExperimentIdToBeCloned);
-        args.setBasicExperimentMetadata(basicExperimentMetadata);
+        args.setUpdatedExperiment(updatedExperiment);
         args.write(prot);
         prot.writeMessageEnd();
       }
@@ -1014,7 +1054,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_cloneExperimentConfiguration();
+        return (new Client(prot)).recv_cloneExperiment();
       }
     }
 
@@ -1050,6 +1090,41 @@ import org.slf4j.LoggerFactory;
       }
     }
 
+    public void createProject(String projectName, String userName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      createProject_call method_call = new createProject_call(projectName, userName, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class createProject_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String projectName;
+      private String userName;
+      public createProject_call(String projectName, String userName, 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.projectName = projectName;
+        this.userName = userName;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("createProject", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        createProject_args args = new createProject_args();
+        args.setProjectName(projectName);
+        args.setUserName(userName);
+        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 {
+        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_createProject();
+      }
+    }
+
   }
 
   public static class Processor<I extends Iface> extends org.apache.thrift.TBaseProcessor<I> implements org.apache.thrift.TProcessor {
@@ -1065,13 +1140,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("getBasicExperimentMetadata", new getBasicExperimentMetadata());
-      processMap.put("configureExperiment", new configureExperiment());
-      processMap.put("getExperimentConfiguration", new getExperimentConfiguration());
-      processMap.put("launchConfiguredExperiment", new launchConfiguredExperiment());
-      processMap.put("configureAndLaunchExperiment", new configureAndLaunchExperiment());
-      processMap.put("cloneExperimentConfiguration", new cloneExperimentConfiguration());
+      processMap.put("getBasicExperiment", new getBasicExperiment());
+      processMap.put("updateExperiment", new updateExperiment());
+      processMap.put("getExperimentStatus", new getExperimentStatus());
+      processMap.put("launchExperiment", new launchExperiment());
+      processMap.put("updateAndLaunchExperiment", new updateAndLaunchExperiment());
+      processMap.put("cloneExperiment", new cloneExperiment());
       processMap.put("terminateExperiment", new terminateExperiment());
+      processMap.put("createProject", new createProject());
       return processMap;
     }
 
@@ -1111,7 +1187,7 @@ import org.slf4j.LoggerFactory;
       public createExperiment_result getResult(I iface, createExperiment_args args) throws org.apache.thrift.TException {
         createExperiment_result result = new createExperiment_result();
         try {
-          result.success = iface.createExperiment(args.basicExperimentMetadata);
+          result.success = iface.createExperiment(args.experiment);
         } catch (org.apache.airavata.api.error.InvalidRequestException ire) {
           result.ire = ire;
         } catch (org.apache.airavata.api.error.AiravataClientException ace) {
@@ -1123,23 +1199,23 @@ import org.slf4j.LoggerFactory;
       }
     }
 
-    public static class getBasicExperimentMetadata<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getBasicExperimentMetadata_args> {
-      public getBasicExperimentMetadata() {
-        super("getBasicExperimentMetadata");
+    public static class getBasicExperiment<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getBasicExperiment_args> {
+      public getBasicExperiment() {
+        super("getBasicExperiment");
       }
 
-      public getBasicExperimentMetadata_args getEmptyArgsInstance() {
-        return new getBasicExperimentMetadata_args();
+      public getBasicExperiment_args getEmptyArgsInstance() {
+        return new getBasicExperiment_args();
       }
 
       protected boolean isOneway() {
         return false;
       }
 
-      public getBasicExperimentMetadata_result getResult(I iface, getBasicExperimentMetadata_args args) throws org.apache.thrift.TException {
-        getBasicExperimentMetadata_result result = new getBasicExperimentMetadata_result();
+      public getBasicExperiment_result getResult(I iface, getBasicExperiment_args args) throws org.apache.thrift.TException {
+        getBasicExperiment_result result = new getBasicExperiment_result();
         try {
-          result.success = iface.getBasicExperimentMetadata(args.airavataExperimentId);
+          result.success = iface.getBasicExperiment(args.airavataExperimentId);
         } catch (org.apache.airavata.api.error.InvalidRequestException ire) {
           result.ire = ire;
         } catch (org.apache.airavata.api.error.ExperimentNotFoundException enf) {
@@ -1153,23 +1229,23 @@ import org.slf4j.LoggerFactory;
       }
     }
 
-    public static class configureExperiment<I extends Iface> extends org.apache.thrift.ProcessFunction<I, configureExperiment_args> {
-      public configureExperiment() {
-        super("configureExperiment");
+    public static class updateExperiment<I extends Iface> extends org.apache.thrift.ProcessFunction<I, updateExperiment_args> {
+      public updateExperiment() {
+        super("updateExperiment");
       }
 
-      public configureExperiment_args getEmptyArgsInstance() {
-        return new configureExperiment_args();
+      public updateExperiment_args getEmptyArgsInstance() {
+        return new updateExperiment_args();
       }
 
       protected boolean isOneway() {
         return false;
       }
 
-      public configureExperiment_result getResult(I iface, configureExperiment_args args) throws org.apache.thrift.TException {
-        configureExperiment_result result = new configureExperiment_result();
+      public updateExperiment_result getResult(I iface, updateExperiment_args args) throws org.apache.thrift.TException {
+        updateExperiment_result result = new updateExperiment_result();
         try {
-          iface.configureExperiment(args.airavataExperimentId, args.experimentConfigurationData);
+          iface.updateExperiment(args.airavataExperimentId, args.experiment);
         } catch (org.apache.airavata.api.error.InvalidRequestException ire) {
           result.ire = ire;
         } catch (org.apache.airavata.api.error.ExperimentNotFoundException enf) {
@@ -1183,23 +1259,23 @@ import org.slf4j.LoggerFactory;
       }
     }
 
-    public static class getExperimentConfiguration<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getExperimentConfiguration_args> {
-      public getExperimentConfiguration() {
-        super("getExperimentConfiguration");
+    public static class getExperimentStatus<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getExperimentStatus_args> {
+      public getExperimentStatus() {
+        super("getExperimentStatus");
       }
 
-      public getExperimentConfiguration_args getEmptyArgsInstance() {
-        return new getExperimentConfiguration_args();
+      public getExperimentStatus_args getEmptyArgsInstance() {
+        return new getExperimentStatus_args();
       }
 
       protected boolean isOneway() {
         return false;
       }
 
-      public getExperimentConfiguration_result getResult(I iface, getExperimentConfiguration_args args) throws org.apache.thrift.TException {
-        getExperimentConfiguration_result result = new getExperimentConfiguration_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.getExperimentConfiguration(args.airavataExperimentId);
+          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) {
@@ -1213,23 +1289,23 @@ import org.slf4j.LoggerFactory;
       }
     }
 
-    public static class launchConfiguredExperiment<I extends Iface> extends org.apache.thrift.ProcessFunction<I, launchConfiguredExperiment_args> {
-      public launchConfiguredExperiment() {
-        super("launchConfiguredExperiment");
+    public static class launchExperiment<I extends Iface> extends org.apache.thrift.ProcessFunction<I, launchExperiment_args> {
+      public launchExperiment() {
+        super("launchExperiment");
       }
 
-      public launchConfiguredExperiment_args getEmptyArgsInstance() {
-        return new launchConfiguredExperiment_args();
+      public launchExperiment_args getEmptyArgsInstance() {
+        return new launchExperiment_args();
       }
 
       protected boolean isOneway() {
         return false;
       }
 
-      public launchConfiguredExperiment_result getResult(I iface, launchConfiguredExperiment_args args) throws org.apache.thrift.TException {
-        launchConfiguredExperiment_result result = new launchConfiguredExperiment_result();
+      public launchExperiment_result getResult(I iface, launchExperiment_args args) throws org.apache.thrift.TException {
+        launchExperiment_result result = new launchExperiment_result();
         try {
-          iface.launchConfiguredExperiment(args.airavataExperimentId, args.airavataCredStoreToken);
+          iface.launchExperiment(args.airavataExperimentId, args.airavataCredStoreToken);
         } catch (org.apache.airavata.api.error.InvalidRequestException ire) {
           result.ire = ire;
         } catch (org.apache.airavata.api.error.ExperimentNotFoundException enf) {
@@ -1243,23 +1319,23 @@ import org.slf4j.LoggerFactory;
       }
     }
 
-    public static class configureAndLaunchExperiment<I extends Iface> extends org.apache.thrift.ProcessFunction<I, configureAndLaunchExperiment_args> {
-      public configureAndLaunchExperiment() {
-        super("configureAndLaunchExperiment");
+    public static class updateAndLaunchExperiment<I extends Iface> extends org.apache.thrift.ProcessFunction<I, updateAndLaunchExperiment_args> {
+      public updateAndLaunchExperiment() {
+        super("updateAndLaunchExperiment");
       }
 
-      public configureAndLaunchExperiment_args getEmptyArgsInstance() {
-        return new configureAndLaunchExperiment_args();
+      public updateAndLaunchExperiment_args getEmptyArgsInstance() {
+        return new updateAndLaunchExperiment_args();
       }
 
       protected boolean isOneway() {
         return false;
       }
 
-      public configureAndLaunchExperiment_result getResult(I iface, configureAndLaunchExperiment_args args) throws org.apache.thrift.TException {
-        configureAndLaunchExperiment_result result = new configureAndLaunchExperiment_result();
+      public updateAndLaunchExperiment_result getResult(I iface, updateAndLaunchExperiment_args args) throws org.apache.thrift.TException {
+        updateAndLaunchExperiment_result result = new updateAndLaunchExperiment_result();
         try {
-          result.success = iface.configureAndLaunchExperiment(args.airavataExperimentId, args.experimentConfigurationData, args.airavataCredStoreToken);
+          result.success = iface.updateAndLaunchExperiment(args.airavataExperimentId, args.experiment, args.airavataCredStoreToken);
         } catch (org.apache.airavata.api.error.InvalidRequestException ire) {
           result.ire = ire;
         } catch (org.apache.airavata.api.error.ExperimentNotFoundException enf) {
@@ -1273,23 +1349,23 @@ import org.slf4j.LoggerFactory;
       }
     }
 
-    public static class cloneExperimentConfiguration<I extends Iface> extends org.apache.thrift.ProcessFunction<I, cloneExperimentConfiguration_args> {
-      public cloneExperimentConfiguration() {
-        super("cloneExperimentConfiguration");
+    public static class cloneExperiment<I extends Iface> extends org.apache.thrift.ProcessFunction<I, cloneExperiment_args> {
+      public cloneExperiment() {
+        super("cloneExperiment");
       }
 
-      public cloneExperimentConfiguration_args getEmptyArgsInstance() {
-        return new cloneExperimentConfiguration_args();
+      public cloneExperiment_args getEmptyArgsInstance() {
+        return new cloneExperiment_args();
       }
 
       protected boolean isOneway() {
         return false;
       }
 
-      public cloneExperimentConfiguration_result getResult(I iface, cloneExperimentConfiguration_args args) throws org.apache.thrift.TException {
-        cloneExperimentConfiguration_result result = new cloneExperimentConfiguration_result();
+      public cloneExperiment_result getResult(I iface, cloneExperiment_args args) throws org.apache.thrift.TException {
+        cloneExperiment_result result = new cloneExperiment_result();
         try {
-          result.success = iface.cloneExperimentConfiguration(args.airavataExperimentIdToBeCloned, args.basicExperimentMetadata);
+          result.success = iface.cloneExperiment(args.airavataExperimentIdToBeCloned, args.updatedExperiment);
         } catch (org.apache.airavata.api.error.InvalidRequestException ire) {
           result.ire = ire;
         } catch (org.apache.airavata.api.error.ExperimentNotFoundException enf) {
@@ -1333,6 +1409,36 @@ import org.slf4j.LoggerFactory;
       }
     }
 
+    public static class createProject<I extends Iface> extends org.apache.thrift.ProcessFunction<I, createProject_args> {
+      public createProject() {
+        super("createProject");
+      }
+
+      public createProject_args getEmptyArgsInstance() {
+        return new createProject_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public createProject_result getResult(I iface, createProject_args args) throws org.apache.thrift.TException {
+        createProject_result result = new createProject_result();
+        try {
+          result.success = iface.createProject(args.projectName, args.userName);
+        } 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;
+        }
+        return result;
+      }
+    }
+
   }
 
   public static class AsyncProcessor<I extends AsyncIface> extends org.apache.thrift.TBaseAsyncProcessor<I> {
@@ -1348,13 +1454,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("getBasicExperimentMetadata", new getBasicExperimentMetadata());
-      processMap.put("configureExperiment", new configureExperiment());
-      processMap.put("getExperimentConfiguration", new getExperimentConfiguration());
-      processMap.put("launchConfiguredExperiment", new launchConfiguredExperiment());
-      processMap.put("configureAndLaunchExperiment", new configureAndLaunchExperiment());
-      processMap.put("cloneExperimentConfiguration", new cloneExperimentConfiguration());
+      processMap.put("getBasicExperiment", new getBasicExperiment());
+      processMap.put("updateExperiment", new updateExperiment());
+      processMap.put("getExperimentStatus", new getExperimentStatus());
+      processMap.put("launchExperiment", new launchExperiment());
+      processMap.put("updateAndLaunchExperiment", new updateAndLaunchExperiment());
+      processMap.put("cloneExperiment", new cloneExperiment());
       processMap.put("terminateExperiment", new terminateExperiment());
+      processMap.put("createProject", new createProject());
       return processMap;
     }
 
@@ -1472,24 +1579,24 @@ import org.slf4j.LoggerFactory;
       }
 
       public void start(I iface, createExperiment_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
-        iface.createExperiment(args.basicExperimentMetadata,resultHandler);
+        iface.createExperiment(args.experiment,resultHandler);
       }
     }
 
-    public static class getBasicExperimentMetadata<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getBasicExperimentMetadata_args, org.apache.airavata.model.experiment.BasicMetadata> {
-      public getBasicExperimentMetadata() {
-        super("getBasicExperimentMetadata");
+    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 getBasicExperimentMetadata_args getEmptyArgsInstance() {
-        return new getBasicExperimentMetadata_args();
+      public getBasicExperiment_args getEmptyArgsInstance() {
+        return new getBasicExperiment_args();
       }
 
-      public AsyncMethodCallback<org.apache.airavata.model.experiment.BasicMetadata> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      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.experiment.BasicMetadata>() { 
-          public void onComplete(org.apache.airavata.model.experiment.BasicMetadata o) {
-            getBasicExperimentMetadata_result result = new getBasicExperimentMetadata_result();
+        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();
             result.success = o;
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -1502,7 +1609,7 @@ import org.slf4j.LoggerFactory;
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            getBasicExperimentMetadata_result result = new getBasicExperimentMetadata_result();
+            getBasicExperiment_result result = new getBasicExperiment_result();
             if (e instanceof org.apache.airavata.api.error.InvalidRequestException) {
                         result.ire = (org.apache.airavata.api.error.InvalidRequestException) e;
                         result.setIreIsSet(true);
@@ -1543,25 +1650,25 @@ import org.slf4j.LoggerFactory;
         return false;
       }
 
-      public void start(I iface, getBasicExperimentMetadata_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.BasicMetadata> resultHandler) throws TException {
-        iface.getBasicExperimentMetadata(args.airavataExperimentId,resultHandler);
+      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 static class configureExperiment<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, configureExperiment_args, Void> {
-      public configureExperiment() {
-        super("configureExperiment");
+    public static class updateExperiment<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateExperiment_args, Void> {
+      public updateExperiment() {
+        super("updateExperiment");
       }
 
-      public configureExperiment_args getEmptyArgsInstance() {
-        return new configureExperiment_args();
+      public updateExperiment_args getEmptyArgsInstance() {
+        return new updateExperiment_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) {
-            configureExperiment_result result = new configureExperiment_result();
+            updateExperiment_result result = new updateExperiment_result();
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -1573,7 +1680,7 @@ import org.slf4j.LoggerFactory;
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            configureExperiment_result result = new configureExperiment_result();
+            updateExperiment_result result = new updateExperiment_result();
             if (e instanceof org.apache.airavata.api.error.InvalidRequestException) {
                         result.ire = (org.apache.airavata.api.error.InvalidRequestException) e;
                         result.setIreIsSet(true);
@@ -1614,25 +1721,25 @@ import org.slf4j.LoggerFactory;
         return false;
       }
 
-      public void start(I iface, configureExperiment_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
-        iface.configureExperiment(args.airavataExperimentId, args.experimentConfigurationData,resultHandler);
+      public void start(I iface, updateExperiment_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
+        iface.updateExperiment(args.airavataExperimentId, args.experiment,resultHandler);
       }
     }
 
-    public static class getExperimentConfiguration<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getExperimentConfiguration_args, org.apache.airavata.model.experiment.ConfigurationData> {
-      public getExperimentConfiguration() {
-        super("getExperimentConfiguration");
+    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 getExperimentConfiguration_args getEmptyArgsInstance() {
-        return new getExperimentConfiguration_args();
+      public getExperimentStatus_args getEmptyArgsInstance() {
+        return new getExperimentStatus_args();
       }
 
-      public AsyncMethodCallback<org.apache.airavata.model.experiment.ConfigurationData> 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<org.apache.airavata.model.experiment.ConfigurationData>() { 
-          public void onComplete(org.apache.airavata.model.experiment.ConfigurationData o) {
-            getExperimentConfiguration_result result = new getExperimentConfiguration_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);
@@ -1645,7 +1752,7 @@ import org.slf4j.LoggerFactory;
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            getExperimentConfiguration_result result = new getExperimentConfiguration_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);
@@ -1686,25 +1793,25 @@ import org.slf4j.LoggerFactory;
         return false;
       }
 
-      public void start(I iface, getExperimentConfiguration_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.ConfigurationData> resultHandler) throws TException {
-        iface.getExperimentConfiguration(args.airavataExperimentId,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 launchConfiguredExperiment<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, launchConfiguredExperiment_args, Void> {
-      public launchConfiguredExperiment() {
-        super("launchConfiguredExperiment");
+    public static class launchExperiment<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, launchExperiment_args, Void> {
+      public launchExperiment() {
+        super("launchExperiment");
       }
 
-      public launchConfiguredExperiment_args getEmptyArgsInstance() {
-        return new launchConfiguredExperiment_args();
+      public launchExperiment_args getEmptyArgsInstance() {
+        return new launchExperiment_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) {
-            launchConfiguredExperiment_result result = new launchConfiguredExperiment_result();
+            launchExperiment_result result = new launchExperiment_result();
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -1716,7 +1823,7 @@ import org.slf4j.LoggerFactory;
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            launchConfiguredExperiment_result result = new launchConfiguredExperiment_result();
+            launchExperiment_result result = new launchExperiment_result();
             if (e instanceof org.apache.airavata.api.error.InvalidRequestException) {
                         result.ire = (org.apache.airavata.api.error.InvalidRequestException) e;
                         result.setIreIsSet(true);
@@ -1757,25 +1864,25 @@ import org.slf4j.LoggerFactory;
        

<TRUNCATED>