You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sc...@apache.org on 2015/06/22 18:07:30 UTC

[2/5] airavata git commit: Adding gatewayId to experiment model

http://git-wip-us.apache.org/repos/asf/airavata/blob/993f29a5/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ExperimentRegistry.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ExperimentRegistry.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ExperimentRegistry.java
index ca3f56b..3918dc6 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ExperimentRegistry.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ExperimentRegistry.java
@@ -79,6 +79,7 @@ public class ExperimentRegistry {
             ExperimentResource experimentResource = new ExperimentResource();
             experimentResource.setExperimentId(experimentId);
             experimentResource.setProjectId(experiment.getProjectId());
+            experimentResource.setGatewayId(experiment.getGatewayId());
             experimentResource.setExperimentType(experiment.getExperimentType().toString());
             experimentResource.setUserName(experiment.getUserName());
             experimentResource.setExperimentName(experiment.getExperimentName());
@@ -469,7 +470,7 @@ public class ExperimentRegistry {
             ExperimentResource existingExperiment = gatewayResource.getExperiment(expId);
             existingExperiment.setExperimentName(experiment.getExperimentName());
             existingExperiment.setUserName(experiment.getUserName());
-            existingExperiment.setGatewayExecutionId(gatewayResource.getGatewayId());
+            existingExperiment.setGatewayId(experiment.getGatewayId());
             existingExperiment.setGatewayExecutionId(experiment.getGatewayExecutionId());
             existingExperiment.setProjectId(experiment.getProjectId());
             existingExperiment.setCreationTime(AiravataUtils.getTime(experiment.getCreationTime()));

http://git-wip-us.apache.org/repos/asf/airavata/blob/993f29a5/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/Experiment.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/Experiment.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/Experiment.java
index da5a486..9ff073d 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/Experiment.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/Experiment.java
@@ -33,6 +33,7 @@ public class Experiment {
     private final static Logger logger = LoggerFactory.getLogger(Experiment.class);
     private String experimentId;
     private String projectId;
+    private String gatewayId;
     private String experimentType;
     private String userName;
     private String experimentName;
@@ -62,6 +63,16 @@ public class Experiment {
     }
 
     @Basic
+    @Column(name = "GATEWAY_ID")
+    public String getGatewayId() {
+        return gatewayId;
+    }
+
+    public void setGatewayId(String gatewayId) {
+        this.gatewayId = gatewayId;
+    }
+
+    @Basic
     @Column(name = "PROJECT_ID")
     public String getProjectId() {
         return projectId;
@@ -183,6 +194,7 @@ public class Experiment {
 //        if (gatewayExecutionId != null ? !gatewayExecutionId.equals(that.gatewayExecutionId) : that.gatewayExecutionId != null)
 //            return false;
 //        if (projectId != null ? !projectId.equals(that.projectId) : that.projectId != null) return false;
+//        if (gatewayId != null ? !gatewayId.equals(that.gatewayId) : that.gatewayId != null) return false;
 //        if (userName != null ? !userName.equals(that.userName) : that.userName != null) return false;
 //
 //        return true;
@@ -192,6 +204,7 @@ public class Experiment {
 //    public int hashCode() {
 //        int result = experimentId != null ? experimentId.hashCode() : 0;
 //        result = 31 * result + (projectId != null ? projectId.hashCode() : 0);
+//        result = 31 * result + (gatewayId != null ? gatewayId.hashCode() : 0);
 //        result = 31 * result + (experimentType != null ? experimentType.hashCode() : 0);
 //        result = 31 * result + (userName != null ? userName.hashCode() : 0);
 //        result = 31 * result + (experimentName != null ? experimentName.hashCode() : 0);

http://git-wip-us.apache.org/repos/asf/airavata/blob/993f29a5/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ExperimentSummary.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ExperimentSummary.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ExperimentSummary.java
index c1455ff..288543b 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ExperimentSummary.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ExperimentSummary.java
@@ -32,8 +32,9 @@ public class ExperimentSummary {
     private final static Logger logger = LoggerFactory.getLogger(ExperimentSummary.class);
     private String experimentId;
     private String projectId;
+    private String gatewayId;
     private String userName;
-    private String applicationId;
+    private String executionId;
     private String experimentName;
     private Timestamp creationTime;
     private String description;
@@ -62,6 +63,17 @@ public class ExperimentSummary {
     }
 
     @Basic
+    @Column(name = "GATEWAY_ID")
+    public String getGatewayId() {
+        return gatewayId;
+    }
+
+    public void setGatewayId(String gatewayId) {
+        this.gatewayId = gatewayId;
+    }
+
+
+    @Basic
     @Column(name = "USER_NAME")
     public String getUserName() {
         return userName;
@@ -72,13 +84,13 @@ public class ExperimentSummary {
     }
 
     @Basic
-    @Column(name = "APPLICATION_ID")
-    public String getApplicationId() {
-        return applicationId;
+    @Column(name = "EXECUTION_ID")
+    public String getExecutionId() {
+        return executionId;
     }
 
-    public void setApplicationId(String applicationId) {
-        this.applicationId = applicationId;
+    public void setExecutionId(String executionId) {
+        this.executionId = executionId;
     }
 
     @Basic
@@ -148,7 +160,9 @@ public class ExperimentSummary {
 //
 //        ExperimentSummary that = (ExperimentSummary) o;
 //
-//        if (applicationId != null ? !applicationId.equals(that.applicationId) : that.applicationId != null)
+//        if (executionId != null ? !executionId.equals(that.executionId) : that.executionId != null)
+//            return false;
+//        if (gatewayId != null ? !gatewayId.equals(that.gatewayId) : that.gatewayId != null)
 //            return false;
 //        if (creationTime != null ? !creationTime.equals(that.creationTime) : that.creationTime != null) return false;
 //        if (description != null ? !description.equals(that.description) : that.description != null) return false;
@@ -171,7 +185,8 @@ public class ExperimentSummary {
 //        int result = experimentId != null ? experimentId.hashCode() : 0;
 //        result = 31 * result + (projectId != null ? projectId.hashCode() : 0);
 //        result = 31 * result + (userName != null ? userName.hashCode() : 0);
-//        result = 31 * result + (applicationId != null ? applicationId.hashCode() : 0);
+//        result = 31 * result + (gatewayId != null ? gatewayId.hashCode() : 0);
+//        result = 31 * result + (executionId != null ? executionId.hashCode() : 0);
 //        result = 31 * result + (experimentName != null ? experimentName.hashCode() : 0);
 //        result = 31 * result + (creationTime != null ? creationTime.hashCode() : 0);
 //        result = 31 * result + (description != null ? description.hashCode() : 0);

http://git-wip-us.apache.org/repos/asf/airavata/blob/993f29a5/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ExperimentResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ExperimentResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ExperimentResource.java
index b81049f..7209e14 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ExperimentResource.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ExperimentResource.java
@@ -41,6 +41,7 @@ public class ExperimentResource extends AbstractExpCatResource {
     private static final Logger logger = LoggerFactory.getLogger(ExperimentResource.class);
     private String experimentId;
     private String projectId;
+    private String gatewayId;
     private String experimentType;
     private String userName;
     private String experimentName;
@@ -67,6 +68,14 @@ public class ExperimentResource extends AbstractExpCatResource {
         this.projectId = projectId;
     }
 
+    public String getGatewayId() {
+        return gatewayId;
+    }
+
+    public void setGatewayId(String gatewayId) {
+        this.gatewayId = gatewayId;
+    }
+
     public String getExperimentType() {
         return experimentType;
     }
@@ -435,6 +444,7 @@ public class ExperimentResource extends AbstractExpCatResource {
             }
             experiment.setExperimentId(experimentId);
             experiment.setProjectId(projectId);
+            experiment.setGatewayId(gatewayId);
             experiment.setExperimentType(experimentType);
             experiment.setUserName(userName);
             experiment.setExperimentName(experimentName);

http://git-wip-us.apache.org/repos/asf/airavata/blob/993f29a5/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ExperimentSummaryResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ExperimentSummaryResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ExperimentSummaryResource.java
index 1e0aa14..e6ce108 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ExperimentSummaryResource.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ExperimentSummaryResource.java
@@ -35,8 +35,9 @@ public class ExperimentSummaryResource extends AbstractExpCatResource {
 
     private String experimentId;
     private String projectId;
+    private String gatewayId;
     private String userName;
-    private String applicationId;
+    private String executionId;
     private String experimentName;
     private Timestamp creationTime;
     private String description;
@@ -85,6 +86,14 @@ public class ExperimentSummaryResource extends AbstractExpCatResource {
         this.projectId = projectId;
     }
 
+    public String getGatewayId() {
+        return gatewayId;
+    }
+
+    public void setGatewayId(String gatewayId) {
+        this.gatewayId = gatewayId;
+    }
+
     public String getUserName() {
         return userName;
     }
@@ -93,12 +102,12 @@ public class ExperimentSummaryResource extends AbstractExpCatResource {
         this.userName = userName;
     }
 
-    public String getApplicationId() {
-        return applicationId;
+    public String getExecutionId() {
+        return executionId;
     }
 
-    public void setApplicationId(String applicationId) {
-        this.applicationId = applicationId;
+    public void setExecutionId(String executionId) {
+        this.executionId = executionId;
     }
 
     public String getExperimentName() {

http://git-wip-us.apache.org/repos/asf/airavata/blob/993f29a5/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/Utils.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/Utils.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/Utils.java
index 442e908..64f80a3 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/Utils.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/Utils.java
@@ -384,7 +384,7 @@ public class Utils {
             experimentSummaryResource.setProjectId(o.getProjectId());
             experimentSummaryResource.setUserName(o.getUserName());
             experimentSummaryResource.setUserName(o.getUserName());
-            experimentSummaryResource.setApplicationId(o.getApplicationId());
+            experimentSummaryResource.setExecutionId(o.getExecutionId());
             experimentSummaryResource.setExperimentName(o.getExperimentName());
             experimentSummaryResource.setCreationTime(o.getCreationTime());
             experimentSummaryResource.setDescription(o.getDescription());

http://git-wip-us.apache.org/repos/asf/airavata/blob/993f29a5/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/utils/ThriftDataModelConversion.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/utils/ThriftDataModelConversion.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/utils/ThriftDataModelConversion.java
index 3e2fab9..25a2ce6 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/utils/ThriftDataModelConversion.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/utils/ThriftDataModelConversion.java
@@ -93,12 +93,14 @@ public class ThriftDataModelConversion {
             ExperimentSummaryModel experimentSummary = new ExperimentSummaryModel();
             experimentSummary.setProjectId(experimentSummaryResource.getProjectId());
             experimentSummary.setExperimentId(experimentSummaryResource.getExperimentId());
+            experimentSummary.setGatewayId(experimentSummaryResource.getGatewayId());
             experimentSummary.setCreationTime(experimentSummaryResource.getCreationTime().getTime());
             experimentSummary.setUserName(experimentSummaryResource.getUserName());
             experimentSummary.setName(experimentSummaryResource.getExperimentName());
             experimentSummary.setDescription(experimentSummaryResource.getDescription());
-            experimentSummary.setApplicationId(experimentSummaryResource.getApplicationId());
-            //Todo state and state update time
+            experimentSummary.setExecutionId(experimentSummaryResource.getExecutionId());
+            experimentSummary.setExperimentStatus(experimentSummaryResource.getState());
+            experimentSummary.setStatusUpdateTime(experimentSummaryResource.getTimeOfStateChange().getTime());
             return experimentSummary;
         }
         return null;
@@ -110,6 +112,7 @@ public class ThriftDataModelConversion {
             ExperimentModel experiment = new ExperimentModel();
             experiment.setProjectId(experimentResource.getProjectId());
             experiment.setExperimentId(experimentResource.getExperimentId());
+            experiment.setGatewayId(experimentResource.getGatewayId());
             experiment.setCreationTime(experimentResource.getCreationTime().getTime());
             experiment.setUserName(experimentResource.getUserName());
             experiment.setExperimentName(experimentResource.getExperimentName());

http://git-wip-us.apache.org/repos/asf/airavata/blob/993f29a5/modules/registry/registry-core/src/main/resources/expcatalog-derby.sql
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/resources/expcatalog-derby.sql b/modules/registry/registry-core/src/main/resources/expcatalog-derby.sql
index f776e25..aeab3e5 100644
--- a/modules/registry/registry-core/src/main/resources/expcatalog-derby.sql
+++ b/modules/registry/registry-core/src/main/resources/expcatalog-derby.sql
@@ -68,6 +68,7 @@ CREATE TABLE PROJECT_USER
 CREATE TABLE EXPERIMENT (
   EXPERIMENT_ID varchar(255),
   PROJECT_ID varchar(255),
+  GATEWAY_ID varchar(255),
   EXPERIMENT_TYPE varchar(255),
   USER_NAME varchar(255),
   EXPERIMENT_NAME varchar(255),
@@ -166,8 +167,8 @@ CREATE VIEW LATEST_EXPERIMENT_STATUS AS
     AND ES1.TIME_OF_STATE_CHANGE < ES2.TIME_OF_STATE_CHANGE)  WHERE ES2.TIME_OF_STATE_CHANGE is NULL;
 
 CREATE VIEW EXPERIMENT_SUMMARY AS
-  select E.EXPERIMENT_ID AS EXPERIMENT_ID, E.PROJECT_ID AS PROJECT_ID,
-  E.USER_NAME AS USER_NAME, E.APPLICATION_ID AS APPLICATION_ID, E.EXPERIMENT_NAME AS EXPERIMENT_NAME,
+  select E.EXPERIMENT_ID AS EXPERIMENT_ID, E.PROJECT_ID AS PROJECT_ID, E.GATEWAY_ID AS GATEWAY_ID,
+  E.USER_NAME AS USER_NAME, E.EXECUTION_ID AS EXECUTION_ID, E.EXPERIMENT_NAME AS EXPERIMENT_NAME,
   E.CREATION_TIME AS CREATION_TIME, E.DESCRIPTION AS DESCRIPTION, ES.STATE AS STATE, UD.RESOURCE_HOST_ID
   AS RESOURCE_HOST_ID, ES.TIME_OF_STATE_CHANGE AS TIME_OF_STATE_CHANGE
     from ((EXPERIMENT E left join LATEST_EXPERIMENT_STATUS ES on((E.EXPERIMENT_ID = ES.EXPERIMENT_ID)))

http://git-wip-us.apache.org/repos/asf/airavata/blob/993f29a5/modules/registry/registry-core/src/main/resources/expcatalog-mysql.sql
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/resources/expcatalog-mysql.sql b/modules/registry/registry-core/src/main/resources/expcatalog-mysql.sql
index 802c5da..8a9ebe0 100644
--- a/modules/registry/registry-core/src/main/resources/expcatalog-mysql.sql
+++ b/modules/registry/registry-core/src/main/resources/expcatalog-mysql.sql
@@ -68,6 +68,7 @@ CREATE TABLE PROJECT_USER
 CREATE TABLE EXPERIMENT (
   EXPERIMENT_ID varchar(255),
   PROJECT_ID varchar(255),
+  GATEWAY_ID varchar(255),
   EXPERIMENT_TYPE varchar(255),
   USER_NAME varchar(255),
   EXPERIMENT_NAME varchar(255),
@@ -167,8 +168,8 @@ CREATE VIEW LATEST_EXPERIMENT_STATUS AS
     AND ES1.TIME_OF_STATE_CHANGE < ES2.TIME_OF_STATE_CHANGE)  WHERE ES2.TIME_OF_STATE_CHANGE is NULL;
 
 CREATE VIEW EXPERIMENT_SUMMARY AS
-  select E.EXPERIMENT_ID AS EXPERIMENT_ID, E.PROJECT_ID AS PROJECT_ID,
-  E.USER_NAME AS USER_NAME, E.APPLICATION_ID AS APPLICATION_ID, E.EXPERIMENT_NAME AS EXPERIMENT_NAME,
+  select E.EXPERIMENT_ID AS EXPERIMENT_ID, E.PROJECT_ID AS PROJECT_ID, E.GATEWAY_ID AS GATEWAY_ID,
+  E.USER_NAME AS USER_NAME, E.EXECUTION_ID AS EXECUTION_ID, E.EXPERIMENT_NAME AS EXPERIMENT_NAME,
   E.CREATION_TIME AS CREATION_TIME, E.DESCRIPTION AS DESCRIPTION, ES.STATE AS STATE, UD.RESOURCE_HOST_ID
   AS RESOURCE_HOST_ID, ES.TIME_OF_STATE_CHANGE AS TIME_OF_STATE_CHANGE
     from ((EXPERIMENT E left join LATEST_EXPERIMENT_STATUS ES on((E.EXPERIMENT_ID = ES.EXPERIMENT_ID)))

http://git-wip-us.apache.org/repos/asf/airavata/blob/993f29a5/modules/registry/registry-core/src/test/resources/expcatalog-derby.sql
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/test/resources/expcatalog-derby.sql b/modules/registry/registry-core/src/test/resources/expcatalog-derby.sql
index f776e25..aeab3e5 100644
--- a/modules/registry/registry-core/src/test/resources/expcatalog-derby.sql
+++ b/modules/registry/registry-core/src/test/resources/expcatalog-derby.sql
@@ -68,6 +68,7 @@ CREATE TABLE PROJECT_USER
 CREATE TABLE EXPERIMENT (
   EXPERIMENT_ID varchar(255),
   PROJECT_ID varchar(255),
+  GATEWAY_ID varchar(255),
   EXPERIMENT_TYPE varchar(255),
   USER_NAME varchar(255),
   EXPERIMENT_NAME varchar(255),
@@ -166,8 +167,8 @@ CREATE VIEW LATEST_EXPERIMENT_STATUS AS
     AND ES1.TIME_OF_STATE_CHANGE < ES2.TIME_OF_STATE_CHANGE)  WHERE ES2.TIME_OF_STATE_CHANGE is NULL;
 
 CREATE VIEW EXPERIMENT_SUMMARY AS
-  select E.EXPERIMENT_ID AS EXPERIMENT_ID, E.PROJECT_ID AS PROJECT_ID,
-  E.USER_NAME AS USER_NAME, E.APPLICATION_ID AS APPLICATION_ID, E.EXPERIMENT_NAME AS EXPERIMENT_NAME,
+  select E.EXPERIMENT_ID AS EXPERIMENT_ID, E.PROJECT_ID AS PROJECT_ID, E.GATEWAY_ID AS GATEWAY_ID,
+  E.USER_NAME AS USER_NAME, E.EXECUTION_ID AS EXECUTION_ID, E.EXPERIMENT_NAME AS EXPERIMENT_NAME,
   E.CREATION_TIME AS CREATION_TIME, E.DESCRIPTION AS DESCRIPTION, ES.STATE AS STATE, UD.RESOURCE_HOST_ID
   AS RESOURCE_HOST_ID, ES.TIME_OF_STATE_CHANGE AS TIME_OF_STATE_CHANGE
     from ((EXPERIMENT E left join LATEST_EXPERIMENT_STATUS ES on((E.EXPERIMENT_ID = ES.EXPERIMENT_ID)))

http://git-wip-us.apache.org/repos/asf/airavata/blob/993f29a5/thrift-interface-descriptions/airavata-data-models/experiment_model.thrift
----------------------------------------------------------------------
diff --git a/thrift-interface-descriptions/airavata-data-models/experiment_model.thrift b/thrift-interface-descriptions/airavata-data-models/experiment_model.thrift
index 7c8cd5f..6809ead 100644
--- a/thrift-interface-descriptions/airavata-data-models/experiment_model.thrift
+++ b/thrift-interface-descriptions/airavata-data-models/experiment_model.thrift
@@ -76,31 +76,33 @@ struct UserConfigurationDataModel {
 struct ExperimentModel {
     1: required string experimentId = DEFAULT_ID,
     2: required string projectId = DEFAULT_PROJECT_NAME,
-    3: required ExperimentType experimentType = ExperimentType.SINGLE_APPLICATION;
-    4: required string userName,
-    5: required string experimentName,
-    6: optional i64 creationTime,
-    7: optional string description,
-    8: optional string executionId,
-    9: optional string gatewayExecutionId,
-    10: optional bool enableEmailNotification,
-    11: optional list<string> emailAddresses,
-    12: optional UserConfigurationDataModel userConfigurationData,
-    13: optional list<application_io_models.InputDataObjectType> experimentInputs,
-    14: optional list<application_io_models.OutputDataObjectType> experimentOutputs,
-    15: optional status_models.ExperimentStatus experimentStatus,
-    16: optional list<airavata_commons.ErrorModel> errors
+    3: required string gatewayId,
+    4: required ExperimentType experimentType = ExperimentType.SINGLE_APPLICATION;
+    5: required string userName,
+    6: required string experimentName,
+    7: optional i64 creationTime,
+    8: optional string description,
+    9: optional string executionId,
+    10: optional string gatewayExecutionId,
+    11: optional bool enableEmailNotification,
+    12: optional list<string> emailAddresses,
+    13: optional UserConfigurationDataModel userConfigurationData,
+    14: optional list<application_io_models.InputDataObjectType> experimentInputs,
+    15: optional list<application_io_models.OutputDataObjectType> experimentOutputs,
+    16: optional status_models.ExperimentStatus experimentStatus,
+    17: optional list<airavata_commons.ErrorModel> errors
 }
 
 struct ExperimentSummaryModel {
     1: required string experimentId,
     2: required string projectId,
-    3: optional i64 creationTime,
-    4: required string userName,
-    5: required string name,
-    6: optional string description,
-    7: optional string applicationId,
-    8: optional string experimentStatus,
-    9: optional i64 statusUpdateTime
+    3: required string gatewayId,
+    4: optional i64 creationTime,
+    5: required string userName,
+    6: required string name,
+    7: optional string description,
+    8: optional string executionId,
+    9: optional string experimentStatus,
+    10: optional i64 statusUpdateTime
 }