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

[2/2] git commit: Added a script to generate data model as java beans and add the license header and check changes files. Addressing AIRAVATA-991

Added a script to generate data model as java beans and add the license header and check changes files. Addressing AIRAVATA-991


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

Branch: refs/heads/master
Commit: 8697b2dff7f9e3298aa9a41927e79fb405372135
Parents: fac34c0
Author: Suresh Marru <sm...@apache.org>
Authored: Fri Feb 7 14:53:59 2014 -0500
Committer: Suresh Marru <sm...@apache.org>
Committed: Fri Feb 7 14:53:59 2014 -0500

----------------------------------------------------------------------
 .../experiment/AdvancedInputDataHandling.java   |  40 +--
 .../experiment/AdvancedOutputDataHandling.java  |  35 ++-
 .../model/experiment/BasicMetadata.java         | 266 +++++++++++++++++--
 .../ComputationalResourceScheduling.java        |  91 ++++---
 .../model/experiment/ConfigurationData.java     |  70 ++---
 .../experiment/QualityOfServiceParams.java      |  35 ++-
 airavata-api/generate-thrift-files.sh           |  39 +--
 .../experimentModel.thrift                      |   6 +-
 8 files changed, 419 insertions(+), 163 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/8697b2df/airavata-api/datamodel/src/main/java/org/apache/airavata/model/experiment/AdvancedInputDataHandling.java
----------------------------------------------------------------------
diff --git a/airavata-api/datamodel/src/main/java/org/apache/airavata/model/experiment/AdvancedInputDataHandling.java b/airavata-api/datamodel/src/main/java/org/apache/airavata/model/experiment/AdvancedInputDataHandling.java
index 26c6287..d13fc69 100644
--- a/airavata-api/datamodel/src/main/java/org/apache/airavata/model/experiment/AdvancedInputDataHandling.java
+++ b/airavata-api/datamodel/src/main/java/org/apache/airavata/model/experiment/AdvancedInputDataHandling.java
@@ -1,3 +1,19 @@
+/*
+ * 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.1)
  *
@@ -36,7 +52,7 @@ import org.slf4j.LoggerFactory;
  * A structure holding specified input data handling.
  * 
  */
-public class AdvancedInputDataHandling implements org.apache.thrift.TBase<AdvancedInputDataHandling, AdvancedInputDataHandling._Fields>, java.io.Serializable, Cloneable, Comparable<AdvancedInputDataHandling> {
+@SuppressWarnings("all") public class AdvancedInputDataHandling implements org.apache.thrift.TBase<AdvancedInputDataHandling, AdvancedInputDataHandling._Fields>, java.io.Serializable, Cloneable, Comparable<AdvancedInputDataHandling> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AdvancedInputDataHandling");
 
   private static final org.apache.thrift.protocol.TField STAGE_INPUT_FILES_TO_WORKING_DIR_FIELD_DESC = new org.apache.thrift.protocol.TField("stageInputFilesToWorkingDir", org.apache.thrift.protocol.TType.BOOL, (short)1);
@@ -50,10 +66,10 @@ public class AdvancedInputDataHandling implements org.apache.thrift.TBase<Advanc
     schemes.put(TupleScheme.class, new AdvancedInputDataHandlingTupleSchemeFactory());
   }
 
-  public boolean stageInputFilesToWorkingDir; // optional
-  public String workingDirectoryParent; // optional
-  public String uniqueWorkingDirectory; // optional
-  public boolean cleanUpWorkingDirAfterJob; // optional
+  private boolean stageInputFilesToWorkingDir; // optional
+  private String workingDirectoryParent; // optional
+  private String uniqueWorkingDirectory; // optional
+  private boolean cleanUpWorkingDirAfterJob; // 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 {
@@ -182,10 +198,9 @@ public class AdvancedInputDataHandling implements org.apache.thrift.TBase<Advanc
     return this.stageInputFilesToWorkingDir;
   }
 
-  public AdvancedInputDataHandling setStageInputFilesToWorkingDir(boolean stageInputFilesToWorkingDir) {
+  public void setStageInputFilesToWorkingDir(boolean stageInputFilesToWorkingDir) {
     this.stageInputFilesToWorkingDir = stageInputFilesToWorkingDir;
     setStageInputFilesToWorkingDirIsSet(true);
-    return this;
   }
 
   public void unsetStageInputFilesToWorkingDir() {
@@ -205,9 +220,8 @@ public class AdvancedInputDataHandling implements org.apache.thrift.TBase<Advanc
     return this.workingDirectoryParent;
   }
 
-  public AdvancedInputDataHandling setWorkingDirectoryParent(String workingDirectoryParent) {
+  public void setWorkingDirectoryParent(String workingDirectoryParent) {
     this.workingDirectoryParent = workingDirectoryParent;
-    return this;
   }
 
   public void unsetWorkingDirectoryParent() {
@@ -229,9 +243,8 @@ public class AdvancedInputDataHandling implements org.apache.thrift.TBase<Advanc
     return this.uniqueWorkingDirectory;
   }
 
-  public AdvancedInputDataHandling setUniqueWorkingDirectory(String uniqueWorkingDirectory) {
+  public void setUniqueWorkingDirectory(String uniqueWorkingDirectory) {
     this.uniqueWorkingDirectory = uniqueWorkingDirectory;
-    return this;
   }
 
   public void unsetUniqueWorkingDirectory() {
@@ -253,10 +266,9 @@ public class AdvancedInputDataHandling implements org.apache.thrift.TBase<Advanc
     return this.cleanUpWorkingDirAfterJob;
   }
 
-  public AdvancedInputDataHandling setCleanUpWorkingDirAfterJob(boolean cleanUpWorkingDirAfterJob) {
+  public void setCleanUpWorkingDirAfterJob(boolean cleanUpWorkingDirAfterJob) {
     this.cleanUpWorkingDirAfterJob = cleanUpWorkingDirAfterJob;
     setCleanUpWorkingDirAfterJobIsSet(true);
-    return this;
   }
 
   public void unsetCleanUpWorkingDirAfterJob() {
@@ -585,8 +597,6 @@ public class AdvancedInputDataHandling implements org.apache.thrift.TBase<Advanc
         iprot.readFieldEnd();
       }
       iprot.readStructEnd();
-
-      // check for required fields of primitive type, which can't be checked in the validate method
       struct.validate();
     }
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/8697b2df/airavata-api/datamodel/src/main/java/org/apache/airavata/model/experiment/AdvancedOutputDataHandling.java
----------------------------------------------------------------------
diff --git a/airavata-api/datamodel/src/main/java/org/apache/airavata/model/experiment/AdvancedOutputDataHandling.java b/airavata-api/datamodel/src/main/java/org/apache/airavata/model/experiment/AdvancedOutputDataHandling.java
index d92b7e2..8289ff4 100644
--- a/airavata-api/datamodel/src/main/java/org/apache/airavata/model/experiment/AdvancedOutputDataHandling.java
+++ b/airavata-api/datamodel/src/main/java/org/apache/airavata/model/experiment/AdvancedOutputDataHandling.java
@@ -1,3 +1,19 @@
+/*
+ * 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.1)
  *
@@ -36,7 +52,7 @@ import org.slf4j.LoggerFactory;
  * A structure holding specified output data handling.
  * 
  */
-public class AdvancedOutputDataHandling implements org.apache.thrift.TBase<AdvancedOutputDataHandling, AdvancedOutputDataHandling._Fields>, java.io.Serializable, Cloneable, Comparable<AdvancedOutputDataHandling> {
+@SuppressWarnings("all") public class AdvancedOutputDataHandling implements org.apache.thrift.TBase<AdvancedOutputDataHandling, AdvancedOutputDataHandling._Fields>, java.io.Serializable, Cloneable, Comparable<AdvancedOutputDataHandling> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AdvancedOutputDataHandling");
 
   private static final org.apache.thrift.protocol.TField OUTPUTDATA_DIR_FIELD_DESC = new org.apache.thrift.protocol.TField("outputdataDir", org.apache.thrift.protocol.TType.STRING, (short)2);
@@ -49,9 +65,9 @@ public class AdvancedOutputDataHandling implements org.apache.thrift.TBase<Advan
     schemes.put(TupleScheme.class, new AdvancedOutputDataHandlingTupleSchemeFactory());
   }
 
-  public String outputdataDir; // optional
-  public String dataRegistryURL; // optional
-  public boolean persistOutputData; // optional
+  private String outputdataDir; // optional
+  private String dataRegistryURL; // optional
+  private boolean persistOutputData; // 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 {
@@ -169,9 +185,8 @@ public class AdvancedOutputDataHandling implements org.apache.thrift.TBase<Advan
     return this.outputdataDir;
   }
 
-  public AdvancedOutputDataHandling setOutputdataDir(String outputdataDir) {
+  public void setOutputdataDir(String outputdataDir) {
     this.outputdataDir = outputdataDir;
-    return this;
   }
 
   public void unsetOutputdataDir() {
@@ -193,9 +208,8 @@ public class AdvancedOutputDataHandling implements org.apache.thrift.TBase<Advan
     return this.dataRegistryURL;
   }
 
-  public AdvancedOutputDataHandling setDataRegistryURL(String dataRegistryURL) {
+  public void setDataRegistryURL(String dataRegistryURL) {
     this.dataRegistryURL = dataRegistryURL;
-    return this;
   }
 
   public void unsetDataRegistryURL() {
@@ -217,10 +231,9 @@ public class AdvancedOutputDataHandling implements org.apache.thrift.TBase<Advan
     return this.persistOutputData;
   }
 
-  public AdvancedOutputDataHandling setPersistOutputData(boolean persistOutputData) {
+  public void setPersistOutputData(boolean persistOutputData) {
     this.persistOutputData = persistOutputData;
     setPersistOutputDataIsSet(true);
-    return this;
   }
 
   public void unsetPersistOutputData() {
@@ -503,8 +516,6 @@ public class AdvancedOutputDataHandling implements org.apache.thrift.TBase<Advan
         iprot.readFieldEnd();
       }
       iprot.readStructEnd();
-
-      // check for required fields of primitive type, which can't be checked in the validate method
       struct.validate();
     }
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/8697b2df/airavata-api/datamodel/src/main/java/org/apache/airavata/model/experiment/BasicMetadata.java
----------------------------------------------------------------------
diff --git a/airavata-api/datamodel/src/main/java/org/apache/airavata/model/experiment/BasicMetadata.java b/airavata-api/datamodel/src/main/java/org/apache/airavata/model/experiment/BasicMetadata.java
index a5df335..c5cdbd0 100644
--- a/airavata-api/datamodel/src/main/java/org/apache/airavata/model/experiment/BasicMetadata.java
+++ b/airavata-api/datamodel/src/main/java/org/apache/airavata/model/experiment/BasicMetadata.java
@@ -1,3 +1,19 @@
+/*
+ * 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.1)
  *
@@ -48,13 +64,15 @@ import org.slf4j.LoggerFactory;
  * experimentDescription:
  *    The verbose description of the experiment. This is an optional parameter.
  */
-public class BasicMetadata implements org.apache.thrift.TBase<BasicMetadata, BasicMetadata._Fields>, java.io.Serializable, Cloneable, Comparable<BasicMetadata> {
+@SuppressWarnings("all") public class BasicMetadata implements org.apache.thrift.TBase<BasicMetadata, BasicMetadata._Fields>, java.io.Serializable, Cloneable, Comparable<BasicMetadata> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("BasicMetadata");
 
   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)1);
   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)2);
-  private static final org.apache.thrift.protocol.TField EXPERIMENT_DESCRIPTION_FIELD_DESC = new org.apache.thrift.protocol.TField("experimentDescription", org.apache.thrift.protocol.TType.STRING, (short)3);
-  private static final org.apache.thrift.protocol.TField SHARE_EXPERIMENT_PUBLICLY_FIELD_DESC = new org.apache.thrift.protocol.TField("shareExperimentPublicly", org.apache.thrift.protocol.TType.BOOL, (short)4);
+  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)3);
+  private static final org.apache.thrift.protocol.TField EXPERIMENT_DESCRIPTION_FIELD_DESC = new org.apache.thrift.protocol.TField("experimentDescription", org.apache.thrift.protocol.TType.STRING, (short)4);
+  private static final org.apache.thrift.protocol.TField SHARE_EXPERIMENT_PUBLICLY_FIELD_DESC = new org.apache.thrift.protocol.TField("shareExperimentPublicly", org.apache.thrift.protocol.TType.BOOL, (short)5);
+  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)6);
 
   private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
   static {
@@ -62,17 +80,21 @@ public class BasicMetadata implements org.apache.thrift.TBase<BasicMetadata, Bas
     schemes.put(TupleScheme.class, new BasicMetadataTupleSchemeFactory());
   }
 
-  public String userName; // required
-  public String experimentName; // required
-  public String experimentDescription; // optional
-  public boolean shareExperimentPublicly; // optional
+  private String userName; // required
+  private String experimentName; // required
+  private String projectID; // required
+  private String experimentDescription; // optional
+  private boolean shareExperimentPublicly; // optional
+  private String experimentID; // required
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
     USER_NAME((short)1, "userName"),
     EXPERIMENT_NAME((short)2, "experimentName"),
-    EXPERIMENT_DESCRIPTION((short)3, "experimentDescription"),
-    SHARE_EXPERIMENT_PUBLICLY((short)4, "shareExperimentPublicly");
+    PROJECT_ID((short)3, "projectID"),
+    EXPERIMENT_DESCRIPTION((short)4, "experimentDescription"),
+    SHARE_EXPERIMENT_PUBLICLY((short)5, "shareExperimentPublicly"),
+    EXPERIMENT_ID((short)6, "experimentID");
 
     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -91,10 +113,14 @@ public class BasicMetadata implements org.apache.thrift.TBase<BasicMetadata, Bas
           return USER_NAME;
         case 2: // EXPERIMENT_NAME
           return EXPERIMENT_NAME;
-        case 3: // EXPERIMENT_DESCRIPTION
+        case 3: // PROJECT_ID
+          return PROJECT_ID;
+        case 4: // EXPERIMENT_DESCRIPTION
           return EXPERIMENT_DESCRIPTION;
-        case 4: // SHARE_EXPERIMENT_PUBLICLY
+        case 5: // SHARE_EXPERIMENT_PUBLICLY
           return SHARE_EXPERIMENT_PUBLICLY;
+        case 6: // EXPERIMENT_ID
+          return EXPERIMENT_ID;
         default:
           return null;
       }
@@ -145,26 +171,38 @@ public class BasicMetadata implements org.apache.thrift.TBase<BasicMetadata, Bas
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     tmpMap.put(_Fields.EXPERIMENT_NAME, new org.apache.thrift.meta_data.FieldMetaData("experimentName", org.apache.thrift.TFieldRequirementType.REQUIRED, 
         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.EXPERIMENT_DESCRIPTION, new org.apache.thrift.meta_data.FieldMetaData("experimentDescription", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     tmpMap.put(_Fields.SHARE_EXPERIMENT_PUBLICLY, new org.apache.thrift.meta_data.FieldMetaData("shareExperimentPublicly", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
+    tmpMap.put(_Fields.EXPERIMENT_ID, new org.apache.thrift.meta_data.FieldMetaData("experimentID", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     metaDataMap = Collections.unmodifiableMap(tmpMap);
     org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(BasicMetadata.class, metaDataMap);
   }
 
   public BasicMetadata() {
+    this.projectID = "default";
+
     this.shareExperimentPublicly = false;
 
+    this.experimentID = "DO_NOT_SET";
+
   }
 
   public BasicMetadata(
     String userName,
-    String experimentName)
+    String experimentName,
+    String projectID,
+    String experimentID)
   {
     this();
     this.userName = userName;
     this.experimentName = experimentName;
+    this.projectID = projectID;
+    this.experimentID = experimentID;
   }
 
   /**
@@ -178,10 +216,16 @@ public class BasicMetadata implements org.apache.thrift.TBase<BasicMetadata, Bas
     if (other.isSetExperimentName()) {
       this.experimentName = other.experimentName;
     }
+    if (other.isSetProjectID()) {
+      this.projectID = other.projectID;
+    }
     if (other.isSetExperimentDescription()) {
       this.experimentDescription = other.experimentDescription;
     }
     this.shareExperimentPublicly = other.shareExperimentPublicly;
+    if (other.isSetExperimentID()) {
+      this.experimentID = other.experimentID;
+    }
   }
 
   public BasicMetadata deepCopy() {
@@ -192,18 +236,21 @@ public class BasicMetadata implements org.apache.thrift.TBase<BasicMetadata, Bas
   public void clear() {
     this.userName = null;
     this.experimentName = null;
+    this.projectID = "default";
+
     this.experimentDescription = null;
     this.shareExperimentPublicly = false;
 
+    this.experimentID = "DO_NOT_SET";
+
   }
 
   public String getUserName() {
     return this.userName;
   }
 
-  public BasicMetadata setUserName(String userName) {
+  public void setUserName(String userName) {
     this.userName = userName;
-    return this;
   }
 
   public void unsetUserName() {
@@ -225,9 +272,8 @@ public class BasicMetadata implements org.apache.thrift.TBase<BasicMetadata, Bas
     return this.experimentName;
   }
 
-  public BasicMetadata setExperimentName(String experimentName) {
+  public void setExperimentName(String experimentName) {
     this.experimentName = experimentName;
-    return this;
   }
 
   public void unsetExperimentName() {
@@ -245,13 +291,35 @@ public class BasicMetadata implements org.apache.thrift.TBase<BasicMetadata, Bas
     }
   }
 
+  public String getProjectID() {
+    return this.projectID;
+  }
+
+  public void setProjectID(String projectID) {
+    this.projectID = projectID;
+  }
+
+  public void unsetProjectID() {
+    this.projectID = null;
+  }
+
+  /** Returns true if field projectID is set (has been assigned a value) and false otherwise */
+  public boolean isSetProjectID() {
+    return this.projectID != null;
+  }
+
+  public void setProjectIDIsSet(boolean value) {
+    if (!value) {
+      this.projectID = null;
+    }
+  }
+
   public String getExperimentDescription() {
     return this.experimentDescription;
   }
 
-  public BasicMetadata setExperimentDescription(String experimentDescription) {
+  public void setExperimentDescription(String experimentDescription) {
     this.experimentDescription = experimentDescription;
-    return this;
   }
 
   public void unsetExperimentDescription() {
@@ -273,10 +341,9 @@ public class BasicMetadata implements org.apache.thrift.TBase<BasicMetadata, Bas
     return this.shareExperimentPublicly;
   }
 
-  public BasicMetadata setShareExperimentPublicly(boolean shareExperimentPublicly) {
+  public void setShareExperimentPublicly(boolean shareExperimentPublicly) {
     this.shareExperimentPublicly = shareExperimentPublicly;
     setShareExperimentPubliclyIsSet(true);
-    return this;
   }
 
   public void unsetShareExperimentPublicly() {
@@ -292,6 +359,29 @@ public class BasicMetadata implements org.apache.thrift.TBase<BasicMetadata, Bas
     __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __SHAREEXPERIMENTPUBLICLY_ISSET_ID, value);
   }
 
+  public String getExperimentID() {
+    return this.experimentID;
+  }
+
+  public void setExperimentID(String experimentID) {
+    this.experimentID = experimentID;
+  }
+
+  public void unsetExperimentID() {
+    this.experimentID = null;
+  }
+
+  /** Returns true if field experimentID is set (has been assigned a value) and false otherwise */
+  public boolean isSetExperimentID() {
+    return this.experimentID != null;
+  }
+
+  public void setExperimentIDIsSet(boolean value) {
+    if (!value) {
+      this.experimentID = null;
+    }
+  }
+
   public void setFieldValue(_Fields field, Object value) {
     switch (field) {
     case USER_NAME:
@@ -310,6 +400,14 @@ public class BasicMetadata implements org.apache.thrift.TBase<BasicMetadata, Bas
       }
       break;
 
+    case PROJECT_ID:
+      if (value == null) {
+        unsetProjectID();
+      } else {
+        setProjectID((String)value);
+      }
+      break;
+
     case EXPERIMENT_DESCRIPTION:
       if (value == null) {
         unsetExperimentDescription();
@@ -326,6 +424,14 @@ public class BasicMetadata implements org.apache.thrift.TBase<BasicMetadata, Bas
       }
       break;
 
+    case EXPERIMENT_ID:
+      if (value == null) {
+        unsetExperimentID();
+      } else {
+        setExperimentID((String)value);
+      }
+      break;
+
     }
   }
 
@@ -337,12 +443,18 @@ public class BasicMetadata implements org.apache.thrift.TBase<BasicMetadata, Bas
     case EXPERIMENT_NAME:
       return getExperimentName();
 
+    case PROJECT_ID:
+      return getProjectID();
+
     case EXPERIMENT_DESCRIPTION:
       return getExperimentDescription();
 
     case SHARE_EXPERIMENT_PUBLICLY:
       return Boolean.valueOf(isShareExperimentPublicly());
 
+    case EXPERIMENT_ID:
+      return getExperimentID();
+
     }
     throw new IllegalStateException();
   }
@@ -358,10 +470,14 @@ public class BasicMetadata implements org.apache.thrift.TBase<BasicMetadata, Bas
       return isSetUserName();
     case EXPERIMENT_NAME:
       return isSetExperimentName();
+    case PROJECT_ID:
+      return isSetProjectID();
     case EXPERIMENT_DESCRIPTION:
       return isSetExperimentDescription();
     case SHARE_EXPERIMENT_PUBLICLY:
       return isSetShareExperimentPublicly();
+    case EXPERIMENT_ID:
+      return isSetExperimentID();
     }
     throw new IllegalStateException();
   }
@@ -397,6 +513,15 @@ public class BasicMetadata implements org.apache.thrift.TBase<BasicMetadata, Bas
         return false;
     }
 
+    boolean this_present_projectID = true && this.isSetProjectID();
+    boolean that_present_projectID = true && that.isSetProjectID();
+    if (this_present_projectID || that_present_projectID) {
+      if (!(this_present_projectID && that_present_projectID))
+        return false;
+      if (!this.projectID.equals(that.projectID))
+        return false;
+    }
+
     boolean this_present_experimentDescription = true && this.isSetExperimentDescription();
     boolean that_present_experimentDescription = true && that.isSetExperimentDescription();
     if (this_present_experimentDescription || that_present_experimentDescription) {
@@ -415,6 +540,15 @@ public class BasicMetadata implements org.apache.thrift.TBase<BasicMetadata, Bas
         return false;
     }
 
+    boolean this_present_experimentID = true && this.isSetExperimentID();
+    boolean that_present_experimentID = true && that.isSetExperimentID();
+    if (this_present_experimentID || that_present_experimentID) {
+      if (!(this_present_experimentID && that_present_experimentID))
+        return false;
+      if (!this.experimentID.equals(that.experimentID))
+        return false;
+    }
+
     return true;
   }
 
@@ -451,6 +585,16 @@ public class BasicMetadata implements org.apache.thrift.TBase<BasicMetadata, Bas
         return lastComparison;
       }
     }
+    lastComparison = Boolean.valueOf(isSetProjectID()).compareTo(other.isSetProjectID());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetProjectID()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.projectID, other.projectID);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
     lastComparison = Boolean.valueOf(isSetExperimentDescription()).compareTo(other.isSetExperimentDescription());
     if (lastComparison != 0) {
       return lastComparison;
@@ -471,6 +615,16 @@ public class BasicMetadata implements org.apache.thrift.TBase<BasicMetadata, Bas
         return lastComparison;
       }
     }
+    lastComparison = Boolean.valueOf(isSetExperimentID()).compareTo(other.isSetExperimentID());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetExperimentID()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.experimentID, other.experimentID);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
     return 0;
   }
 
@@ -506,6 +660,14 @@ public class BasicMetadata implements org.apache.thrift.TBase<BasicMetadata, Bas
       sb.append(this.experimentName);
     }
     first = false;
+    if (!first) sb.append(", ");
+    sb.append("projectID:");
+    if (this.projectID == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.projectID);
+    }
+    first = false;
     if (isSetExperimentDescription()) {
       if (!first) sb.append(", ");
       sb.append("experimentDescription:");
@@ -522,18 +684,36 @@ public class BasicMetadata implements org.apache.thrift.TBase<BasicMetadata, Bas
       sb.append(this.shareExperimentPublicly);
       first = false;
     }
+    if (!first) sb.append(", ");
+    sb.append("experimentID:");
+    if (this.experimentID == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.experimentID);
+    }
+    first = false;
     sb.append(")");
     return sb.toString();
   }
 
   public void validate() throws org.apache.thrift.TException {
     // check for required fields
-    if (userName == null) {
-      throw new org.apache.thrift.protocol.TProtocolException("Required field 'userName' was not present! Struct: " + toString());
+    if (!isSetUserName()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'userName' is unset! Struct:" + toString());
     }
-    if (experimentName == null) {
-      throw new org.apache.thrift.protocol.TProtocolException("Required field 'experimentName' was not present! Struct: " + toString());
+
+    if (!isSetExperimentName()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'experimentName' is unset! Struct:" + toString());
+    }
+
+    if (!isSetProjectID()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'projectID' is unset! Struct:" + toString());
     }
+
+    if (!isSetExperimentID()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'experimentID' is unset! Struct:" + toString());
+    }
+
     // check for sub-struct validity
   }
 
@@ -589,7 +769,15 @@ public class BasicMetadata implements org.apache.thrift.TBase<BasicMetadata, Bas
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 3: // EXPERIMENT_DESCRIPTION
+          case 3: // PROJECT_ID
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.projectID = iprot.readString();
+              struct.setProjectIDIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 4: // EXPERIMENT_DESCRIPTION
             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
               struct.experimentDescription = iprot.readString();
               struct.setExperimentDescriptionIsSet(true);
@@ -597,7 +785,7 @@ public class BasicMetadata implements org.apache.thrift.TBase<BasicMetadata, Bas
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 4: // SHARE_EXPERIMENT_PUBLICLY
+          case 5: // SHARE_EXPERIMENT_PUBLICLY
             if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
               struct.shareExperimentPublicly = iprot.readBool();
               struct.setShareExperimentPubliclyIsSet(true);
@@ -605,14 +793,20 @@ public class BasicMetadata implements org.apache.thrift.TBase<BasicMetadata, Bas
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
+          case 6: // EXPERIMENT_ID
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.experimentID = iprot.readString();
+              struct.setExperimentIDIsSet(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();
     }
 
@@ -630,6 +824,11 @@ public class BasicMetadata implements org.apache.thrift.TBase<BasicMetadata, Bas
         oprot.writeString(struct.experimentName);
         oprot.writeFieldEnd();
       }
+      if (struct.projectID != null) {
+        oprot.writeFieldBegin(PROJECT_ID_FIELD_DESC);
+        oprot.writeString(struct.projectID);
+        oprot.writeFieldEnd();
+      }
       if (struct.experimentDescription != null) {
         if (struct.isSetExperimentDescription()) {
           oprot.writeFieldBegin(EXPERIMENT_DESCRIPTION_FIELD_DESC);
@@ -642,6 +841,11 @@ public class BasicMetadata implements org.apache.thrift.TBase<BasicMetadata, Bas
         oprot.writeBool(struct.shareExperimentPublicly);
         oprot.writeFieldEnd();
       }
+      if (struct.experimentID != null) {
+        oprot.writeFieldBegin(EXPERIMENT_ID_FIELD_DESC);
+        oprot.writeString(struct.experimentID);
+        oprot.writeFieldEnd();
+      }
       oprot.writeFieldStop();
       oprot.writeStructEnd();
     }
@@ -661,6 +865,8 @@ public class BasicMetadata implements org.apache.thrift.TBase<BasicMetadata, Bas
       TTupleProtocol oprot = (TTupleProtocol) prot;
       oprot.writeString(struct.userName);
       oprot.writeString(struct.experimentName);
+      oprot.writeString(struct.projectID);
+      oprot.writeString(struct.experimentID);
       BitSet optionals = new BitSet();
       if (struct.isSetExperimentDescription()) {
         optionals.set(0);
@@ -684,6 +890,10 @@ public class BasicMetadata implements org.apache.thrift.TBase<BasicMetadata, Bas
       struct.setUserNameIsSet(true);
       struct.experimentName = iprot.readString();
       struct.setExperimentNameIsSet(true);
+      struct.projectID = iprot.readString();
+      struct.setProjectIDIsSet(true);
+      struct.experimentID = iprot.readString();
+      struct.setExperimentIDIsSet(true);
       BitSet incoming = iprot.readBitSet(2);
       if (incoming.get(0)) {
         struct.experimentDescription = iprot.readString();

http://git-wip-us.apache.org/repos/asf/airavata/blob/8697b2df/airavata-api/datamodel/src/main/java/org/apache/airavata/model/experiment/ComputationalResourceScheduling.java
----------------------------------------------------------------------
diff --git a/airavata-api/datamodel/src/main/java/org/apache/airavata/model/experiment/ComputationalResourceScheduling.java b/airavata-api/datamodel/src/main/java/org/apache/airavata/model/experiment/ComputationalResourceScheduling.java
index eb0b4e2..fd0768d 100644
--- a/airavata-api/datamodel/src/main/java/org/apache/airavata/model/experiment/ComputationalResourceScheduling.java
+++ b/airavata-api/datamodel/src/main/java/org/apache/airavata/model/experiment/ComputationalResourceScheduling.java
@@ -1,3 +1,19 @@
+/*
+ * 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.1)
  *
@@ -36,7 +52,7 @@ import org.slf4j.LoggerFactory;
  * A structure holding the Computational Resource Scheduling.
  * 
  */
-public class ComputationalResourceScheduling implements org.apache.thrift.TBase<ComputationalResourceScheduling, ComputationalResourceScheduling._Fields>, java.io.Serializable, Cloneable, Comparable<ComputationalResourceScheduling> {
+@SuppressWarnings("all") public class ComputationalResourceScheduling implements org.apache.thrift.TBase<ComputationalResourceScheduling, ComputationalResourceScheduling._Fields>, java.io.Serializable, Cloneable, Comparable<ComputationalResourceScheduling> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ComputationalResourceScheduling");
 
   private static final org.apache.thrift.protocol.TField AIRAVATA_AUTO_SCHEDULE_FIELD_DESC = new org.apache.thrift.protocol.TField("airavataAutoSchedule", org.apache.thrift.protocol.TType.BOOL, (short)1);
@@ -57,17 +73,17 @@ public class ComputationalResourceScheduling implements org.apache.thrift.TBase<
     schemes.put(TupleScheme.class, new ComputationalResourceSchedulingTupleSchemeFactory());
   }
 
-  public boolean airavataAutoSchedule; // required
-  public boolean overrideManualScheduledParams; // required
-  public String resourceHostId; // optional
-  public int totalCPUCount; // optional
-  public int nodeCount; // optional
-  public int numberOfThreads; // optional
-  public String queueName; // optional
-  public int wallTimeLimit; // optional
-  public int jobStartTime; // optional
-  public int totalPhysicalMemory; // optional
-  public String ComputationalProjectAccount; // optional
+  private boolean airavataAutoSchedule; // required
+  private boolean overrideManualScheduledParams; // required
+  private String resourceHostId; // optional
+  private int totalCPUCount; // optional
+  private int nodeCount; // optional
+  private int numberOfThreads; // optional
+  private String queueName; // optional
+  private int wallTimeLimit; // optional
+  private int jobStartTime; // optional
+  private int totalPhysicalMemory; // optional
+  private String ComputationalProjectAccount; // 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 {
@@ -270,10 +286,9 @@ public class ComputationalResourceScheduling implements org.apache.thrift.TBase<
     return this.airavataAutoSchedule;
   }
 
-  public ComputationalResourceScheduling setAiravataAutoSchedule(boolean airavataAutoSchedule) {
+  public void setAiravataAutoSchedule(boolean airavataAutoSchedule) {
     this.airavataAutoSchedule = airavataAutoSchedule;
     setAiravataAutoScheduleIsSet(true);
-    return this;
   }
 
   public void unsetAiravataAutoSchedule() {
@@ -293,10 +308,9 @@ public class ComputationalResourceScheduling implements org.apache.thrift.TBase<
     return this.overrideManualScheduledParams;
   }
 
-  public ComputationalResourceScheduling setOverrideManualScheduledParams(boolean overrideManualScheduledParams) {
+  public void setOverrideManualScheduledParams(boolean overrideManualScheduledParams) {
     this.overrideManualScheduledParams = overrideManualScheduledParams;
     setOverrideManualScheduledParamsIsSet(true);
-    return this;
   }
 
   public void unsetOverrideManualScheduledParams() {
@@ -316,9 +330,8 @@ public class ComputationalResourceScheduling implements org.apache.thrift.TBase<
     return this.resourceHostId;
   }
 
-  public ComputationalResourceScheduling setResourceHostId(String resourceHostId) {
+  public void setResourceHostId(String resourceHostId) {
     this.resourceHostId = resourceHostId;
-    return this;
   }
 
   public void unsetResourceHostId() {
@@ -340,10 +353,9 @@ public class ComputationalResourceScheduling implements org.apache.thrift.TBase<
     return this.totalCPUCount;
   }
 
-  public ComputationalResourceScheduling setTotalCPUCount(int totalCPUCount) {
+  public void setTotalCPUCount(int totalCPUCount) {
     this.totalCPUCount = totalCPUCount;
     setTotalCPUCountIsSet(true);
-    return this;
   }
 
   public void unsetTotalCPUCount() {
@@ -363,10 +375,9 @@ public class ComputationalResourceScheduling implements org.apache.thrift.TBase<
     return this.nodeCount;
   }
 
-  public ComputationalResourceScheduling setNodeCount(int nodeCount) {
+  public void setNodeCount(int nodeCount) {
     this.nodeCount = nodeCount;
     setNodeCountIsSet(true);
-    return this;
   }
 
   public void unsetNodeCount() {
@@ -386,10 +397,9 @@ public class ComputationalResourceScheduling implements org.apache.thrift.TBase<
     return this.numberOfThreads;
   }
 
-  public ComputationalResourceScheduling setNumberOfThreads(int numberOfThreads) {
+  public void setNumberOfThreads(int numberOfThreads) {
     this.numberOfThreads = numberOfThreads;
     setNumberOfThreadsIsSet(true);
-    return this;
   }
 
   public void unsetNumberOfThreads() {
@@ -409,9 +419,8 @@ public class ComputationalResourceScheduling implements org.apache.thrift.TBase<
     return this.queueName;
   }
 
-  public ComputationalResourceScheduling setQueueName(String queueName) {
+  public void setQueueName(String queueName) {
     this.queueName = queueName;
-    return this;
   }
 
   public void unsetQueueName() {
@@ -433,10 +442,9 @@ public class ComputationalResourceScheduling implements org.apache.thrift.TBase<
     return this.wallTimeLimit;
   }
 
-  public ComputationalResourceScheduling setWallTimeLimit(int wallTimeLimit) {
+  public void setWallTimeLimit(int wallTimeLimit) {
     this.wallTimeLimit = wallTimeLimit;
     setWallTimeLimitIsSet(true);
-    return this;
   }
 
   public void unsetWallTimeLimit() {
@@ -456,10 +464,9 @@ public class ComputationalResourceScheduling implements org.apache.thrift.TBase<
     return this.jobStartTime;
   }
 
-  public ComputationalResourceScheduling setJobStartTime(int jobStartTime) {
+  public void setJobStartTime(int jobStartTime) {
     this.jobStartTime = jobStartTime;
     setJobStartTimeIsSet(true);
-    return this;
   }
 
   public void unsetJobStartTime() {
@@ -479,10 +486,9 @@ public class ComputationalResourceScheduling implements org.apache.thrift.TBase<
     return this.totalPhysicalMemory;
   }
 
-  public ComputationalResourceScheduling setTotalPhysicalMemory(int totalPhysicalMemory) {
+  public void setTotalPhysicalMemory(int totalPhysicalMemory) {
     this.totalPhysicalMemory = totalPhysicalMemory;
     setTotalPhysicalMemoryIsSet(true);
-    return this;
   }
 
   public void unsetTotalPhysicalMemory() {
@@ -502,9 +508,8 @@ public class ComputationalResourceScheduling implements org.apache.thrift.TBase<
     return this.ComputationalProjectAccount;
   }
 
-  public ComputationalResourceScheduling setComputationalProjectAccount(String ComputationalProjectAccount) {
+  public void setComputationalProjectAccount(String ComputationalProjectAccount) {
     this.ComputationalProjectAccount = ComputationalProjectAccount;
-    return this;
   }
 
   public void unsetComputationalProjectAccount() {
@@ -1024,8 +1029,14 @@ public class ComputationalResourceScheduling implements org.apache.thrift.TBase<
 
   public void validate() throws org.apache.thrift.TException {
     // check for required fields
-    // alas, we cannot check 'airavataAutoSchedule' because it's a primitive and you chose the non-beans generator.
-    // alas, we cannot check 'overrideManualScheduledParams' because it's a primitive and you chose the non-beans generator.
+    if (!isSetAiravataAutoSchedule()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'airavataAutoSchedule' is unset! Struct:" + toString());
+    }
+
+    if (!isSetOverrideManualScheduledParams()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'overrideManualScheduledParams' is unset! Struct:" + toString());
+    }
+
     // check for sub-struct validity
   }
 
@@ -1159,14 +1170,6 @@ public class ComputationalResourceScheduling implements org.apache.thrift.TBase<
         iprot.readFieldEnd();
       }
       iprot.readStructEnd();
-
-      // check for required fields of primitive type, which can't be checked in the validate method
-      if (!struct.isSetAiravataAutoSchedule()) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'airavataAutoSchedule' was not found in serialized data! Struct: " + toString());
-      }
-      if (!struct.isSetOverrideManualScheduledParams()) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'overrideManualScheduledParams' was not found in serialized data! Struct: " + toString());
-      }
       struct.validate();
     }
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/8697b2df/airavata-api/datamodel/src/main/java/org/apache/airavata/model/experiment/ConfigurationData.java
----------------------------------------------------------------------
diff --git a/airavata-api/datamodel/src/main/java/org/apache/airavata/model/experiment/ConfigurationData.java b/airavata-api/datamodel/src/main/java/org/apache/airavata/model/experiment/ConfigurationData.java
index fd3a254..071b203 100644
--- a/airavata-api/datamodel/src/main/java/org/apache/airavata/model/experiment/ConfigurationData.java
+++ b/airavata-api/datamodel/src/main/java/org/apache/airavata/model/experiment/ConfigurationData.java
@@ -1,3 +1,19 @@
+/*
+ * 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.1)
  *
@@ -37,7 +53,7 @@ import org.slf4j.LoggerFactory;
  * 
  * 
  */
-public class ConfigurationData implements org.apache.thrift.TBase<ConfigurationData, ConfigurationData._Fields>, java.io.Serializable, Cloneable, Comparable<ConfigurationData> {
+@SuppressWarnings("all") public class ConfigurationData implements org.apache.thrift.TBase<ConfigurationData, ConfigurationData._Fields>, java.io.Serializable, Cloneable, Comparable<ConfigurationData> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ConfigurationData");
 
   private static final org.apache.thrift.protocol.TField BASIC_METADATA_FIELD_DESC = new org.apache.thrift.protocol.TField("basicMetadata", org.apache.thrift.protocol.TType.STRUCT, (short)1);
@@ -57,16 +73,16 @@ public class ConfigurationData implements org.apache.thrift.TBase<ConfigurationD
     schemes.put(TupleScheme.class, new ConfigurationDataTupleSchemeFactory());
   }
 
-  public BasicMetadata basicMetadata; // optional
-  public String applicationId; // optional
-  public String applicationVersion; // optional
-  public String workflowTemplateId; // optional
-  public String worklfowTemplateVersion; // optional
-  public Map<String,String> experimentInputs; // optional
-  public ComputationalResourceScheduling computationalResourceScheduling; // optional
-  public AdvancedInputDataHandling advanceInputDataHandling; // optional
-  public AdvancedOutputDataHandling advanceOutputDataHandling; // optional
-  public QualityOfServiceParams qosParams; // optional
+  private BasicMetadata basicMetadata; // optional
+  private String applicationId; // optional
+  private String applicationVersion; // optional
+  private String workflowTemplateId; // optional
+  private String worklfowTemplateVersion; // optional
+  private Map<String,String> experimentInputs; // optional
+  private ComputationalResourceScheduling computationalResourceScheduling; // optional
+  private AdvancedInputDataHandling advanceInputDataHandling; // optional
+  private AdvancedOutputDataHandling advanceOutputDataHandling; // optional
+  private QualityOfServiceParams qosParams; // 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 {
@@ -246,9 +262,8 @@ public class ConfigurationData implements org.apache.thrift.TBase<ConfigurationD
     return this.basicMetadata;
   }
 
-  public ConfigurationData setBasicMetadata(BasicMetadata basicMetadata) {
+  public void setBasicMetadata(BasicMetadata basicMetadata) {
     this.basicMetadata = basicMetadata;
-    return this;
   }
 
   public void unsetBasicMetadata() {
@@ -270,9 +285,8 @@ public class ConfigurationData implements org.apache.thrift.TBase<ConfigurationD
     return this.applicationId;
   }
 
-  public ConfigurationData setApplicationId(String applicationId) {
+  public void setApplicationId(String applicationId) {
     this.applicationId = applicationId;
-    return this;
   }
 
   public void unsetApplicationId() {
@@ -294,9 +308,8 @@ public class ConfigurationData implements org.apache.thrift.TBase<ConfigurationD
     return this.applicationVersion;
   }
 
-  public ConfigurationData setApplicationVersion(String applicationVersion) {
+  public void setApplicationVersion(String applicationVersion) {
     this.applicationVersion = applicationVersion;
-    return this;
   }
 
   public void unsetApplicationVersion() {
@@ -318,9 +331,8 @@ public class ConfigurationData implements org.apache.thrift.TBase<ConfigurationD
     return this.workflowTemplateId;
   }
 
-  public ConfigurationData setWorkflowTemplateId(String workflowTemplateId) {
+  public void setWorkflowTemplateId(String workflowTemplateId) {
     this.workflowTemplateId = workflowTemplateId;
-    return this;
   }
 
   public void unsetWorkflowTemplateId() {
@@ -342,9 +354,8 @@ public class ConfigurationData implements org.apache.thrift.TBase<ConfigurationD
     return this.worklfowTemplateVersion;
   }
 
-  public ConfigurationData setWorklfowTemplateVersion(String worklfowTemplateVersion) {
+  public void setWorklfowTemplateVersion(String worklfowTemplateVersion) {
     this.worklfowTemplateVersion = worklfowTemplateVersion;
-    return this;
   }
 
   public void unsetWorklfowTemplateVersion() {
@@ -377,9 +388,8 @@ public class ConfigurationData implements org.apache.thrift.TBase<ConfigurationD
     return this.experimentInputs;
   }
 
-  public ConfigurationData setExperimentInputs(Map<String,String> experimentInputs) {
+  public void setExperimentInputs(Map<String,String> experimentInputs) {
     this.experimentInputs = experimentInputs;
-    return this;
   }
 
   public void unsetExperimentInputs() {
@@ -401,9 +411,8 @@ public class ConfigurationData implements org.apache.thrift.TBase<ConfigurationD
     return this.computationalResourceScheduling;
   }
 
-  public ConfigurationData setComputationalResourceScheduling(ComputationalResourceScheduling computationalResourceScheduling) {
+  public void setComputationalResourceScheduling(ComputationalResourceScheduling computationalResourceScheduling) {
     this.computationalResourceScheduling = computationalResourceScheduling;
-    return this;
   }
 
   public void unsetComputationalResourceScheduling() {
@@ -425,9 +434,8 @@ public class ConfigurationData implements org.apache.thrift.TBase<ConfigurationD
     return this.advanceInputDataHandling;
   }
 
-  public ConfigurationData setAdvanceInputDataHandling(AdvancedInputDataHandling advanceInputDataHandling) {
+  public void setAdvanceInputDataHandling(AdvancedInputDataHandling advanceInputDataHandling) {
     this.advanceInputDataHandling = advanceInputDataHandling;
-    return this;
   }
 
   public void unsetAdvanceInputDataHandling() {
@@ -449,9 +457,8 @@ public class ConfigurationData implements org.apache.thrift.TBase<ConfigurationD
     return this.advanceOutputDataHandling;
   }
 
-  public ConfigurationData setAdvanceOutputDataHandling(AdvancedOutputDataHandling advanceOutputDataHandling) {
+  public void setAdvanceOutputDataHandling(AdvancedOutputDataHandling advanceOutputDataHandling) {
     this.advanceOutputDataHandling = advanceOutputDataHandling;
-    return this;
   }
 
   public void unsetAdvanceOutputDataHandling() {
@@ -473,9 +480,8 @@ public class ConfigurationData implements org.apache.thrift.TBase<ConfigurationD
     return this.qosParams;
   }
 
-  public ConfigurationData setQosParams(QualityOfServiceParams qosParams) {
+  public void setQosParams(QualityOfServiceParams qosParams) {
     this.qosParams = qosParams;
-    return this;
   }
 
   public void unsetQosParams() {
@@ -1144,8 +1150,6 @@ public class ConfigurationData implements org.apache.thrift.TBase<ConfigurationD
         iprot.readFieldEnd();
       }
       iprot.readStructEnd();
-
-      // check for required fields of primitive type, which can't be checked in the validate method
       struct.validate();
     }
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/8697b2df/airavata-api/datamodel/src/main/java/org/apache/airavata/model/experiment/QualityOfServiceParams.java
----------------------------------------------------------------------
diff --git a/airavata-api/datamodel/src/main/java/org/apache/airavata/model/experiment/QualityOfServiceParams.java b/airavata-api/datamodel/src/main/java/org/apache/airavata/model/experiment/QualityOfServiceParams.java
index 9e43468..6e26ce7 100644
--- a/airavata-api/datamodel/src/main/java/org/apache/airavata/model/experiment/QualityOfServiceParams.java
+++ b/airavata-api/datamodel/src/main/java/org/apache/airavata/model/experiment/QualityOfServiceParams.java
@@ -1,3 +1,19 @@
+/*
+ * 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.1)
  *
@@ -36,7 +52,7 @@ import org.slf4j.LoggerFactory;
  * A structure holding Quality of Service Parameters.
  * 
  */
-public class QualityOfServiceParams implements org.apache.thrift.TBase<QualityOfServiceParams, QualityOfServiceParams._Fields>, java.io.Serializable, Cloneable, Comparable<QualityOfServiceParams> {
+@SuppressWarnings("all") public class QualityOfServiceParams implements org.apache.thrift.TBase<QualityOfServiceParams, QualityOfServiceParams._Fields>, java.io.Serializable, Cloneable, Comparable<QualityOfServiceParams> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("QualityOfServiceParams");
 
   private static final org.apache.thrift.protocol.TField START_EXECUTION_AT_FIELD_DESC = new org.apache.thrift.protocol.TField("startExecutionAt", org.apache.thrift.protocol.TType.STRING, (short)1);
@@ -49,9 +65,9 @@ public class QualityOfServiceParams implements org.apache.thrift.TBase<QualityOf
     schemes.put(TupleScheme.class, new QualityOfServiceParamsTupleSchemeFactory());
   }
 
-  public String startExecutionAt; // optional
-  public String executeBefore; // optional
-  public int numberofRetries; // optional
+  private String startExecutionAt; // optional
+  private String executeBefore; // optional
+  private int numberofRetries; // 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 {
@@ -167,9 +183,8 @@ public class QualityOfServiceParams implements org.apache.thrift.TBase<QualityOf
     return this.startExecutionAt;
   }
 
-  public QualityOfServiceParams setStartExecutionAt(String startExecutionAt) {
+  public void setStartExecutionAt(String startExecutionAt) {
     this.startExecutionAt = startExecutionAt;
-    return this;
   }
 
   public void unsetStartExecutionAt() {
@@ -191,9 +206,8 @@ public class QualityOfServiceParams implements org.apache.thrift.TBase<QualityOf
     return this.executeBefore;
   }
 
-  public QualityOfServiceParams setExecuteBefore(String executeBefore) {
+  public void setExecuteBefore(String executeBefore) {
     this.executeBefore = executeBefore;
-    return this;
   }
 
   public void unsetExecuteBefore() {
@@ -215,10 +229,9 @@ public class QualityOfServiceParams implements org.apache.thrift.TBase<QualityOf
     return this.numberofRetries;
   }
 
-  public QualityOfServiceParams setNumberofRetries(int numberofRetries) {
+  public void setNumberofRetries(int numberofRetries) {
     this.numberofRetries = numberofRetries;
     setNumberofRetriesIsSet(true);
-    return this;
   }
 
   public void unsetNumberofRetries() {
@@ -501,8 +514,6 @@ public class QualityOfServiceParams implements org.apache.thrift.TBase<QualityOf
         iprot.readFieldEnd();
       }
       iprot.readStructEnd();
-
-      // check for required fields of primitive type, which can't be checked in the validate method
       struct.validate();
     }
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/8697b2df/airavata-api/generate-thrift-files.sh
----------------------------------------------------------------------
diff --git a/airavata-api/generate-thrift-files.sh b/airavata-api/generate-thrift-files.sh
old mode 100644
new mode 100755
index 40b13fc..eeabdcd
--- a/airavata-api/generate-thrift-files.sh
+++ b/airavata-api/generate-thrift-files.sh
@@ -25,7 +25,7 @@ BASE_OUTPUT_PACKAGE='org.apache.airavata'
 THRIFT_IDL_DIR='thrift-interface-descriptions'
 PACKAGES_TO_GENERATE=(gc master tabletserver security client.impl data)
 BUILD_DIR='target'
-FINAL_DIR='src/main/java'
+FINAL_DIR='datamodel/src/main/java'
 # ========================================================================================================================
 
 fail() {
@@ -34,7 +34,7 @@ fail() {
 }
 
 # Test to see if we have thrift installed
-VERSION=$(thrifts -version 2>/dev/null | grep -F "${REQUIRED_THRIFT_VERSION}" |  wc -l)
+VERSION=$(thrift -version 2>/dev/null | grep -F "${REQUIRED_THRIFT_VERSION}" |  wc -l)
 if [ "$VERSION" -ne 1 ] ; then
   # Nope: bail
   echo "****************************************************"
@@ -46,20 +46,27 @@ fi
 
 # Initialize the thrift arguements.
 #  Since most of the Airavata API and Data Models have includes, use recursive option by defualt.
-THRIFT_ARGS='-r'
+#  Generate all the files in target directory
+THRIFT_ARGS="-r -o $BUILD_DIR"
+
 # Ensure output directories are created
-THRIFT_ARGS="${THRIFT_ARGS} -o $BUILD_DIR"
 mkdir -p $BUILD_DIR
-rm -rf $BUILD_DIR/gen-java
-for f in src/main/thrift/*.thrift; do
-  thrift ${THRIFT_ARGS} --gen java $f || fail unable to generate java thrift classes
-  thrift ${THRIFT_ARGS} --gen php $f || fail unable to generate python thrift classes
-done
+
+
+# Generate the Airavata Data Model. Use Java Beans to generate to take advantage of the bean style
+#   with members being private and setters returning voids.
+
+# First remove and previously generated files
+rm -rf $BUILD_DIR/gen-javabean
+
+# the airavataDataModel.thrift includes rest of data models.
+thrift ${THRIFT_ARGS} --gen java:beans $THRIFT_IDL_DIR/airavataDataModel.thrift || fail unable to generate java bean thrift classes
+
 
 # For all generated thrift code, suppress all warnings and add the LICENSE header
-find $BUILD_DIR/gen-java -name '*.java' -print0 | xargs -0 sed -i.orig -e 's/public class /@SuppressWarnings("all") public class /'
-find $BUILD_DIR/gen-java -name '*.java' -print0 | xargs -0 sed -i.orig -e 's/public enum /@SuppressWarnings("all") public enum /'
-for f in $(find $BUILD_DIR/gen-java -name '*.java'); do
+find $BUILD_DIR/gen-javabean -name '*.java' -print0 | xargs -0 sed -i.orig -e 's/public class /@SuppressWarnings("all") public class /'
+#find $BUILD_DIR/gen-javabean -name '*.java' -print0 | xargs -0 sed -i.orig -e 's/public enum /@SuppressWarnings("all") public enum /'
+for f in $(find $BUILD_DIR/gen-javabean -name '*.java'); do
   cat - $f >${f}-with-license <<EOF
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
@@ -81,9 +88,8 @@ EOF
 done
 
 # For every generated java file, compare it with the version-controlled one, and copy the ones that have changed into place
-for d in "${PACKAGES_TO_GENERATE[@]}"; do
-  SDIR="${BUILD_DIR}/gen-java/${BASE_OUTPUT_PACKAGE//.//}/${d//.//}/thrift"
-  DDIR="${FINAL_DIR}/${BASE_OUTPUT_PACKAGE//.//}/${d//.//}/thrift"
+  SDIR="${BUILD_DIR}/gen-javabean/org/apache/airavata/model/experiment"
+  DDIR="${FINAL_DIR}/org/apache/airavata/model/experiment"
   mkdir -p "$DDIR"
   for f in "$SDIR"/*.java; do
     DEST="$DDIR/`basename $f`"
@@ -91,5 +97,4 @@ for d in "${PACKAGES_TO_GENERATE[@]}"; do
       echo cp -f "${f}-with-license" "${DEST}"
       cp -f "${f}-with-license" "${DEST}" || fail unable to copy files to java workspace
     fi
-  done
-done
\ No newline at end of file
+  done
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/8697b2df/airavata-api/thrift-interface-descriptions/experimentModel.thrift
----------------------------------------------------------------------
diff --git a/airavata-api/thrift-interface-descriptions/experimentModel.thrift b/airavata-api/thrift-interface-descriptions/experimentModel.thrift
index 71e9e6a..ecc096a 100644
--- a/airavata-api/thrift-interface-descriptions/experimentModel.thrift
+++ b/airavata-api/thrift-interface-descriptions/experimentModel.thrift
@@ -67,8 +67,10 @@ namespace java org.apache.airavata.model.experiment
 struct BasicMetadata {
   1: required string userName,
   2: required string experimentName,
-  3: optional string experimentDescription,
-  4: optional bool shareExperimentPublicly = 0
+  3: required string projectID = "default",
+  4: optional string experimentDescription,
+  5: optional bool shareExperimentPublicly = 0,
+  6: required string experimentID = "DO_NOT_SET"
 }
 
 /**