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:29 UTC

[1/5] airavata git commit: Changing the reason field in status table to CLOB(derby) and LONGTEXT(mysql)

Repository: airavata
Updated Branches:
  refs/heads/master 4ee4b1a1e -> 9ee0df7c1


Changing the reason field in status table to CLOB(derby) and LONGTEXT(mysql)


Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/c6cfa329
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/c6cfa329
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/c6cfa329

Branch: refs/heads/master
Commit: c6cfa329000572b76335e0a23762f12d32cbb006
Parents: 0a90a40
Author: Supun Nakandala <sc...@apache.org>
Authored: Mon Jun 22 20:42:52 2015 +0530
Committer: Supun Nakandala <sc...@apache.org>
Committed: Mon Jun 22 20:42:52 2015 +0530

----------------------------------------------------------------------
 .../core/experiment/catalog/model/ExperimentStatus.java        | 1 +
 .../registry/core/experiment/catalog/model/ProcessStatus.java  | 1 +
 .../registry/core/experiment/catalog/model/TaskStatus.java     | 1 +
 .../registry-core/src/main/resources/expcatalog-derby.sql      | 6 +++---
 .../registry-core/src/main/resources/expcatalog-mysql.sql      | 6 +++---
 .../registry-core/src/test/resources/expcatalog-derby.sql      | 6 +++---
 6 files changed, 12 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/c6cfa329/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ExperimentStatus.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ExperimentStatus.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ExperimentStatus.java
index 7e892f0..0ccd5b0 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ExperimentStatus.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ExperimentStatus.java
@@ -79,6 +79,7 @@ public class ExperimentStatus {
     }
 
     @Basic
+    @Lob
     @Column(name = "REASON")
     public String getReason() {
         return reason;

http://git-wip-us.apache.org/repos/asf/airavata/blob/c6cfa329/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProcessStatus.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProcessStatus.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProcessStatus.java
index c727953..b816df2 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProcessStatus.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProcessStatus.java
@@ -80,6 +80,7 @@ public class ProcessStatus {
     }
 
     @Basic
+    @Lob
     @Column(name = "REASON")
     public String getReason() {
         return reason;

http://git-wip-us.apache.org/repos/asf/airavata/blob/c6cfa329/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/TaskStatus.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/TaskStatus.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/TaskStatus.java
index 1e08a43..544e29e 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/TaskStatus.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/TaskStatus.java
@@ -79,6 +79,7 @@ public class TaskStatus {
     }
 
     @Basic
+    @Lob
     @Column(name = "REASON")
     public String getReason() {
         return reason;

http://git-wip-us.apache.org/repos/asf/airavata/blob/c6cfa329/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 3156aa2..f776e25 100644
--- a/modules/registry/registry-core/src/main/resources/expcatalog-derby.sql
+++ b/modules/registry/registry-core/src/main/resources/expcatalog-derby.sql
@@ -123,7 +123,7 @@ CREATE TABLE EXPERIMENT_STATUS (
   EXPERIMENT_ID varchar(255),
   STATE varchar(255),
   TIME_OF_STATE_CHANGE timestamp DEFAULT '0000-00-00 00:00:00',
-  REASON varchar(255),
+  REASON CLOB,
   PRIMARY KEY (STATUS_ID, EXPERIMENT_ID),
   FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE
 );
@@ -225,7 +225,7 @@ CREATE TABLE PROCESS_STATUS (
   PROCESS_ID varchar(255),
   STATE varchar(255),
   TIME_OF_STATE_CHANGE timestamp DEFAULT '0000-00-00 00:00:00',
-  REASON varchar(255),
+  REASON CLOB,
   PRIMARY KEY (STATUS_ID, PROCESS_ID),
   FOREIGN KEY (PROCESS_ID) REFERENCES PROCESS(PROCESS_ID) ON DELETE CASCADE
 );
@@ -273,7 +273,7 @@ CREATE TABLE TASK_STATUS (
   TASK_ID varchar(255),
   STATE varchar(255),
   TIME_OF_STATE_CHANGE timestamp DEFAULT '0000-00-00 00:00:00',
-  REASON varchar(255),
+  REASON CLOB,
   PRIMARY KEY (STATUS_ID, TASK_ID),
   FOREIGN KEY (TASK_ID) REFERENCES TASK(TASK_ID) ON DELETE CASCADE
 );

http://git-wip-us.apache.org/repos/asf/airavata/blob/c6cfa329/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 39b9aeb..802c5da 100644
--- a/modules/registry/registry-core/src/main/resources/expcatalog-mysql.sql
+++ b/modules/registry/registry-core/src/main/resources/expcatalog-mysql.sql
@@ -123,7 +123,7 @@ CREATE TABLE EXPERIMENT_STATUS (
   EXPERIMENT_ID varchar(255),
   STATE varchar(255),
   TIME_OF_STATE_CHANGE timestamp DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP,
-  REASON varchar(255),
+  REASON LONGTEXT,
   PRIMARY KEY (STATUS_ID, EXPERIMENT_ID),
   FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE
 );
@@ -227,7 +227,7 @@ CREATE TABLE PROCESS_STATUS (
   PROCESS_ID varchar(255),
   STATE varchar(255),
   TIME_OF_STATE_CHANGE timestamp DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP,
-  REASON varchar(255),
+  REASON LONGTEXT,
   PRIMARY KEY (STATUS_ID, PROCESS_ID),
   FOREIGN KEY (PROCESS_ID) REFERENCES PROCESS(PROCESS_ID) ON DELETE CASCADE
 );
@@ -275,7 +275,7 @@ CREATE TABLE TASK_STATUS (
   TASK_ID varchar(255),
   STATE varchar(255),
   TIME_OF_STATE_CHANGE timestamp DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP,
-  REASON varchar(255),
+  REASON LONGTEXT,
   PRIMARY KEY (STATUS_ID, TASK_ID),
   FOREIGN KEY (TASK_ID) REFERENCES TASK(TASK_ID) ON DELETE CASCADE
 );

http://git-wip-us.apache.org/repos/asf/airavata/blob/c6cfa329/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 3156aa2..f776e25 100644
--- a/modules/registry/registry-core/src/test/resources/expcatalog-derby.sql
+++ b/modules/registry/registry-core/src/test/resources/expcatalog-derby.sql
@@ -123,7 +123,7 @@ CREATE TABLE EXPERIMENT_STATUS (
   EXPERIMENT_ID varchar(255),
   STATE varchar(255),
   TIME_OF_STATE_CHANGE timestamp DEFAULT '0000-00-00 00:00:00',
-  REASON varchar(255),
+  REASON CLOB,
   PRIMARY KEY (STATUS_ID, EXPERIMENT_ID),
   FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE
 );
@@ -225,7 +225,7 @@ CREATE TABLE PROCESS_STATUS (
   PROCESS_ID varchar(255),
   STATE varchar(255),
   TIME_OF_STATE_CHANGE timestamp DEFAULT '0000-00-00 00:00:00',
-  REASON varchar(255),
+  REASON CLOB,
   PRIMARY KEY (STATUS_ID, PROCESS_ID),
   FOREIGN KEY (PROCESS_ID) REFERENCES PROCESS(PROCESS_ID) ON DELETE CASCADE
 );
@@ -273,7 +273,7 @@ CREATE TABLE TASK_STATUS (
   TASK_ID varchar(255),
   STATE varchar(255),
   TIME_OF_STATE_CHANGE timestamp DEFAULT '0000-00-00 00:00:00',
-  REASON varchar(255),
+  REASON CLOB,
   PRIMARY KEY (STATUS_ID, TASK_ID),
   FOREIGN KEY (TASK_ID) REFERENCES TASK(TASK_ID) ON DELETE CASCADE
 );


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

Posted by sc...@apache.org.
Adding gatewayId to experiment model


Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/993f29a5
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/993f29a5
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/993f29a5

Branch: refs/heads/master
Commit: 993f29a559bf45bb0f4c6a68493f93ba6d1178df
Parents: c6cfa32
Author: Supun Nakandala <sc...@apache.org>
Authored: Mon Jun 22 21:29:17 2015 +0530
Committer: Supun Nakandala <sc...@apache.org>
Committed: Mon Jun 22 21:29:17 2015 +0530

----------------------------------------------------------------------
 .../model/experiment/ExperimentModel.java       | 412 +++++++++------
 .../experiment/ExperimentSummaryModel.java      | 502 +++++++++++++------
 .../catalog/impl/ExperimentRegistry.java        |   3 +-
 .../experiment/catalog/model/Experiment.java    |  13 +
 .../catalog/model/ExperimentSummary.java        |  31 +-
 .../catalog/resources/ExperimentResource.java   |  10 +
 .../resources/ExperimentSummaryResource.java    |  19 +-
 .../experiment/catalog/resources/Utils.java     |   2 +-
 .../utils/ThriftDataModelConversion.java        |   7 +-
 .../src/main/resources/expcatalog-derby.sql     |   5 +-
 .../src/main/resources/expcatalog-mysql.sql     |   5 +-
 .../src/test/resources/expcatalog-derby.sql     |   5 +-
 .../experiment_model.thrift                     |  44 +-
 13 files changed, 688 insertions(+), 370 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/993f29a5/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentModel.java
index 2e9511f..332482b 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentModel.java
@@ -1,21 +1,4 @@
 /**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
  * Autogenerated by Thrift Compiler (0.9.2)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
@@ -23,32 +6,17 @@
  */
 package org.apache.airavata.model.experiment;
 
+import org.apache.thrift.EncodingUtils;
+import org.apache.thrift.TException;
+import org.apache.thrift.protocol.TProtocolException;
+import org.apache.thrift.protocol.TTupleProtocol;
 import org.apache.thrift.scheme.IScheme;
 import org.apache.thrift.scheme.SchemeFactory;
 import org.apache.thrift.scheme.StandardScheme;
-
 import org.apache.thrift.scheme.TupleScheme;
-import org.apache.thrift.protocol.TTupleProtocol;
-import org.apache.thrift.protocol.TProtocolException;
-import org.apache.thrift.EncodingUtils;
-import org.apache.thrift.TException;
-import org.apache.thrift.async.AsyncMethodCallback;
-import org.apache.thrift.server.AbstractNonblockingServer.*;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.EnumMap;
-import java.util.Set;
-import java.util.HashSet;
-import java.util.EnumSet;
-import java.util.Collections;
-import java.util.BitSet;
-import java.nio.ByteBuffer;
-import java.util.Arrays;
+
 import javax.annotation.Generated;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import java.util.*;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
 /**
@@ -67,26 +35,27 @@ import org.slf4j.LoggerFactory;
  * experimentDescription:
  *    The verbose description of the experiment. This is an optional parameter.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-6-18")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-6-22")
 public class ExperimentModel implements org.apache.thrift.TBase<ExperimentModel, ExperimentModel._Fields>, java.io.Serializable, Cloneable, Comparable<ExperimentModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ExperimentModel");
 
   private static final org.apache.thrift.protocol.TField EXPERIMENT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("experimentId", org.apache.thrift.protocol.TType.STRING, (short)1);
   private static final org.apache.thrift.protocol.TField PROJECT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("projectId", org.apache.thrift.protocol.TType.STRING, (short)2);
-  private static final org.apache.thrift.protocol.TField EXPERIMENT_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("experimentType", org.apache.thrift.protocol.TType.I32, (short)3);
-  private static final org.apache.thrift.protocol.TField USER_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("userName", org.apache.thrift.protocol.TType.STRING, (short)4);
-  private static final org.apache.thrift.protocol.TField EXPERIMENT_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("experimentName", org.apache.thrift.protocol.TType.STRING, (short)5);
-  private static final org.apache.thrift.protocol.TField CREATION_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("creationTime", org.apache.thrift.protocol.TType.I64, (short)6);
-  private static final org.apache.thrift.protocol.TField DESCRIPTION_FIELD_DESC = new org.apache.thrift.protocol.TField("description", org.apache.thrift.protocol.TType.STRING, (short)7);
-  private static final org.apache.thrift.protocol.TField EXECUTION_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("executionId", org.apache.thrift.protocol.TType.STRING, (short)8);
-  private static final org.apache.thrift.protocol.TField GATEWAY_EXECUTION_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayExecutionId", org.apache.thrift.protocol.TType.STRING, (short)9);
-  private static final org.apache.thrift.protocol.TField ENABLE_EMAIL_NOTIFICATION_FIELD_DESC = new org.apache.thrift.protocol.TField("enableEmailNotification", org.apache.thrift.protocol.TType.BOOL, (short)10);
-  private static final org.apache.thrift.protocol.TField EMAIL_ADDRESSES_FIELD_DESC = new org.apache.thrift.protocol.TField("emailAddresses", org.apache.thrift.protocol.TType.LIST, (short)11);
-  private static final org.apache.thrift.protocol.TField USER_CONFIGURATION_DATA_FIELD_DESC = new org.apache.thrift.protocol.TField("userConfigurationData", org.apache.thrift.protocol.TType.STRUCT, (short)12);
-  private static final org.apache.thrift.protocol.TField EXPERIMENT_INPUTS_FIELD_DESC = new org.apache.thrift.protocol.TField("experimentInputs", org.apache.thrift.protocol.TType.LIST, (short)13);
-  private static final org.apache.thrift.protocol.TField EXPERIMENT_OUTPUTS_FIELD_DESC = new org.apache.thrift.protocol.TField("experimentOutputs", org.apache.thrift.protocol.TType.LIST, (short)14);
-  private static final org.apache.thrift.protocol.TField EXPERIMENT_STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("experimentStatus", org.apache.thrift.protocol.TType.STRUCT, (short)15);
-  private static final org.apache.thrift.protocol.TField ERRORS_FIELD_DESC = new org.apache.thrift.protocol.TField("errors", org.apache.thrift.protocol.TType.LIST, (short)16);
+  private static final org.apache.thrift.protocol.TField GATEWAY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayId", org.apache.thrift.protocol.TType.STRING, (short)3);
+  private static final org.apache.thrift.protocol.TField EXPERIMENT_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("experimentType", org.apache.thrift.protocol.TType.I32, (short)4);
+  private static final org.apache.thrift.protocol.TField USER_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("userName", org.apache.thrift.protocol.TType.STRING, (short)5);
+  private static final org.apache.thrift.protocol.TField EXPERIMENT_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("experimentName", org.apache.thrift.protocol.TType.STRING, (short)6);
+  private static final org.apache.thrift.protocol.TField CREATION_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("creationTime", org.apache.thrift.protocol.TType.I64, (short)7);
+  private static final org.apache.thrift.protocol.TField DESCRIPTION_FIELD_DESC = new org.apache.thrift.protocol.TField("description", org.apache.thrift.protocol.TType.STRING, (short)8);
+  private static final org.apache.thrift.protocol.TField EXECUTION_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("executionId", org.apache.thrift.protocol.TType.STRING, (short)9);
+  private static final org.apache.thrift.protocol.TField GATEWAY_EXECUTION_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayExecutionId", org.apache.thrift.protocol.TType.STRING, (short)10);
+  private static final org.apache.thrift.protocol.TField ENABLE_EMAIL_NOTIFICATION_FIELD_DESC = new org.apache.thrift.protocol.TField("enableEmailNotification", org.apache.thrift.protocol.TType.BOOL, (short)11);
+  private static final org.apache.thrift.protocol.TField EMAIL_ADDRESSES_FIELD_DESC = new org.apache.thrift.protocol.TField("emailAddresses", org.apache.thrift.protocol.TType.LIST, (short)12);
+  private static final org.apache.thrift.protocol.TField USER_CONFIGURATION_DATA_FIELD_DESC = new org.apache.thrift.protocol.TField("userConfigurationData", org.apache.thrift.protocol.TType.STRUCT, (short)13);
+  private static final org.apache.thrift.protocol.TField EXPERIMENT_INPUTS_FIELD_DESC = new org.apache.thrift.protocol.TField("experimentInputs", org.apache.thrift.protocol.TType.LIST, (short)14);
+  private static final org.apache.thrift.protocol.TField EXPERIMENT_OUTPUTS_FIELD_DESC = new org.apache.thrift.protocol.TField("experimentOutputs", org.apache.thrift.protocol.TType.LIST, (short)15);
+  private static final org.apache.thrift.protocol.TField EXPERIMENT_STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("experimentStatus", org.apache.thrift.protocol.TType.STRUCT, (short)16);
+  private static final org.apache.thrift.protocol.TField ERRORS_FIELD_DESC = new org.apache.thrift.protocol.TField("errors", org.apache.thrift.protocol.TType.LIST, (short)17);
 
   private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
   static {
@@ -94,45 +63,51 @@ public class ExperimentModel implements org.apache.thrift.TBase<ExperimentModel,
     schemes.put(TupleScheme.class, new ExperimentModelTupleSchemeFactory());
   }
 
-  private String experimentId; // required
-  private String projectId; // required
-  private ExperimentType experimentType; // required
-  private String userName; // required
-  private String experimentName; // required
-  private long creationTime; // optional
-  private String description; // optional
-  private String executionId; // optional
-  private String gatewayExecutionId; // optional
-  private boolean enableEmailNotification; // optional
-  private List<String> emailAddresses; // optional
-  private UserConfigurationDataModel userConfigurationData; // optional
-  private List<org.apache.airavata.model.application.io.InputDataObjectType> experimentInputs; // optional
-  private List<org.apache.airavata.model.application.io.OutputDataObjectType> experimentOutputs; // optional
-  private org.apache.airavata.model.status.ExperimentStatus experimentStatus; // optional
-  private List<org.apache.airavata.model.commons.ErrorModel> errors; // optional
+  public String experimentId; // required
+  public String projectId; // required
+  public String gatewayId; // required
+  /**
+   * 
+   * @see org.apache.airavata.model.experiment.ExperimentType
+   */
+  public ExperimentType experimentType; // required
+  public String userName; // required
+  public String experimentName; // required
+  public long creationTime; // optional
+  public String description; // optional
+  public String executionId; // optional
+  public String gatewayExecutionId; // optional
+  public boolean enableEmailNotification; // optional
+  public List<String> emailAddresses; // optional
+  public UserConfigurationDataModel userConfigurationData; // optional
+  public List<org.apache.airavata.model.application.io.InputDataObjectType> experimentInputs; // optional
+  public List<org.apache.airavata.model.application.io.OutputDataObjectType> experimentOutputs; // optional
+  public org.apache.airavata.model.status.ExperimentStatus experimentStatus; // optional
+  public List<org.apache.airavata.model.commons.ErrorModel> errors; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
     EXPERIMENT_ID((short)1, "experimentId"),
     PROJECT_ID((short)2, "projectId"),
+    GATEWAY_ID((short)3, "gatewayId"),
     /**
      * 
-     * @see ExperimentType
+     * @see org.apache.airavata.model.experiment.ExperimentType
      */
-    EXPERIMENT_TYPE((short)3, "experimentType"),
-    USER_NAME((short)4, "userName"),
-    EXPERIMENT_NAME((short)5, "experimentName"),
-    CREATION_TIME((short)6, "creationTime"),
-    DESCRIPTION((short)7, "description"),
-    EXECUTION_ID((short)8, "executionId"),
-    GATEWAY_EXECUTION_ID((short)9, "gatewayExecutionId"),
-    ENABLE_EMAIL_NOTIFICATION((short)10, "enableEmailNotification"),
-    EMAIL_ADDRESSES((short)11, "emailAddresses"),
-    USER_CONFIGURATION_DATA((short)12, "userConfigurationData"),
-    EXPERIMENT_INPUTS((short)13, "experimentInputs"),
-    EXPERIMENT_OUTPUTS((short)14, "experimentOutputs"),
-    EXPERIMENT_STATUS((short)15, "experimentStatus"),
-    ERRORS((short)16, "errors");
+    EXPERIMENT_TYPE((short)4, "experimentType"),
+    USER_NAME((short)5, "userName"),
+    EXPERIMENT_NAME((short)6, "experimentName"),
+    CREATION_TIME((short)7, "creationTime"),
+    DESCRIPTION((short)8, "description"),
+    EXECUTION_ID((short)9, "executionId"),
+    GATEWAY_EXECUTION_ID((short)10, "gatewayExecutionId"),
+    ENABLE_EMAIL_NOTIFICATION((short)11, "enableEmailNotification"),
+    EMAIL_ADDRESSES((short)12, "emailAddresses"),
+    USER_CONFIGURATION_DATA((short)13, "userConfigurationData"),
+    EXPERIMENT_INPUTS((short)14, "experimentInputs"),
+    EXPERIMENT_OUTPUTS((short)15, "experimentOutputs"),
+    EXPERIMENT_STATUS((short)16, "experimentStatus"),
+    ERRORS((short)17, "errors");
 
     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -151,33 +126,35 @@ public class ExperimentModel implements org.apache.thrift.TBase<ExperimentModel,
           return EXPERIMENT_ID;
         case 2: // PROJECT_ID
           return PROJECT_ID;
-        case 3: // EXPERIMENT_TYPE
+        case 3: // GATEWAY_ID
+          return GATEWAY_ID;
+        case 4: // EXPERIMENT_TYPE
           return EXPERIMENT_TYPE;
-        case 4: // USER_NAME
+        case 5: // USER_NAME
           return USER_NAME;
-        case 5: // EXPERIMENT_NAME
+        case 6: // EXPERIMENT_NAME
           return EXPERIMENT_NAME;
-        case 6: // CREATION_TIME
+        case 7: // CREATION_TIME
           return CREATION_TIME;
-        case 7: // DESCRIPTION
+        case 8: // DESCRIPTION
           return DESCRIPTION;
-        case 8: // EXECUTION_ID
+        case 9: // EXECUTION_ID
           return EXECUTION_ID;
-        case 9: // GATEWAY_EXECUTION_ID
+        case 10: // GATEWAY_EXECUTION_ID
           return GATEWAY_EXECUTION_ID;
-        case 10: // ENABLE_EMAIL_NOTIFICATION
+        case 11: // ENABLE_EMAIL_NOTIFICATION
           return ENABLE_EMAIL_NOTIFICATION;
-        case 11: // EMAIL_ADDRESSES
+        case 12: // EMAIL_ADDRESSES
           return EMAIL_ADDRESSES;
-        case 12: // USER_CONFIGURATION_DATA
+        case 13: // USER_CONFIGURATION_DATA
           return USER_CONFIGURATION_DATA;
-        case 13: // EXPERIMENT_INPUTS
+        case 14: // EXPERIMENT_INPUTS
           return EXPERIMENT_INPUTS;
-        case 14: // EXPERIMENT_OUTPUTS
+        case 15: // EXPERIMENT_OUTPUTS
           return EXPERIMENT_OUTPUTS;
-        case 15: // EXPERIMENT_STATUS
+        case 16: // EXPERIMENT_STATUS
           return EXPERIMENT_STATUS;
-        case 16: // ERRORS
+        case 17: // ERRORS
           return ERRORS;
         default:
           return null;
@@ -230,6 +207,8 @@ public class ExperimentModel implements org.apache.thrift.TBase<ExperimentModel,
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     tmpMap.put(_Fields.PROJECT_ID, new org.apache.thrift.meta_data.FieldMetaData("projectId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.GATEWAY_ID, new org.apache.thrift.meta_data.FieldMetaData("gatewayId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     tmpMap.put(_Fields.EXPERIMENT_TYPE, new org.apache.thrift.meta_data.FieldMetaData("experimentType", org.apache.thrift.TFieldRequirementType.REQUIRED, 
         new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, ExperimentType.class)));
     tmpMap.put(_Fields.USER_NAME, new org.apache.thrift.meta_data.FieldMetaData("userName", org.apache.thrift.TFieldRequirementType.REQUIRED, 
@@ -267,13 +246,18 @@ public class ExperimentModel implements org.apache.thrift.TBase<ExperimentModel,
   }
 
   public ExperimentModel() {
-    this.experimentType = org.apache.airavata.model.experiment.ExperimentType.SINGLE_APPLICATION;
+    this.experimentId = "DO_NOT_SET_AT_CLIENTS";
+
+    this.projectId = "DEFAULT_PROJECT";
+
+    this.experimentType = ExperimentType.SINGLE_APPLICATION;
 
   }
 
   public ExperimentModel(
     String experimentId,
     String projectId,
+    String gatewayId,
     ExperimentType experimentType,
     String userName,
     String experimentName)
@@ -281,6 +265,7 @@ public class ExperimentModel implements org.apache.thrift.TBase<ExperimentModel,
     this();
     this.experimentId = experimentId;
     this.projectId = projectId;
+    this.gatewayId = gatewayId;
     this.experimentType = experimentType;
     this.userName = userName;
     this.experimentName = experimentName;
@@ -297,6 +282,9 @@ public class ExperimentModel implements org.apache.thrift.TBase<ExperimentModel,
     if (other.isSetProjectId()) {
       this.projectId = other.projectId;
     }
+    if (other.isSetGatewayId()) {
+      this.gatewayId = other.gatewayId;
+    }
     if (other.isSetExperimentType()) {
       this.experimentType = other.experimentType;
     }
@@ -356,9 +344,12 @@ public class ExperimentModel implements org.apache.thrift.TBase<ExperimentModel,
 
   @Override
   public void clear() {
-    this.experimentId = null;
-    this.projectId = null;
-    this.experimentType = org.apache.airavata.model.experiment.ExperimentType.SINGLE_APPLICATION;
+    this.experimentId = "DO_NOT_SET_AT_CLIENTS";
+
+    this.projectId = "DEFAULT_PROJECT";
+
+    this.gatewayId = null;
+    this.experimentType = ExperimentType.SINGLE_APPLICATION;
 
     this.userName = null;
     this.experimentName = null;
@@ -381,8 +372,9 @@ public class ExperimentModel implements org.apache.thrift.TBase<ExperimentModel,
     return this.experimentId;
   }
 
-  public void setExperimentId(String experimentId) {
+  public ExperimentModel setExperimentId(String experimentId) {
     this.experimentId = experimentId;
+    return this;
   }
 
   public void unsetExperimentId() {
@@ -404,8 +396,9 @@ public class ExperimentModel implements org.apache.thrift.TBase<ExperimentModel,
     return this.projectId;
   }
 
-  public void setProjectId(String projectId) {
+  public ExperimentModel setProjectId(String projectId) {
     this.projectId = projectId;
+    return this;
   }
 
   public void unsetProjectId() {
@@ -423,9 +416,33 @@ public class ExperimentModel implements org.apache.thrift.TBase<ExperimentModel,
     }
   }
 
+  public String getGatewayId() {
+    return this.gatewayId;
+  }
+
+  public ExperimentModel setGatewayId(String gatewayId) {
+    this.gatewayId = gatewayId;
+    return this;
+  }
+
+  public void unsetGatewayId() {
+    this.gatewayId = null;
+  }
+
+  /** Returns true if field gatewayId is set (has been assigned a value) and false otherwise */
+  public boolean isSetGatewayId() {
+    return this.gatewayId != null;
+  }
+
+  public void setGatewayIdIsSet(boolean value) {
+    if (!value) {
+      this.gatewayId = null;
+    }
+  }
+
   /**
    * 
-   * @see ExperimentType
+   * @see org.apache.airavata.model.experiment.ExperimentType
    */
   public ExperimentType getExperimentType() {
     return this.experimentType;
@@ -433,10 +450,11 @@ public class ExperimentModel implements org.apache.thrift.TBase<ExperimentModel,
 
   /**
    * 
-   * @see ExperimentType
+   * @see org.apache.airavata.model.experiment.ExperimentType
    */
-  public void setExperimentType(ExperimentType experimentType) {
+  public ExperimentModel setExperimentType(ExperimentType experimentType) {
     this.experimentType = experimentType;
+    return this;
   }
 
   public void unsetExperimentType() {
@@ -458,8 +476,9 @@ public class ExperimentModel implements org.apache.thrift.TBase<ExperimentModel,
     return this.userName;
   }
 
-  public void setUserName(String userName) {
+  public ExperimentModel setUserName(String userName) {
     this.userName = userName;
+    return this;
   }
 
   public void unsetUserName() {
@@ -481,8 +500,9 @@ public class ExperimentModel implements org.apache.thrift.TBase<ExperimentModel,
     return this.experimentName;
   }
 
-  public void setExperimentName(String experimentName) {
+  public ExperimentModel setExperimentName(String experimentName) {
     this.experimentName = experimentName;
+    return this;
   }
 
   public void unsetExperimentName() {
@@ -504,9 +524,10 @@ public class ExperimentModel implements org.apache.thrift.TBase<ExperimentModel,
     return this.creationTime;
   }
 
-  public void setCreationTime(long creationTime) {
+  public ExperimentModel setCreationTime(long creationTime) {
     this.creationTime = creationTime;
     setCreationTimeIsSet(true);
+    return this;
   }
 
   public void unsetCreationTime() {
@@ -526,8 +547,9 @@ public class ExperimentModel implements org.apache.thrift.TBase<ExperimentModel,
     return this.description;
   }
 
-  public void setDescription(String description) {
+  public ExperimentModel setDescription(String description) {
     this.description = description;
+    return this;
   }
 
   public void unsetDescription() {
@@ -549,8 +571,9 @@ public class ExperimentModel implements org.apache.thrift.TBase<ExperimentModel,
     return this.executionId;
   }
 
-  public void setExecutionId(String executionId) {
+  public ExperimentModel setExecutionId(String executionId) {
     this.executionId = executionId;
+    return this;
   }
 
   public void unsetExecutionId() {
@@ -572,8 +595,9 @@ public class ExperimentModel implements org.apache.thrift.TBase<ExperimentModel,
     return this.gatewayExecutionId;
   }
 
-  public void setGatewayExecutionId(String gatewayExecutionId) {
+  public ExperimentModel setGatewayExecutionId(String gatewayExecutionId) {
     this.gatewayExecutionId = gatewayExecutionId;
+    return this;
   }
 
   public void unsetGatewayExecutionId() {
@@ -595,9 +619,10 @@ public class ExperimentModel implements org.apache.thrift.TBase<ExperimentModel,
     return this.enableEmailNotification;
   }
 
-  public void setEnableEmailNotification(boolean enableEmailNotification) {
+  public ExperimentModel setEnableEmailNotification(boolean enableEmailNotification) {
     this.enableEmailNotification = enableEmailNotification;
     setEnableEmailNotificationIsSet(true);
+    return this;
   }
 
   public void unsetEnableEmailNotification() {
@@ -632,8 +657,9 @@ public class ExperimentModel implements org.apache.thrift.TBase<ExperimentModel,
     return this.emailAddresses;
   }
 
-  public void setEmailAddresses(List<String> emailAddresses) {
+  public ExperimentModel setEmailAddresses(List<String> emailAddresses) {
     this.emailAddresses = emailAddresses;
+    return this;
   }
 
   public void unsetEmailAddresses() {
@@ -655,8 +681,9 @@ public class ExperimentModel implements org.apache.thrift.TBase<ExperimentModel,
     return this.userConfigurationData;
   }
 
-  public void setUserConfigurationData(UserConfigurationDataModel userConfigurationData) {
+  public ExperimentModel setUserConfigurationData(UserConfigurationDataModel userConfigurationData) {
     this.userConfigurationData = userConfigurationData;
+    return this;
   }
 
   public void unsetUserConfigurationData() {
@@ -693,8 +720,9 @@ public class ExperimentModel implements org.apache.thrift.TBase<ExperimentModel,
     return this.experimentInputs;
   }
 
-  public void setExperimentInputs(List<org.apache.airavata.model.application.io.InputDataObjectType> experimentInputs) {
+  public ExperimentModel setExperimentInputs(List<org.apache.airavata.model.application.io.InputDataObjectType> experimentInputs) {
     this.experimentInputs = experimentInputs;
+    return this;
   }
 
   public void unsetExperimentInputs() {
@@ -731,8 +759,9 @@ public class ExperimentModel implements org.apache.thrift.TBase<ExperimentModel,
     return this.experimentOutputs;
   }
 
-  public void setExperimentOutputs(List<org.apache.airavata.model.application.io.OutputDataObjectType> experimentOutputs) {
+  public ExperimentModel setExperimentOutputs(List<org.apache.airavata.model.application.io.OutputDataObjectType> experimentOutputs) {
     this.experimentOutputs = experimentOutputs;
+    return this;
   }
 
   public void unsetExperimentOutputs() {
@@ -754,8 +783,9 @@ public class ExperimentModel implements org.apache.thrift.TBase<ExperimentModel,
     return this.experimentStatus;
   }
 
-  public void setExperimentStatus(org.apache.airavata.model.status.ExperimentStatus experimentStatus) {
+  public ExperimentModel setExperimentStatus(org.apache.airavata.model.status.ExperimentStatus experimentStatus) {
     this.experimentStatus = experimentStatus;
+    return this;
   }
 
   public void unsetExperimentStatus() {
@@ -792,8 +822,9 @@ public class ExperimentModel implements org.apache.thrift.TBase<ExperimentModel,
     return this.errors;
   }
 
-  public void setErrors(List<org.apache.airavata.model.commons.ErrorModel> errors) {
+  public ExperimentModel setErrors(List<org.apache.airavata.model.commons.ErrorModel> errors) {
     this.errors = errors;
+    return this;
   }
 
   public void unsetErrors() {
@@ -829,6 +860,14 @@ public class ExperimentModel implements org.apache.thrift.TBase<ExperimentModel,
       }
       break;
 
+    case GATEWAY_ID:
+      if (value == null) {
+        unsetGatewayId();
+      } else {
+        setGatewayId((String)value);
+      }
+      break;
+
     case EXPERIMENT_TYPE:
       if (value == null) {
         unsetExperimentType();
@@ -952,6 +991,9 @@ public class ExperimentModel implements org.apache.thrift.TBase<ExperimentModel,
     case PROJECT_ID:
       return getProjectId();
 
+    case GATEWAY_ID:
+      return getGatewayId();
+
     case EXPERIMENT_TYPE:
       return getExperimentType();
 
@@ -1009,6 +1051,8 @@ public class ExperimentModel implements org.apache.thrift.TBase<ExperimentModel,
       return isSetExperimentId();
     case PROJECT_ID:
       return isSetProjectId();
+    case GATEWAY_ID:
+      return isSetGatewayId();
     case EXPERIMENT_TYPE:
       return isSetExperimentType();
     case USER_NAME:
@@ -1072,6 +1116,15 @@ public class ExperimentModel implements org.apache.thrift.TBase<ExperimentModel,
         return false;
     }
 
+    boolean this_present_gatewayId = true && this.isSetGatewayId();
+    boolean that_present_gatewayId = true && that.isSetGatewayId();
+    if (this_present_gatewayId || that_present_gatewayId) {
+      if (!(this_present_gatewayId && that_present_gatewayId))
+        return false;
+      if (!this.gatewayId.equals(that.gatewayId))
+        return false;
+    }
+
     boolean this_present_experimentType = true && this.isSetExperimentType();
     boolean that_present_experimentType = true && that.isSetExperimentType();
     if (this_present_experimentType || that_present_experimentType) {
@@ -1215,6 +1268,11 @@ public class ExperimentModel implements org.apache.thrift.TBase<ExperimentModel,
     if (present_projectId)
       list.add(projectId);
 
+    boolean present_gatewayId = true && (isSetGatewayId());
+    list.add(present_gatewayId);
+    if (present_gatewayId)
+      list.add(gatewayId);
+
     boolean present_experimentType = true && (isSetExperimentType());
     list.add(present_experimentType);
     if (present_experimentType)
@@ -1316,6 +1374,16 @@ public class ExperimentModel implements org.apache.thrift.TBase<ExperimentModel,
         return lastComparison;
       }
     }
+    lastComparison = Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetGatewayId()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gatewayId, other.gatewayId);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
     lastComparison = Boolean.valueOf(isSetExperimentType()).compareTo(other.isSetExperimentType());
     if (lastComparison != 0) {
       return lastComparison;
@@ -1463,11 +1531,11 @@ public class ExperimentModel implements org.apache.thrift.TBase<ExperimentModel,
     return _Fields.findByThriftId(fieldId);
   }
 
-  public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+  public void read(org.apache.thrift.protocol.TProtocol iprot) throws TException {
     schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
   }
 
-  public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+  public void write(org.apache.thrift.protocol.TProtocol oprot) throws TException {
     schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
   }
 
@@ -1492,6 +1560,14 @@ public class ExperimentModel implements org.apache.thrift.TBase<ExperimentModel,
     }
     first = false;
     if (!first) sb.append(", ");
+    sb.append("gatewayId:");
+    if (this.gatewayId == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.gatewayId);
+    }
+    first = false;
+    if (!first) sb.append(", ");
     sb.append("experimentType:");
     if (this.experimentType == null) {
       sb.append("null");
@@ -1621,28 +1697,26 @@ public class ExperimentModel implements org.apache.thrift.TBase<ExperimentModel,
     return sb.toString();
   }
 
-  public void validate() throws org.apache.thrift.TException {
+  public void validate() throws TException {
     // check for required fields
-    if (!isSetExperimentId()) {
-      throw new org.apache.thrift.protocol.TProtocolException("Required field 'experimentId' is unset! Struct:" + toString());
+    if (experimentId == null) {
+      throw new TProtocolException("Required field 'experimentId' was not present! Struct: " + toString());
     }
-
-    if (!isSetProjectId()) {
-      throw new org.apache.thrift.protocol.TProtocolException("Required field 'projectId' is unset! Struct:" + toString());
+    if (projectId == null) {
+      throw new TProtocolException("Required field 'projectId' was not present! Struct: " + toString());
     }
-
-    if (!isSetExperimentType()) {
-      throw new org.apache.thrift.protocol.TProtocolException("Required field 'experimentType' is unset! Struct:" + toString());
+    if (gatewayId == null) {
+      throw new TProtocolException("Required field 'gatewayId' was not present! Struct: " + toString());
     }
-
-    if (!isSetUserName()) {
-      throw new org.apache.thrift.protocol.TProtocolException("Required field 'userName' is unset! Struct:" + toString());
+    if (experimentType == null) {
+      throw new TProtocolException("Required field 'experimentType' was not present! Struct: " + toString());
     }
-
-    if (!isSetExperimentName()) {
-      throw new org.apache.thrift.protocol.TProtocolException("Required field 'experimentName' is unset! Struct:" + toString());
+    if (userName == null) {
+      throw new TProtocolException("Required field 'userName' was not present! Struct: " + toString());
+    }
+    if (experimentName == null) {
+      throw new TProtocolException("Required field 'experimentName' was not present! Struct: " + toString());
     }
-
     // check for sub-struct validity
     if (userConfigurationData != null) {
       userConfigurationData.validate();
@@ -1655,7 +1729,7 @@ public class ExperimentModel implements org.apache.thrift.TBase<ExperimentModel,
   private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
     try {
       write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
-    } catch (org.apache.thrift.TException te) {
+    } catch (TException te) {
       throw new java.io.IOException(te);
     }
   }
@@ -1665,7 +1739,7 @@ public class ExperimentModel implements org.apache.thrift.TBase<ExperimentModel,
       // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
       __isset_bitfield = 0;
       read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
-    } catch (org.apache.thrift.TException te) {
+    } catch (TException te) {
       throw new java.io.IOException(te);
     }
   }
@@ -1678,7 +1752,7 @@ public class ExperimentModel implements org.apache.thrift.TBase<ExperimentModel,
 
   private static class ExperimentModelStandardScheme extends StandardScheme<ExperimentModel> {
 
-    public void read(org.apache.thrift.protocol.TProtocol iprot, ExperimentModel struct) throws org.apache.thrift.TException {
+    public void read(org.apache.thrift.protocol.TProtocol iprot, ExperimentModel struct) throws TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
       while (true)
@@ -1704,15 +1778,23 @@ public class ExperimentModel implements org.apache.thrift.TBase<ExperimentModel,
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 3: // EXPERIMENT_TYPE
+          case 3: // GATEWAY_ID
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.gatewayId = iprot.readString();
+              struct.setGatewayIdIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 4: // EXPERIMENT_TYPE
             if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
-              struct.experimentType = org.apache.airavata.model.experiment.ExperimentType.findByValue(iprot.readI32());
+              struct.experimentType = ExperimentType.findByValue(iprot.readI32());
               struct.setExperimentTypeIsSet(true);
             } else { 
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 4: // USER_NAME
+          case 5: // USER_NAME
             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
               struct.userName = iprot.readString();
               struct.setUserNameIsSet(true);
@@ -1720,7 +1802,7 @@ public class ExperimentModel implements org.apache.thrift.TBase<ExperimentModel,
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 5: // EXPERIMENT_NAME
+          case 6: // EXPERIMENT_NAME
             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
               struct.experimentName = iprot.readString();
               struct.setExperimentNameIsSet(true);
@@ -1728,7 +1810,7 @@ public class ExperimentModel implements org.apache.thrift.TBase<ExperimentModel,
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 6: // CREATION_TIME
+          case 7: // CREATION_TIME
             if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
               struct.creationTime = iprot.readI64();
               struct.setCreationTimeIsSet(true);
@@ -1736,7 +1818,7 @@ public class ExperimentModel implements org.apache.thrift.TBase<ExperimentModel,
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 7: // DESCRIPTION
+          case 8: // DESCRIPTION
             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
               struct.description = iprot.readString();
               struct.setDescriptionIsSet(true);
@@ -1744,7 +1826,7 @@ public class ExperimentModel implements org.apache.thrift.TBase<ExperimentModel,
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 8: // EXECUTION_ID
+          case 9: // EXECUTION_ID
             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
               struct.executionId = iprot.readString();
               struct.setExecutionIdIsSet(true);
@@ -1752,7 +1834,7 @@ public class ExperimentModel implements org.apache.thrift.TBase<ExperimentModel,
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 9: // GATEWAY_EXECUTION_ID
+          case 10: // GATEWAY_EXECUTION_ID
             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
               struct.gatewayExecutionId = iprot.readString();
               struct.setGatewayExecutionIdIsSet(true);
@@ -1760,7 +1842,7 @@ public class ExperimentModel implements org.apache.thrift.TBase<ExperimentModel,
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 10: // ENABLE_EMAIL_NOTIFICATION
+          case 11: // ENABLE_EMAIL_NOTIFICATION
             if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
               struct.enableEmailNotification = iprot.readBool();
               struct.setEnableEmailNotificationIsSet(true);
@@ -1768,7 +1850,7 @@ public class ExperimentModel implements org.apache.thrift.TBase<ExperimentModel,
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 11: // EMAIL_ADDRESSES
+          case 12: // EMAIL_ADDRESSES
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
                 org.apache.thrift.protocol.TList _list0 = iprot.readListBegin();
@@ -1786,7 +1868,7 @@ public class ExperimentModel implements org.apache.thrift.TBase<ExperimentModel,
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 12: // USER_CONFIGURATION_DATA
+          case 13: // USER_CONFIGURATION_DATA
             if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
               struct.userConfigurationData = new UserConfigurationDataModel();
               struct.userConfigurationData.read(iprot);
@@ -1795,7 +1877,7 @@ public class ExperimentModel implements org.apache.thrift.TBase<ExperimentModel,
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 13: // EXPERIMENT_INPUTS
+          case 14: // EXPERIMENT_INPUTS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
                 org.apache.thrift.protocol.TList _list3 = iprot.readListBegin();
@@ -1814,7 +1896,7 @@ public class ExperimentModel implements org.apache.thrift.TBase<ExperimentModel,
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 14: // EXPERIMENT_OUTPUTS
+          case 15: // EXPERIMENT_OUTPUTS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
                 org.apache.thrift.protocol.TList _list6 = iprot.readListBegin();
@@ -1833,7 +1915,7 @@ public class ExperimentModel implements org.apache.thrift.TBase<ExperimentModel,
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 15: // EXPERIMENT_STATUS
+          case 16: // EXPERIMENT_STATUS
             if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
               struct.experimentStatus = new org.apache.airavata.model.status.ExperimentStatus();
               struct.experimentStatus.read(iprot);
@@ -1842,7 +1924,7 @@ public class ExperimentModel implements org.apache.thrift.TBase<ExperimentModel,
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 16: // ERRORS
+          case 17: // ERRORS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
                 org.apache.thrift.protocol.TList _list9 = iprot.readListBegin();
@@ -1867,10 +1949,12 @@ public class ExperimentModel implements org.apache.thrift.TBase<ExperimentModel,
         iprot.readFieldEnd();
       }
       iprot.readStructEnd();
+
+      // check for required fields of primitive type, which can't be checked in the validate method
       struct.validate();
     }
 
-    public void write(org.apache.thrift.protocol.TProtocol oprot, ExperimentModel struct) throws org.apache.thrift.TException {
+    public void write(org.apache.thrift.protocol.TProtocol oprot, ExperimentModel struct) throws TException {
       struct.validate();
 
       oprot.writeStructBegin(STRUCT_DESC);
@@ -1884,6 +1968,11 @@ public class ExperimentModel implements org.apache.thrift.TBase<ExperimentModel,
         oprot.writeString(struct.projectId);
         oprot.writeFieldEnd();
       }
+      if (struct.gatewayId != null) {
+        oprot.writeFieldBegin(GATEWAY_ID_FIELD_DESC);
+        oprot.writeString(struct.gatewayId);
+        oprot.writeFieldEnd();
+      }
       if (struct.experimentType != null) {
         oprot.writeFieldBegin(EXPERIMENT_TYPE_FIELD_DESC);
         oprot.writeI32(struct.experimentType.getValue());
@@ -2015,10 +2104,11 @@ public class ExperimentModel implements org.apache.thrift.TBase<ExperimentModel,
   private static class ExperimentModelTupleScheme extends TupleScheme<ExperimentModel> {
 
     @Override
-    public void write(org.apache.thrift.protocol.TProtocol prot, ExperimentModel struct) throws org.apache.thrift.TException {
+    public void write(org.apache.thrift.protocol.TProtocol prot, ExperimentModel struct) throws TException {
       TTupleProtocol oprot = (TTupleProtocol) prot;
       oprot.writeString(struct.experimentId);
       oprot.writeString(struct.projectId);
+      oprot.writeString(struct.gatewayId);
       oprot.writeI32(struct.experimentType.getValue());
       oprot.writeString(struct.userName);
       oprot.writeString(struct.experimentName);
@@ -2117,13 +2207,15 @@ public class ExperimentModel implements org.apache.thrift.TBase<ExperimentModel,
     }
 
     @Override
-    public void read(org.apache.thrift.protocol.TProtocol prot, ExperimentModel struct) throws org.apache.thrift.TException {
+    public void read(org.apache.thrift.protocol.TProtocol prot, ExperimentModel struct) throws TException {
       TTupleProtocol iprot = (TTupleProtocol) prot;
       struct.experimentId = iprot.readString();
       struct.setExperimentIdIsSet(true);
       struct.projectId = iprot.readString();
       struct.setProjectIdIsSet(true);
-      struct.experimentType = org.apache.airavata.model.experiment.ExperimentType.findByValue(iprot.readI32());
+      struct.gatewayId = iprot.readString();
+      struct.setGatewayIdIsSet(true);
+      struct.experimentType = ExperimentType.findByValue(iprot.readI32());
       struct.setExperimentTypeIsSet(true);
       struct.userName = iprot.readString();
       struct.setUserNameIsSet(true);

http://git-wip-us.apache.org/repos/asf/airavata/blob/993f29a5/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentSummaryModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentSummaryModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentSummaryModel.java
index 297820b..64918ff 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentSummaryModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentSummaryModel.java
@@ -1,21 +1,4 @@
 /**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
  * Autogenerated by Thrift Compiler (0.9.2)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
@@ -23,46 +6,33 @@
  */
 package org.apache.airavata.model.experiment;
 
+import org.apache.thrift.EncodingUtils;
+import org.apache.thrift.TException;
+import org.apache.thrift.protocol.TProtocolException;
+import org.apache.thrift.protocol.TTupleProtocol;
 import org.apache.thrift.scheme.IScheme;
 import org.apache.thrift.scheme.SchemeFactory;
 import org.apache.thrift.scheme.StandardScheme;
-
 import org.apache.thrift.scheme.TupleScheme;
-import org.apache.thrift.protocol.TTupleProtocol;
-import org.apache.thrift.protocol.TProtocolException;
-import org.apache.thrift.EncodingUtils;
-import org.apache.thrift.TException;
-import org.apache.thrift.async.AsyncMethodCallback;
-import org.apache.thrift.server.AbstractNonblockingServer.*;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.EnumMap;
-import java.util.Set;
-import java.util.HashSet;
-import java.util.EnumSet;
-import java.util.Collections;
-import java.util.BitSet;
-import java.nio.ByteBuffer;
-import java.util.Arrays;
+
 import javax.annotation.Generated;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import java.util.*;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-6-18")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-6-22")
 public class ExperimentSummaryModel implements org.apache.thrift.TBase<ExperimentSummaryModel, ExperimentSummaryModel._Fields>, java.io.Serializable, Cloneable, Comparable<ExperimentSummaryModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ExperimentSummaryModel");
 
   private static final org.apache.thrift.protocol.TField EXPERIMENT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("experimentId", org.apache.thrift.protocol.TType.STRING, (short)1);
   private static final org.apache.thrift.protocol.TField PROJECT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("projectId", org.apache.thrift.protocol.TType.STRING, (short)2);
-  private static final org.apache.thrift.protocol.TField CREATION_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("creationTime", org.apache.thrift.protocol.TType.I64, (short)3);
-  private static final org.apache.thrift.protocol.TField USER_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("userName", org.apache.thrift.protocol.TType.STRING, (short)4);
-  private static final org.apache.thrift.protocol.TField NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("name", org.apache.thrift.protocol.TType.STRING, (short)5);
-  private static final org.apache.thrift.protocol.TField DESCRIPTION_FIELD_DESC = new org.apache.thrift.protocol.TField("description", org.apache.thrift.protocol.TType.STRING, (short)6);
-  private static final org.apache.thrift.protocol.TField APPLICATION_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("applicationId", org.apache.thrift.protocol.TType.STRING, (short)7);
-  private static final org.apache.thrift.protocol.TField EXPERIMENT_STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("experimentStatus", org.apache.thrift.protocol.TType.STRUCT, (short)8);
+  private static final org.apache.thrift.protocol.TField GATEWAY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayId", org.apache.thrift.protocol.TType.STRING, (short)3);
+  private static final org.apache.thrift.protocol.TField CREATION_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("creationTime", org.apache.thrift.protocol.TType.I64, (short)4);
+  private static final org.apache.thrift.protocol.TField USER_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("userName", org.apache.thrift.protocol.TType.STRING, (short)5);
+  private static final org.apache.thrift.protocol.TField NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("name", org.apache.thrift.protocol.TType.STRING, (short)6);
+  private static final org.apache.thrift.protocol.TField DESCRIPTION_FIELD_DESC = new org.apache.thrift.protocol.TField("description", org.apache.thrift.protocol.TType.STRING, (short)7);
+  private static final org.apache.thrift.protocol.TField EXECUTION_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("executionId", org.apache.thrift.protocol.TType.STRING, (short)8);
+  private static final org.apache.thrift.protocol.TField EXPERIMENT_STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("experimentStatus", org.apache.thrift.protocol.TType.STRING, (short)9);
+  private static final org.apache.thrift.protocol.TField STATUS_UPDATE_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("statusUpdateTime", org.apache.thrift.protocol.TType.I64, (short)10);
 
   private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
   static {
@@ -70,25 +40,29 @@ public class ExperimentSummaryModel implements org.apache.thrift.TBase<Experimen
     schemes.put(TupleScheme.class, new ExperimentSummaryModelTupleSchemeFactory());
   }
 
-  private String experimentId; // required
-  private String projectId; // required
-  private long creationTime; // optional
-  private String userName; // required
-  private String name; // required
-  private String description; // optional
-  private String applicationId; // optional
-  private org.apache.airavata.model.status.ExperimentStatus experimentStatus; // optional
+  public String experimentId; // required
+  public String projectId; // required
+  public String gatewayId; // required
+  public long creationTime; // optional
+  public String userName; // required
+  public String name; // required
+  public String description; // optional
+  public String executionId; // optional
+  public String experimentStatus; // optional
+  public long statusUpdateTime; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
     EXPERIMENT_ID((short)1, "experimentId"),
     PROJECT_ID((short)2, "projectId"),
-    CREATION_TIME((short)3, "creationTime"),
-    USER_NAME((short)4, "userName"),
-    NAME((short)5, "name"),
-    DESCRIPTION((short)6, "description"),
-    APPLICATION_ID((short)7, "applicationId"),
-    EXPERIMENT_STATUS((short)8, "experimentStatus");
+    GATEWAY_ID((short)3, "gatewayId"),
+    CREATION_TIME((short)4, "creationTime"),
+    USER_NAME((short)5, "userName"),
+    NAME((short)6, "name"),
+    DESCRIPTION((short)7, "description"),
+    EXECUTION_ID((short)8, "executionId"),
+    EXPERIMENT_STATUS((short)9, "experimentStatus"),
+    STATUS_UPDATE_TIME((short)10, "statusUpdateTime");
 
     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -107,18 +81,22 @@ public class ExperimentSummaryModel implements org.apache.thrift.TBase<Experimen
           return EXPERIMENT_ID;
         case 2: // PROJECT_ID
           return PROJECT_ID;
-        case 3: // CREATION_TIME
+        case 3: // GATEWAY_ID
+          return GATEWAY_ID;
+        case 4: // CREATION_TIME
           return CREATION_TIME;
-        case 4: // USER_NAME
+        case 5: // USER_NAME
           return USER_NAME;
-        case 5: // NAME
+        case 6: // NAME
           return NAME;
-        case 6: // DESCRIPTION
+        case 7: // DESCRIPTION
           return DESCRIPTION;
-        case 7: // APPLICATION_ID
-          return APPLICATION_ID;
-        case 8: // EXPERIMENT_STATUS
+        case 8: // EXECUTION_ID
+          return EXECUTION_ID;
+        case 9: // EXPERIMENT_STATUS
           return EXPERIMENT_STATUS;
+        case 10: // STATUS_UPDATE_TIME
+          return STATUS_UPDATE_TIME;
         default:
           return null;
       }
@@ -160,8 +138,9 @@ public class ExperimentSummaryModel implements org.apache.thrift.TBase<Experimen
 
   // isset id assignments
   private static final int __CREATIONTIME_ISSET_ID = 0;
+  private static final int __STATUSUPDATETIME_ISSET_ID = 1;
   private byte __isset_bitfield = 0;
-  private static final _Fields optionals[] = {_Fields.CREATION_TIME,_Fields.DESCRIPTION,_Fields.APPLICATION_ID,_Fields.EXPERIMENT_STATUS};
+  private static final _Fields optionals[] = {_Fields.CREATION_TIME,_Fields.DESCRIPTION,_Fields.EXECUTION_ID,_Fields.EXPERIMENT_STATUS,_Fields.STATUS_UPDATE_TIME};
   public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
   static {
     Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
@@ -169,6 +148,8 @@ public class ExperimentSummaryModel implements org.apache.thrift.TBase<Experimen
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     tmpMap.put(_Fields.PROJECT_ID, new org.apache.thrift.meta_data.FieldMetaData("projectId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.GATEWAY_ID, new org.apache.thrift.meta_data.FieldMetaData("gatewayId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     tmpMap.put(_Fields.CREATION_TIME, new org.apache.thrift.meta_data.FieldMetaData("creationTime", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
     tmpMap.put(_Fields.USER_NAME, new org.apache.thrift.meta_data.FieldMetaData("userName", org.apache.thrift.TFieldRequirementType.REQUIRED, 
@@ -177,10 +158,12 @@ public class ExperimentSummaryModel implements org.apache.thrift.TBase<Experimen
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     tmpMap.put(_Fields.DESCRIPTION, new org.apache.thrift.meta_data.FieldMetaData("description", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.APPLICATION_ID, new org.apache.thrift.meta_data.FieldMetaData("applicationId", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+    tmpMap.put(_Fields.EXECUTION_ID, new org.apache.thrift.meta_data.FieldMetaData("executionId", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     tmpMap.put(_Fields.EXPERIMENT_STATUS, new org.apache.thrift.meta_data.FieldMetaData("experimentStatus", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.status.ExperimentStatus.class)));
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.STATUS_UPDATE_TIME, new org.apache.thrift.meta_data.FieldMetaData("statusUpdateTime", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
     metaDataMap = Collections.unmodifiableMap(tmpMap);
     org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ExperimentSummaryModel.class, metaDataMap);
   }
@@ -191,12 +174,14 @@ public class ExperimentSummaryModel implements org.apache.thrift.TBase<Experimen
   public ExperimentSummaryModel(
     String experimentId,
     String projectId,
+    String gatewayId,
     String userName,
     String name)
   {
     this();
     this.experimentId = experimentId;
     this.projectId = projectId;
+    this.gatewayId = gatewayId;
     this.userName = userName;
     this.name = name;
   }
@@ -212,6 +197,9 @@ public class ExperimentSummaryModel implements org.apache.thrift.TBase<Experimen
     if (other.isSetProjectId()) {
       this.projectId = other.projectId;
     }
+    if (other.isSetGatewayId()) {
+      this.gatewayId = other.gatewayId;
+    }
     this.creationTime = other.creationTime;
     if (other.isSetUserName()) {
       this.userName = other.userName;
@@ -222,12 +210,13 @@ public class ExperimentSummaryModel implements org.apache.thrift.TBase<Experimen
     if (other.isSetDescription()) {
       this.description = other.description;
     }
-    if (other.isSetApplicationId()) {
-      this.applicationId = other.applicationId;
+    if (other.isSetExecutionId()) {
+      this.executionId = other.executionId;
     }
     if (other.isSetExperimentStatus()) {
-      this.experimentStatus = new org.apache.airavata.model.status.ExperimentStatus(other.experimentStatus);
+      this.experimentStatus = other.experimentStatus;
     }
+    this.statusUpdateTime = other.statusUpdateTime;
   }
 
   public ExperimentSummaryModel deepCopy() {
@@ -238,21 +227,25 @@ public class ExperimentSummaryModel implements org.apache.thrift.TBase<Experimen
   public void clear() {
     this.experimentId = null;
     this.projectId = null;
+    this.gatewayId = null;
     setCreationTimeIsSet(false);
     this.creationTime = 0;
     this.userName = null;
     this.name = null;
     this.description = null;
-    this.applicationId = null;
+    this.executionId = null;
     this.experimentStatus = null;
+    setStatusUpdateTimeIsSet(false);
+    this.statusUpdateTime = 0;
   }
 
   public String getExperimentId() {
     return this.experimentId;
   }
 
-  public void setExperimentId(String experimentId) {
+  public ExperimentSummaryModel setExperimentId(String experimentId) {
     this.experimentId = experimentId;
+    return this;
   }
 
   public void unsetExperimentId() {
@@ -274,8 +267,9 @@ public class ExperimentSummaryModel implements org.apache.thrift.TBase<Experimen
     return this.projectId;
   }
 
-  public void setProjectId(String projectId) {
+  public ExperimentSummaryModel setProjectId(String projectId) {
     this.projectId = projectId;
+    return this;
   }
 
   public void unsetProjectId() {
@@ -293,13 +287,38 @@ public class ExperimentSummaryModel implements org.apache.thrift.TBase<Experimen
     }
   }
 
+  public String getGatewayId() {
+    return this.gatewayId;
+  }
+
+  public ExperimentSummaryModel setGatewayId(String gatewayId) {
+    this.gatewayId = gatewayId;
+    return this;
+  }
+
+  public void unsetGatewayId() {
+    this.gatewayId = null;
+  }
+
+  /** Returns true if field gatewayId is set (has been assigned a value) and false otherwise */
+  public boolean isSetGatewayId() {
+    return this.gatewayId != null;
+  }
+
+  public void setGatewayIdIsSet(boolean value) {
+    if (!value) {
+      this.gatewayId = null;
+    }
+  }
+
   public long getCreationTime() {
     return this.creationTime;
   }
 
-  public void setCreationTime(long creationTime) {
+  public ExperimentSummaryModel setCreationTime(long creationTime) {
     this.creationTime = creationTime;
     setCreationTimeIsSet(true);
+    return this;
   }
 
   public void unsetCreationTime() {
@@ -319,8 +338,9 @@ public class ExperimentSummaryModel implements org.apache.thrift.TBase<Experimen
     return this.userName;
   }
 
-  public void setUserName(String userName) {
+  public ExperimentSummaryModel setUserName(String userName) {
     this.userName = userName;
+    return this;
   }
 
   public void unsetUserName() {
@@ -342,8 +362,9 @@ public class ExperimentSummaryModel implements org.apache.thrift.TBase<Experimen
     return this.name;
   }
 
-  public void setName(String name) {
+  public ExperimentSummaryModel setName(String name) {
     this.name = name;
+    return this;
   }
 
   public void unsetName() {
@@ -365,8 +386,9 @@ public class ExperimentSummaryModel implements org.apache.thrift.TBase<Experimen
     return this.description;
   }
 
-  public void setDescription(String description) {
+  public ExperimentSummaryModel setDescription(String description) {
     this.description = description;
+    return this;
   }
 
   public void unsetDescription() {
@@ -384,35 +406,37 @@ public class ExperimentSummaryModel implements org.apache.thrift.TBase<Experimen
     }
   }
 
-  public String getApplicationId() {
-    return this.applicationId;
+  public String getExecutionId() {
+    return this.executionId;
   }
 
-  public void setApplicationId(String applicationId) {
-    this.applicationId = applicationId;
+  public ExperimentSummaryModel setExecutionId(String executionId) {
+    this.executionId = executionId;
+    return this;
   }
 
-  public void unsetApplicationId() {
-    this.applicationId = null;
+  public void unsetExecutionId() {
+    this.executionId = null;
   }
 
-  /** Returns true if field applicationId is set (has been assigned a value) and false otherwise */
-  public boolean isSetApplicationId() {
-    return this.applicationId != null;
+  /** Returns true if field executionId is set (has been assigned a value) and false otherwise */
+  public boolean isSetExecutionId() {
+    return this.executionId != null;
   }
 
-  public void setApplicationIdIsSet(boolean value) {
+  public void setExecutionIdIsSet(boolean value) {
     if (!value) {
-      this.applicationId = null;
+      this.executionId = null;
     }
   }
 
-  public org.apache.airavata.model.status.ExperimentStatus getExperimentStatus() {
+  public String getExperimentStatus() {
     return this.experimentStatus;
   }
 
-  public void setExperimentStatus(org.apache.airavata.model.status.ExperimentStatus experimentStatus) {
+  public ExperimentSummaryModel setExperimentStatus(String experimentStatus) {
     this.experimentStatus = experimentStatus;
+    return this;
   }
 
   public void unsetExperimentStatus() {
@@ -430,6 +454,29 @@ public class ExperimentSummaryModel implements org.apache.thrift.TBase<Experimen
     }
   }
 
+  public long getStatusUpdateTime() {
+    return this.statusUpdateTime;
+  }
+
+  public ExperimentSummaryModel setStatusUpdateTime(long statusUpdateTime) {
+    this.statusUpdateTime = statusUpdateTime;
+    setStatusUpdateTimeIsSet(true);
+    return this;
+  }
+
+  public void unsetStatusUpdateTime() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __STATUSUPDATETIME_ISSET_ID);
+  }
+
+  /** Returns true if field statusUpdateTime is set (has been assigned a value) and false otherwise */
+  public boolean isSetStatusUpdateTime() {
+    return EncodingUtils.testBit(__isset_bitfield, __STATUSUPDATETIME_ISSET_ID);
+  }
+
+  public void setStatusUpdateTimeIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __STATUSUPDATETIME_ISSET_ID, value);
+  }
+
   public void setFieldValue(_Fields field, Object value) {
     switch (field) {
     case EXPERIMENT_ID:
@@ -448,6 +495,14 @@ public class ExperimentSummaryModel implements org.apache.thrift.TBase<Experimen
       }
       break;
 
+    case GATEWAY_ID:
+      if (value == null) {
+        unsetGatewayId();
+      } else {
+        setGatewayId((String)value);
+      }
+      break;
+
     case CREATION_TIME:
       if (value == null) {
         unsetCreationTime();
@@ -480,11 +535,11 @@ public class ExperimentSummaryModel implements org.apache.thrift.TBase<Experimen
       }
       break;
 
-    case APPLICATION_ID:
+    case EXECUTION_ID:
       if (value == null) {
-        unsetApplicationId();
+        unsetExecutionId();
       } else {
-        setApplicationId((String)value);
+        setExecutionId((String)value);
       }
       break;
 
@@ -492,7 +547,15 @@ public class ExperimentSummaryModel implements org.apache.thrift.TBase<Experimen
       if (value == null) {
         unsetExperimentStatus();
       } else {
-        setExperimentStatus((org.apache.airavata.model.status.ExperimentStatus)value);
+        setExperimentStatus((String)value);
+      }
+      break;
+
+    case STATUS_UPDATE_TIME:
+      if (value == null) {
+        unsetStatusUpdateTime();
+      } else {
+        setStatusUpdateTime((Long)value);
       }
       break;
 
@@ -507,6 +570,9 @@ public class ExperimentSummaryModel implements org.apache.thrift.TBase<Experimen
     case PROJECT_ID:
       return getProjectId();
 
+    case GATEWAY_ID:
+      return getGatewayId();
+
     case CREATION_TIME:
       return Long.valueOf(getCreationTime());
 
@@ -519,12 +585,15 @@ public class ExperimentSummaryModel implements org.apache.thrift.TBase<Experimen
     case DESCRIPTION:
       return getDescription();
 
-    case APPLICATION_ID:
-      return getApplicationId();
+    case EXECUTION_ID:
+      return getExecutionId();
 
     case EXPERIMENT_STATUS:
       return getExperimentStatus();
 
+    case STATUS_UPDATE_TIME:
+      return Long.valueOf(getStatusUpdateTime());
+
     }
     throw new IllegalStateException();
   }
@@ -540,6 +609,8 @@ public class ExperimentSummaryModel implements org.apache.thrift.TBase<Experimen
       return isSetExperimentId();
     case PROJECT_ID:
       return isSetProjectId();
+    case GATEWAY_ID:
+      return isSetGatewayId();
     case CREATION_TIME:
       return isSetCreationTime();
     case USER_NAME:
@@ -548,10 +619,12 @@ public class ExperimentSummaryModel implements org.apache.thrift.TBase<Experimen
       return isSetName();
     case DESCRIPTION:
       return isSetDescription();
-    case APPLICATION_ID:
-      return isSetApplicationId();
+    case EXECUTION_ID:
+      return isSetExecutionId();
     case EXPERIMENT_STATUS:
       return isSetExperimentStatus();
+    case STATUS_UPDATE_TIME:
+      return isSetStatusUpdateTime();
     }
     throw new IllegalStateException();
   }
@@ -587,6 +660,15 @@ public class ExperimentSummaryModel implements org.apache.thrift.TBase<Experimen
         return false;
     }
 
+    boolean this_present_gatewayId = true && this.isSetGatewayId();
+    boolean that_present_gatewayId = true && that.isSetGatewayId();
+    if (this_present_gatewayId || that_present_gatewayId) {
+      if (!(this_present_gatewayId && that_present_gatewayId))
+        return false;
+      if (!this.gatewayId.equals(that.gatewayId))
+        return false;
+    }
+
     boolean this_present_creationTime = true && this.isSetCreationTime();
     boolean that_present_creationTime = true && that.isSetCreationTime();
     if (this_present_creationTime || that_present_creationTime) {
@@ -623,12 +705,12 @@ public class ExperimentSummaryModel implements org.apache.thrift.TBase<Experimen
         return false;
     }
 
-    boolean this_present_applicationId = true && this.isSetApplicationId();
-    boolean that_present_applicationId = true && that.isSetApplicationId();
-    if (this_present_applicationId || that_present_applicationId) {
-      if (!(this_present_applicationId && that_present_applicationId))
+    boolean this_present_executionId = true && this.isSetExecutionId();
+    boolean that_present_executionId = true && that.isSetExecutionId();
+    if (this_present_executionId || that_present_executionId) {
+      if (!(this_present_executionId && that_present_executionId))
         return false;
-      if (!this.applicationId.equals(that.applicationId))
+      if (!this.executionId.equals(that.executionId))
         return false;
     }
 
@@ -641,6 +723,15 @@ public class ExperimentSummaryModel implements org.apache.thrift.TBase<Experimen
         return false;
     }
 
+    boolean this_present_statusUpdateTime = true && this.isSetStatusUpdateTime();
+    boolean that_present_statusUpdateTime = true && that.isSetStatusUpdateTime();
+    if (this_present_statusUpdateTime || that_present_statusUpdateTime) {
+      if (!(this_present_statusUpdateTime && that_present_statusUpdateTime))
+        return false;
+      if (this.statusUpdateTime != that.statusUpdateTime)
+        return false;
+    }
+
     return true;
   }
 
@@ -658,6 +749,11 @@ public class ExperimentSummaryModel implements org.apache.thrift.TBase<Experimen
     if (present_projectId)
       list.add(projectId);
 
+    boolean present_gatewayId = true && (isSetGatewayId());
+    list.add(present_gatewayId);
+    if (present_gatewayId)
+      list.add(gatewayId);
+
     boolean present_creationTime = true && (isSetCreationTime());
     list.add(present_creationTime);
     if (present_creationTime)
@@ -678,16 +774,21 @@ public class ExperimentSummaryModel implements org.apache.thrift.TBase<Experimen
     if (present_description)
       list.add(description);
 
-    boolean present_applicationId = true && (isSetApplicationId());
-    list.add(present_applicationId);
-    if (present_applicationId)
-      list.add(applicationId);
+    boolean present_executionId = true && (isSetExecutionId());
+    list.add(present_executionId);
+    if (present_executionId)
+      list.add(executionId);
 
     boolean present_experimentStatus = true && (isSetExperimentStatus());
     list.add(present_experimentStatus);
     if (present_experimentStatus)
       list.add(experimentStatus);
 
+    boolean present_statusUpdateTime = true && (isSetStatusUpdateTime());
+    list.add(present_statusUpdateTime);
+    if (present_statusUpdateTime)
+      list.add(statusUpdateTime);
+
     return list.hashCode();
   }
 
@@ -719,6 +820,16 @@ public class ExperimentSummaryModel implements org.apache.thrift.TBase<Experimen
         return lastComparison;
       }
     }
+    lastComparison = Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetGatewayId()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gatewayId, other.gatewayId);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
     lastComparison = Boolean.valueOf(isSetCreationTime()).compareTo(other.isSetCreationTime());
     if (lastComparison != 0) {
       return lastComparison;
@@ -759,12 +870,12 @@ public class ExperimentSummaryModel implements org.apache.thrift.TBase<Experimen
         return lastComparison;
       }
     }
-    lastComparison = Boolean.valueOf(isSetApplicationId()).compareTo(other.isSetApplicationId());
+    lastComparison = Boolean.valueOf(isSetExecutionId()).compareTo(other.isSetExecutionId());
     if (lastComparison != 0) {
       return lastComparison;
     }
-    if (isSetApplicationId()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.applicationId, other.applicationId);
+    if (isSetExecutionId()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.executionId, other.executionId);
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -779,6 +890,16 @@ public class ExperimentSummaryModel implements org.apache.thrift.TBase<Experimen
         return lastComparison;
       }
     }
+    lastComparison = Boolean.valueOf(isSetStatusUpdateTime()).compareTo(other.isSetStatusUpdateTime());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetStatusUpdateTime()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.statusUpdateTime, other.statusUpdateTime);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
     return 0;
   }
 
@@ -786,11 +907,11 @@ public class ExperimentSummaryModel implements org.apache.thrift.TBase<Experimen
     return _Fields.findByThriftId(fieldId);
   }
 
-  public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+  public void read(org.apache.thrift.protocol.TProtocol iprot) throws TException {
     schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
   }
 
-  public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+  public void write(org.apache.thrift.protocol.TProtocol oprot) throws TException {
     schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
   }
 
@@ -814,6 +935,14 @@ public class ExperimentSummaryModel implements org.apache.thrift.TBase<Experimen
       sb.append(this.projectId);
     }
     first = false;
+    if (!first) sb.append(", ");
+    sb.append("gatewayId:");
+    if (this.gatewayId == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.gatewayId);
+    }
+    first = false;
     if (isSetCreationTime()) {
       if (!first) sb.append(", ");
       sb.append("creationTime:");
@@ -846,13 +975,13 @@ public class ExperimentSummaryModel implements org.apache.thrift.TBase<Experimen
       }
       first = false;
     }
-    if (isSetApplicationId()) {
+    if (isSetExecutionId()) {
       if (!first) sb.append(", ");
-      sb.append("applicationId:");
-      if (this.applicationId == null) {
+      sb.append("executionId:");
+      if (this.executionId == null) {
         sb.append("null");
       } else {
-        sb.append(this.applicationId);
+        sb.append(this.executionId);
       }
       first = false;
     }
@@ -866,38 +995,40 @@ public class ExperimentSummaryModel implements org.apache.thrift.TBase<Experimen
       }
       first = false;
     }
+    if (isSetStatusUpdateTime()) {
+      if (!first) sb.append(", ");
+      sb.append("statusUpdateTime:");
+      sb.append(this.statusUpdateTime);
+      first = false;
+    }
     sb.append(")");
     return sb.toString();
   }
 
-  public void validate() throws org.apache.thrift.TException {
+  public void validate() throws TException {
     // check for required fields
-    if (!isSetExperimentId()) {
-      throw new org.apache.thrift.protocol.TProtocolException("Required field 'experimentId' is unset! Struct:" + toString());
+    if (experimentId == null) {
+      throw new TProtocolException("Required field 'experimentId' was not present! Struct: " + toString());
     }
-
-    if (!isSetProjectId()) {
-      throw new org.apache.thrift.protocol.TProtocolException("Required field 'projectId' is unset! Struct:" + toString());
+    if (projectId == null) {
+      throw new TProtocolException("Required field 'projectId' was not present! Struct: " + toString());
     }
-
-    if (!isSetUserName()) {
-      throw new org.apache.thrift.protocol.TProtocolException("Required field 'userName' is unset! Struct:" + toString());
+    if (gatewayId == null) {
+      throw new TProtocolException("Required field 'gatewayId' was not present! Struct: " + toString());
     }
-
-    if (!isSetName()) {
-      throw new org.apache.thrift.protocol.TProtocolException("Required field 'name' is unset! Struct:" + toString());
+    if (userName == null) {
+      throw new TProtocolException("Required field 'userName' was not present! Struct: " + toString());
     }
-
-    // check for sub-struct validity
-    if (experimentStatus != null) {
-      experimentStatus.validate();
+    if (name == null) {
+      throw new TProtocolException("Required field 'name' was not present! Struct: " + toString());
     }
+    // check for sub-struct validity
   }
 
   private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
     try {
       write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
-    } catch (org.apache.thrift.TException te) {
+    } catch (TException te) {
       throw new java.io.IOException(te);
     }
   }
@@ -907,7 +1038,7 @@ public class ExperimentSummaryModel implements org.apache.thrift.TBase<Experimen
       // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
       __isset_bitfield = 0;
       read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
-    } catch (org.apache.thrift.TException te) {
+    } catch (TException te) {
       throw new java.io.IOException(te);
     }
   }
@@ -920,7 +1051,7 @@ public class ExperimentSummaryModel implements org.apache.thrift.TBase<Experimen
 
   private static class ExperimentSummaryModelStandardScheme extends StandardScheme<ExperimentSummaryModel> {
 
-    public void read(org.apache.thrift.protocol.TProtocol iprot, ExperimentSummaryModel struct) throws org.apache.thrift.TException {
+    public void read(org.apache.thrift.protocol.TProtocol iprot, ExperimentSummaryModel struct) throws TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
       while (true)
@@ -946,7 +1077,15 @@ public class ExperimentSummaryModel implements org.apache.thrift.TBase<Experimen
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 3: // CREATION_TIME
+          case 3: // GATEWAY_ID
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.gatewayId = iprot.readString();
+              struct.setGatewayIdIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 4: // CREATION_TIME
             if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
               struct.creationTime = iprot.readI64();
               struct.setCreationTimeIsSet(true);
@@ -954,7 +1093,7 @@ public class ExperimentSummaryModel implements org.apache.thrift.TBase<Experimen
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 4: // USER_NAME
+          case 5: // USER_NAME
             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
               struct.userName = iprot.readString();
               struct.setUserNameIsSet(true);
@@ -962,7 +1101,7 @@ public class ExperimentSummaryModel implements org.apache.thrift.TBase<Experimen
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 5: // NAME
+          case 6: // NAME
             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
               struct.name = iprot.readString();
               struct.setNameIsSet(true);
@@ -970,7 +1109,7 @@ public class ExperimentSummaryModel implements org.apache.thrift.TBase<Experimen
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 6: // DESCRIPTION
+          case 7: // DESCRIPTION
             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
               struct.description = iprot.readString();
               struct.setDescriptionIsSet(true);
@@ -978,33 +1117,42 @@ public class ExperimentSummaryModel implements org.apache.thrift.TBase<Experimen
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 7: // APPLICATION_ID
+          case 8: // EXECUTION_ID
             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.applicationId = iprot.readString();
-              struct.setApplicationIdIsSet(true);
+              struct.executionId = iprot.readString();
+              struct.setExecutionIdIsSet(true);
             } else { 
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 8: // EXPERIMENT_STATUS
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-              struct.experimentStatus = new org.apache.airavata.model.status.ExperimentStatus();
-              struct.experimentStatus.read(iprot);
+          case 9: // EXPERIMENT_STATUS
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.experimentStatus = iprot.readString();
               struct.setExperimentStatusIsSet(true);
             } else { 
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
+          case 10: // STATUS_UPDATE_TIME
+            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
+              struct.statusUpdateTime = iprot.readI64();
+              struct.setStatusUpdateTimeIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
           default:
             org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
         }
         iprot.readFieldEnd();
       }
       iprot.readStructEnd();
+
+      // check for required fields of primitive type, which can't be checked in the validate method
       struct.validate();
     }
 
-    public void write(org.apache.thrift.protocol.TProtocol oprot, ExperimentSummaryModel struct) throws org.apache.thrift.TException {
+    public void write(org.apache.thrift.protocol.TProtocol oprot, ExperimentSummaryModel struct) throws TException {
       struct.validate();
 
       oprot.writeStructBegin(STRUCT_DESC);
@@ -1018,6 +1166,11 @@ public class ExperimentSummaryModel implements org.apache.thrift.TBase<Experimen
         oprot.writeString(struct.projectId);
         oprot.writeFieldEnd();
       }
+      if (struct.gatewayId != null) {
+        oprot.writeFieldBegin(GATEWAY_ID_FIELD_DESC);
+        oprot.writeString(struct.gatewayId);
+        oprot.writeFieldEnd();
+      }
       if (struct.isSetCreationTime()) {
         oprot.writeFieldBegin(CREATION_TIME_FIELD_DESC);
         oprot.writeI64(struct.creationTime);
@@ -1040,20 +1193,25 @@ public class ExperimentSummaryModel implements org.apache.thrift.TBase<Experimen
           oprot.writeFieldEnd();
         }
       }
-      if (struct.applicationId != null) {
-        if (struct.isSetApplicationId()) {
-          oprot.writeFieldBegin(APPLICATION_ID_FIELD_DESC);
-          oprot.writeString(struct.applicationId);
+      if (struct.executionId != null) {
+        if (struct.isSetExecutionId()) {
+          oprot.writeFieldBegin(EXECUTION_ID_FIELD_DESC);
+          oprot.writeString(struct.executionId);
           oprot.writeFieldEnd();
         }
       }
       if (struct.experimentStatus != null) {
         if (struct.isSetExperimentStatus()) {
           oprot.writeFieldBegin(EXPERIMENT_STATUS_FIELD_DESC);
-          struct.experimentStatus.write(oprot);
+          oprot.writeString(struct.experimentStatus);
           oprot.writeFieldEnd();
         }
       }
+      if (struct.isSetStatusUpdateTime()) {
+        oprot.writeFieldBegin(STATUS_UPDATE_TIME_FIELD_DESC);
+        oprot.writeI64(struct.statusUpdateTime);
+        oprot.writeFieldEnd();
+      }
       oprot.writeFieldStop();
       oprot.writeStructEnd();
     }
@@ -1069,10 +1227,11 @@ public class ExperimentSummaryModel implements org.apache.thrift.TBase<Experimen
   private static class ExperimentSummaryModelTupleScheme extends TupleScheme<ExperimentSummaryModel> {
 
     @Override
-    public void write(org.apache.thrift.protocol.TProtocol prot, ExperimentSummaryModel struct) throws org.apache.thrift.TException {
+    public void write(org.apache.thrift.protocol.TProtocol prot, ExperimentSummaryModel struct) throws TException {
       TTupleProtocol oprot = (TTupleProtocol) prot;
       oprot.writeString(struct.experimentId);
       oprot.writeString(struct.projectId);
+      oprot.writeString(struct.gatewayId);
       oprot.writeString(struct.userName);
       oprot.writeString(struct.name);
       BitSet optionals = new BitSet();
@@ -1082,39 +1241,47 @@ public class ExperimentSummaryModel implements org.apache.thrift.TBase<Experimen
       if (struct.isSetDescription()) {
         optionals.set(1);
       }
-      if (struct.isSetApplicationId()) {
+      if (struct.isSetExecutionId()) {
         optionals.set(2);
       }
       if (struct.isSetExperimentStatus()) {
         optionals.set(3);
       }
-      oprot.writeBitSet(optionals, 4);
+      if (struct.isSetStatusUpdateTime()) {
+        optionals.set(4);
+      }
+      oprot.writeBitSet(optionals, 5);
       if (struct.isSetCreationTime()) {
         oprot.writeI64(struct.creationTime);
       }
       if (struct.isSetDescription()) {
         oprot.writeString(struct.description);
       }
-      if (struct.isSetApplicationId()) {
-        oprot.writeString(struct.applicationId);
+      if (struct.isSetExecutionId()) {
+        oprot.writeString(struct.executionId);
       }
       if (struct.isSetExperimentStatus()) {
-        struct.experimentStatus.write(oprot);
+        oprot.writeString(struct.experimentStatus);
+      }
+      if (struct.isSetStatusUpdateTime()) {
+        oprot.writeI64(struct.statusUpdateTime);
       }
     }
 
     @Override
-    public void read(org.apache.thrift.protocol.TProtocol prot, ExperimentSummaryModel struct) throws org.apache.thrift.TException {
+    public void read(org.apache.thrift.protocol.TProtocol prot, ExperimentSummaryModel struct) throws TException {
       TTupleProtocol iprot = (TTupleProtocol) prot;
       struct.experimentId = iprot.readString();
       struct.setExperimentIdIsSet(true);
       struct.projectId = iprot.readString();
       struct.setProjectIdIsSet(true);
+      struct.gatewayId = iprot.readString();
+      struct.setGatewayIdIsSet(true);
       struct.userName = iprot.readString();
       struct.setUserNameIsSet(true);
       struct.name = iprot.readString();
       struct.setNameIsSet(true);
-      BitSet incoming = iprot.readBitSet(4);
+      BitSet incoming = iprot.readBitSet(5);
       if (incoming.get(0)) {
         struct.creationTime = iprot.readI64();
         struct.setCreationTimeIsSet(true);
@@ -1124,14 +1291,17 @@ public class ExperimentSummaryModel implements org.apache.thrift.TBase<Experimen
         struct.setDescriptionIsSet(true);
       }
       if (incoming.get(2)) {
-        struct.applicationId = iprot.readString();
-        struct.setApplicationIdIsSet(true);
+        struct.executionId = iprot.readString();
+        struct.setExecutionIdIsSet(true);
       }
       if (incoming.get(3)) {
-        struct.experimentStatus = new org.apache.airavata.model.status.ExperimentStatus();
-        struct.experimentStatus.read(iprot);
+        struct.experimentStatus = iprot.readString();
         struct.setExperimentStatusIsSet(true);
       }
+      if (incoming.get(4)) {
+        struct.statusUpdateTime = iprot.readI64();
+        struct.setStatusUpdateTimeIsSet(true);
+      }
     }
   }
 


[5/5] airavata git commit: changing GATEWAY_EXECUTION_ID to GATEWAY_ID where appropriate

Posted by sc...@apache.org.
changing GATEWAY_EXECUTION_ID to GATEWAY_ID where appropriate


Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/9ee0df7c
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/9ee0df7c
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/9ee0df7c

Branch: refs/heads/master
Commit: 9ee0df7c1a2f7deac5cd6438a749034cdc4b9f51
Parents: 56d132d
Author: Supun Nakandala <sc...@apache.org>
Authored: Mon Jun 22 21:36:32 2015 +0530
Committer: Supun Nakandala <sc...@apache.org>
Committed: Mon Jun 22 21:36:32 2015 +0530

----------------------------------------------------------------------
 .../core/experiment/catalog/impl/ExperimentRegistry.java  | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/9ee0df7c/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 3918dc6..76dfc31 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
@@ -832,6 +832,8 @@ public class ExperimentRegistry {
                 return ThriftDataModelConversion.getExperiment(resource);
             } else if (fieldName.equals(Constants.FieldConstants.ExperimentConstants.USER_NAME)) {
                 return resource.getUserName();
+            }else if (fieldName.equals(Constants.FieldConstants.ExperimentConstants.GATEWAY_ID)) {
+                return resource.getGatewayId();
             }else if (fieldName.equals(Constants.FieldConstants.ExperimentConstants.GATEWAY_EXECUTION_ID)) {
                 return resource.getGatewayExecutionId();
             } else if (fieldName.equals(Constants.FieldConstants.ExperimentConstants.EXPERIMENT_NAME)) {
@@ -983,7 +985,7 @@ public class ExperimentRegistry {
                     experiments.add(experiment);
                 }
                 return experiments;
-            } else if (fieldName.equals(Constants.FieldConstants.ExperimentConstants.GATEWAY_EXECUTION_ID)) {
+            } else if (fieldName.equals(Constants.FieldConstants.ExperimentConstants.GATEWAY_ID)) {
                 List<ExperimentResource> resources = gatewayResource.getExperiments();
                 for (ExperimentResource resource : resources) {
                     ExperimentModel experiment = ThriftDataModelConversion.getExperiment(resource);
@@ -1057,7 +1059,7 @@ public class ExperimentRegistry {
                         fil.put(AbstractExpCatResource.ExperimentConstants.EXPERIMENT_NAME, filters.get(field));
                     } else if (field.equals(Constants.FieldConstants.ExperimentConstants.USER_NAME)) {
                         fil.put(AbstractExpCatResource.ExperimentConstants.USER_NAME, filters.get(field));
-                    }else if (field.equals(Constants.FieldConstants.ExperimentConstants.GATEWAY_EXECUTION_ID)) {
+                    }else if (field.equals(Constants.FieldConstants.ExperimentConstants.GATEWAY_ID)) {
                         fil.put(AbstractExpCatResource.ExperimentConstants.GATEWAY_ID, filters.get(field));
                     } else if (field.equals(Constants.FieldConstants.ExperimentConstants.DESCRIPTION)) {
                         fil.put(AbstractExpCatResource.ExperimentConstants.DESCRIPTION, filters.get(field));
@@ -1098,7 +1100,7 @@ public class ExperimentRegistry {
         try {
             ExperimentStatistics experimentStatistics = new ExperimentStatistics();
             ExperimentStatisticsResource experimentStatisticsResource = workerResource.getExperimentStatistics(
-                    filters.get(Constants.FieldConstants.ExperimentConstants.GATEWAY_EXECUTION_ID),
+                    filters.get(Constants.FieldConstants.ExperimentConstants.GATEWAY_ID),
                     new Timestamp(Long.parseLong(filters.get(Constants.FieldConstants.ExperimentConstants.FROM_DATE))),
                     new Timestamp(Long.parseLong(filters.get(Constants.FieldConstants.ExperimentConstants.TO_DATE)))
             );
@@ -1143,7 +1145,7 @@ public class ExperimentRegistry {
     public List<String> getExperimentIDs(String fieldName, Object value) throws RegistryException {
         List<String> expIDs = new ArrayList<String>();
         try {
-            if (fieldName.equals(Constants.FieldConstants.ExperimentConstants.GATEWAY_EXECUTION_ID)) {
+            if (fieldName.equals(Constants.FieldConstants.ExperimentConstants.GATEWAY_ID)) {
                 if (gatewayResource == null) {
                     logger.error("You should use an existing gateway in order to retrieve experiments..");
                     return null;


[4/5] airavata git commit: Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/airavata

Posted by sc...@apache.org.
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/airavata


Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/56d132d2
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/56d132d2
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/56d132d2

Branch: refs/heads/master
Commit: 56d132d2bccc2b79119cb2d827fa26c92299519c
Parents: 993f29a 4ee4b1a
Author: Supun Nakandala <sc...@apache.org>
Authored: Mon Jun 22 21:30:00 2015 +0530
Committer: Supun Nakandala <sc...@apache.org>
Committed: Mon Jun 22 21:30:00 2015 +0530

----------------------------------------------------------------------
 .../server/handler/AiravataServerHandler.java   | 28 ++++++++++----------
 modules/gfac/pom.xml                            |  2 +-
 .../airavata/registry/cpi/utils/Constants.java  |  1 +
 3 files changed, 16 insertions(+), 15 deletions(-)
----------------------------------------------------------------------



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

Posted by sc...@apache.org.
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
 }