You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ch...@apache.org on 2014/12/22 22:58:15 UTC

[1/3] airavata git commit: adding gamess and update airavata data models

Repository: airavata
Updated Branches:
  refs/heads/master a9136101c -> 842004ee4


http://git-wip-us.apache.org/repos/asf/airavata/blob/842004ee/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ComputeResourceDescription.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ComputeResourceDescription.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ComputeResourceDescription.java
index 90c4a37..47de5a7 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ComputeResourceDescription.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ComputeResourceDescription.java
@@ -90,6 +90,7 @@ import org.slf4j.LoggerFactory;
   private static final org.apache.thrift.protocol.TField FILE_SYSTEMS_FIELD_DESC = new org.apache.thrift.protocol.TField("fileSystems", org.apache.thrift.protocol.TType.MAP, (short)7);
   private static final org.apache.thrift.protocol.TField JOB_SUBMISSION_INTERFACES_FIELD_DESC = new org.apache.thrift.protocol.TField("jobSubmissionInterfaces", org.apache.thrift.protocol.TType.LIST, (short)8);
   private static final org.apache.thrift.protocol.TField DATA_MOVEMENT_INTERFACES_FIELD_DESC = new org.apache.thrift.protocol.TField("dataMovementInterfaces", org.apache.thrift.protocol.TType.LIST, (short)9);
+  private static final org.apache.thrift.protocol.TField MAX_MEMORY_PER_NODE_FIELD_DESC = new org.apache.thrift.protocol.TField("maxMemoryPerNode", org.apache.thrift.protocol.TType.I32, (short)10);
 
   private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
   static {
@@ -106,6 +107,7 @@ import org.slf4j.LoggerFactory;
   private Map<FileSystems,String> fileSystems; // optional
   private List<JobSubmissionInterface> jobSubmissionInterfaces; // optional
   private List<DataMovementInterface> dataMovementInterfaces; // optional
+  private int maxMemoryPerNode; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   @SuppressWarnings("all") public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -117,7 +119,8 @@ import org.slf4j.LoggerFactory;
     BATCH_QUEUES((short)6, "batchQueues"),
     FILE_SYSTEMS((short)7, "fileSystems"),
     JOB_SUBMISSION_INTERFACES((short)8, "jobSubmissionInterfaces"),
-    DATA_MOVEMENT_INTERFACES((short)9, "dataMovementInterfaces");
+    DATA_MOVEMENT_INTERFACES((short)9, "dataMovementInterfaces"),
+    MAX_MEMORY_PER_NODE((short)10, "maxMemoryPerNode");
 
     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -150,6 +153,8 @@ import org.slf4j.LoggerFactory;
           return JOB_SUBMISSION_INTERFACES;
         case 9: // DATA_MOVEMENT_INTERFACES
           return DATA_MOVEMENT_INTERFACES;
+        case 10: // MAX_MEMORY_PER_NODE
+          return MAX_MEMORY_PER_NODE;
         default:
           return null;
       }
@@ -190,7 +195,9 @@ import org.slf4j.LoggerFactory;
   }
 
   // isset id assignments
-  private _Fields optionals[] = {_Fields.HOST_ALIASES,_Fields.IP_ADDRESSES,_Fields.RESOURCE_DESCRIPTION,_Fields.BATCH_QUEUES,_Fields.FILE_SYSTEMS,_Fields.JOB_SUBMISSION_INTERFACES,_Fields.DATA_MOVEMENT_INTERFACES};
+  private static final int __MAXMEMORYPERNODE_ISSET_ID = 0;
+  private byte __isset_bitfield = 0;
+  private _Fields optionals[] = {_Fields.HOST_ALIASES,_Fields.IP_ADDRESSES,_Fields.RESOURCE_DESCRIPTION,_Fields.BATCH_QUEUES,_Fields.FILE_SYSTEMS,_Fields.JOB_SUBMISSION_INTERFACES,_Fields.DATA_MOVEMENT_INTERFACES,_Fields.MAX_MEMORY_PER_NODE};
   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);
@@ -219,6 +226,8 @@ import org.slf4j.LoggerFactory;
     tmpMap.put(_Fields.DATA_MOVEMENT_INTERFACES, new org.apache.thrift.meta_data.FieldMetaData("dataMovementInterfaces", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
             new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, DataMovementInterface.class))));
+    tmpMap.put(_Fields.MAX_MEMORY_PER_NODE, new org.apache.thrift.meta_data.FieldMetaData("maxMemoryPerNode", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
     metaDataMap = Collections.unmodifiableMap(tmpMap);
     org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ComputeResourceDescription.class, metaDataMap);
   }
@@ -241,6 +250,7 @@ import org.slf4j.LoggerFactory;
    * Performs a deep copy on <i>other</i>.
    */
   public ComputeResourceDescription(ComputeResourceDescription other) {
+    __isset_bitfield = other.__isset_bitfield;
     if (other.isSetComputeResourceId()) {
       this.computeResourceId = other.computeResourceId;
     }
@@ -294,6 +304,7 @@ import org.slf4j.LoggerFactory;
       }
       this.dataMovementInterfaces = __this__dataMovementInterfaces;
     }
+    this.maxMemoryPerNode = other.maxMemoryPerNode;
   }
 
   public ComputeResourceDescription deepCopy() {
@@ -312,6 +323,8 @@ import org.slf4j.LoggerFactory;
     this.fileSystems = null;
     this.jobSubmissionInterfaces = null;
     this.dataMovementInterfaces = null;
+    setMaxMemoryPerNodeIsSet(false);
+    this.maxMemoryPerNode = 0;
   }
 
   public String getComputeResourceId() {
@@ -607,6 +620,28 @@ import org.slf4j.LoggerFactory;
     }
   }
 
+  public int getMaxMemoryPerNode() {
+    return this.maxMemoryPerNode;
+  }
+
+  public void setMaxMemoryPerNode(int maxMemoryPerNode) {
+    this.maxMemoryPerNode = maxMemoryPerNode;
+    setMaxMemoryPerNodeIsSet(true);
+  }
+
+  public void unsetMaxMemoryPerNode() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __MAXMEMORYPERNODE_ISSET_ID);
+  }
+
+  /** Returns true if field maxMemoryPerNode is set (has been assigned a value) and false otherwise */
+  public boolean isSetMaxMemoryPerNode() {
+    return EncodingUtils.testBit(__isset_bitfield, __MAXMEMORYPERNODE_ISSET_ID);
+  }
+
+  public void setMaxMemoryPerNodeIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __MAXMEMORYPERNODE_ISSET_ID, value);
+  }
+
   public void setFieldValue(_Fields field, Object value) {
     switch (field) {
     case COMPUTE_RESOURCE_ID:
@@ -681,6 +716,14 @@ import org.slf4j.LoggerFactory;
       }
       break;
 
+    case MAX_MEMORY_PER_NODE:
+      if (value == null) {
+        unsetMaxMemoryPerNode();
+      } else {
+        setMaxMemoryPerNode((Integer)value);
+      }
+      break;
+
     }
   }
 
@@ -713,6 +756,9 @@ import org.slf4j.LoggerFactory;
     case DATA_MOVEMENT_INTERFACES:
       return getDataMovementInterfaces();
 
+    case MAX_MEMORY_PER_NODE:
+      return Integer.valueOf(getMaxMemoryPerNode());
+
     }
     throw new IllegalStateException();
   }
@@ -742,6 +788,8 @@ import org.slf4j.LoggerFactory;
       return isSetJobSubmissionInterfaces();
     case DATA_MOVEMENT_INTERFACES:
       return isSetDataMovementInterfaces();
+    case MAX_MEMORY_PER_NODE:
+      return isSetMaxMemoryPerNode();
     }
     throw new IllegalStateException();
   }
@@ -840,6 +888,15 @@ import org.slf4j.LoggerFactory;
         return false;
     }
 
+    boolean this_present_maxMemoryPerNode = true && this.isSetMaxMemoryPerNode();
+    boolean that_present_maxMemoryPerNode = true && that.isSetMaxMemoryPerNode();
+    if (this_present_maxMemoryPerNode || that_present_maxMemoryPerNode) {
+      if (!(this_present_maxMemoryPerNode && that_present_maxMemoryPerNode))
+        return false;
+      if (this.maxMemoryPerNode != that.maxMemoryPerNode)
+        return false;
+    }
+
     return true;
   }
 
@@ -946,6 +1003,16 @@ import org.slf4j.LoggerFactory;
         return lastComparison;
       }
     }
+    lastComparison = Boolean.valueOf(isSetMaxMemoryPerNode()).compareTo(other.isSetMaxMemoryPerNode());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetMaxMemoryPerNode()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.maxMemoryPerNode, other.maxMemoryPerNode);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
     return 0;
   }
 
@@ -1051,6 +1118,12 @@ import org.slf4j.LoggerFactory;
       }
       first = false;
     }
+    if (isSetMaxMemoryPerNode()) {
+      if (!first) sb.append(", ");
+      sb.append("maxMemoryPerNode:");
+      sb.append(this.maxMemoryPerNode);
+      first = false;
+    }
     sb.append(")");
     return sb.toString();
   }
@@ -1078,6 +1151,8 @@ import org.slf4j.LoggerFactory;
 
   private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
     try {
+      // 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) {
       throw new java.io.IOException(te);
@@ -1239,6 +1314,14 @@ import org.slf4j.LoggerFactory;
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
+          case 10: // MAX_MEMORY_PER_NODE
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.maxMemoryPerNode = iprot.readI32();
+              struct.setMaxMemoryPerNodeIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
           default:
             org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
         }
@@ -1354,6 +1437,11 @@ import org.slf4j.LoggerFactory;
           oprot.writeFieldEnd();
         }
       }
+      if (struct.isSetMaxMemoryPerNode()) {
+        oprot.writeFieldBegin(MAX_MEMORY_PER_NODE_FIELD_DESC);
+        oprot.writeI32(struct.maxMemoryPerNode);
+        oprot.writeFieldEnd();
+      }
       oprot.writeFieldStop();
       oprot.writeStructEnd();
     }
@@ -1395,7 +1483,10 @@ import org.slf4j.LoggerFactory;
       if (struct.isSetDataMovementInterfaces()) {
         optionals.set(6);
       }
-      oprot.writeBitSet(optionals, 7);
+      if (struct.isSetMaxMemoryPerNode()) {
+        optionals.set(7);
+      }
+      oprot.writeBitSet(optionals, 8);
       if (struct.isSetHostAliases()) {
         {
           oprot.writeI32(struct.hostAliases.size());
@@ -1454,6 +1545,9 @@ import org.slf4j.LoggerFactory;
           }
         }
       }
+      if (struct.isSetMaxMemoryPerNode()) {
+        oprot.writeI32(struct.maxMemoryPerNode);
+      }
     }
 
     @Override
@@ -1463,7 +1557,7 @@ import org.slf4j.LoggerFactory;
       struct.setComputeResourceIdIsSet(true);
       struct.hostName = iprot.readString();
       struct.setHostNameIsSet(true);
-      BitSet incoming = iprot.readBitSet(7);
+      BitSet incoming = iprot.readBitSet(8);
       if (incoming.get(0)) {
         {
           org.apache.thrift.protocol.TList _list57 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
@@ -1551,6 +1645,10 @@ import org.slf4j.LoggerFactory;
         }
         struct.setDataMovementInterfacesIsSet(true);
       }
+      if (incoming.get(7)) {
+        struct.maxMemoryPerNode = iprot.readI32();
+        struct.setMaxMemoryPerNodeIsSet(true);
+      }
     }
   }
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/842004ee/airavata-api/thrift-interface-descriptions/applicationInterfaceModel.thrift
----------------------------------------------------------------------
diff --git a/airavata-api/thrift-interface-descriptions/applicationInterfaceModel.thrift b/airavata-api/thrift-interface-descriptions/applicationInterfaceModel.thrift
index 8e6c896..f287e22 100644
--- a/airavata-api/thrift-interface-descriptions/applicationInterfaceModel.thrift
+++ b/airavata-api/thrift-interface-descriptions/applicationInterfaceModel.thrift
@@ -130,8 +130,9 @@ struct OutputDataObjectType {
     2: optional string value,
     3: optional DataType type,
     4: optional ValidityType validityType,
-    5: optional bool dataMovement,
-    6: optional string dataNameLocation
+    5: optional CommandLineType addedToCommandLine,
+    6: optional bool dataMovement,
+    7: optional string dataNameLocation
 }
 
 /**

http://git-wip-us.apache.org/repos/asf/airavata/blob/842004ee/airavata-api/thrift-interface-descriptions/computeResourceModel.thrift
----------------------------------------------------------------------
diff --git a/airavata-api/thrift-interface-descriptions/computeResourceModel.thrift b/airavata-api/thrift-interface-descriptions/computeResourceModel.thrift
index 3d0472d..525e1b9 100644
--- a/airavata-api/thrift-interface-descriptions/computeResourceModel.thrift
+++ b/airavata-api/thrift-interface-descriptions/computeResourceModel.thrift
@@ -144,7 +144,8 @@ struct BatchQueue {
     3: optional i32 maxRunTime,
     4: optional i32 maxNodes,
     5: optional i32 maxProcessors,
-    6: optional i32 maxJobsInQueue
+    6: optional i32 maxJobsInQueue,
+    7: optional i32 maxMemory
 }
 
 /**
@@ -434,5 +435,6 @@ struct ComputeResourceDescription {
     6: optional list<BatchQueue> batchQueues,
     7: optional map<FileSystems, string> fileSystems,
     8: optional list<JobSubmissionInterface> jobSubmissionInterfaces,
-    9: optional list<DataMovementInterface> dataMovementInterfaces
+    9: optional list<DataMovementInterface> dataMovementInterfaces,
+    10: optional i32 maxMemoryPerNode
 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/842004ee/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ApplicationOutput.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ApplicationOutput.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ApplicationOutput.java
index c13e7d3..861698d 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ApplicationOutput.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ApplicationOutput.java
@@ -41,6 +41,8 @@ public class ApplicationOutput implements Serializable {
     private String dataType;
     @Column(name = "VALIDITY_TYPE")
     private String validityType;
+    @Column(name="COMMANDLINE_TYPE")
+    private String commandLineType;
     @Column(name = "DATA_MOVEMENT")
     private boolean dataMovement;
     @Column(name = "DATA_NAME_LOCATION")
@@ -50,6 +52,13 @@ public class ApplicationOutput implements Serializable {
     @JoinColumn(name = "INTERFACE_ID")
     private ApplicationInterface applicationInterface;
 
+    public String getCommandLineType() {
+        return commandLineType;
+    }
+
+    public void setCommandLineType(String commandLineType) {
+        this.commandLineType = commandLineType;
+    }
     public String getInterfaceID() {
         return interfaceID;
     }

http://git-wip-us.apache.org/repos/asf/airavata/blob/842004ee/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ApplicationOutputResource.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ApplicationOutputResource.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ApplicationOutputResource.java
index e3d97c2..f61f124 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ApplicationOutputResource.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ApplicationOutputResource.java
@@ -47,6 +47,7 @@ public class ApplicationOutputResource extends AbstractResource {
     private String validityType;
     private boolean dataMovement;
     private String dataNameLocation;
+    private String commandLineType;
 
     private AppInterfaceResource appInterfaceResource;
 
@@ -287,6 +288,7 @@ public class ApplicationOutputResource extends AbstractResource {
             applicationOutput.setOutputKey(outputKey);
             applicationOutput.setOutputVal(outputVal);
             applicationOutput.setValidityType(validityType);
+            applicationOutput.setCommandLineType(commandLineType);
             applicationOutput.setDataMovement(dataMovement);
             applicationOutput.setDataNameLocation(dataNameLocation);
             em.merge(applicationOutput);
@@ -399,4 +401,12 @@ public class ApplicationOutputResource extends AbstractResource {
     public void setDataNameLocation(String dataNameLocation) {
         this.dataNameLocation = dataNameLocation;
     }
+
+    public String getCommandLineType() {
+        return commandLineType;
+    }
+
+    public void setCommandLineType(String commandLineType) {
+        this.commandLineType = commandLineType;
+    }
 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/842004ee/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogJPAUtils.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogJPAUtils.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogJPAUtils.java
index 4c9d257..9d0cff1 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogJPAUtils.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogJPAUtils.java
@@ -800,6 +800,7 @@ public class AppCatalogJPAUtils {
             resource.setOutputVal(o.getOutputVal());
             resource.setDataType(o.getDataType());
             resource.setValidityType(o.getValidityType());
+            resource.setCommandLineType(o.getCommandLineType());
             resource.setDataMovement(o.isDataMovement());
             resource.setDataNameLocation(o.getDataNameLocation());
             resource.setAppInterfaceResource((AppInterfaceResource)createAppInterfaceResource(o.getApplicationInterface()));

http://git-wip-us.apache.org/repos/asf/airavata/blob/842004ee/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogThriftConversion.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogThriftConversion.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogThriftConversion.java
index de9d577..1516b26 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogThriftConversion.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogThriftConversion.java
@@ -583,6 +583,9 @@ public class AppCatalogThriftConversion {
         if (output.getValidityType() != null){
             outputDataObjectType.setValidityType(ValidityType.valueOf(output.getValidityType()));
         }
+        if (output.getCommandLineType() != null){
+            outputDataObjectType.setAddedToCommandLine(CommandLineType.valueOf(output.getCommandLineType()));
+        }
         outputDataObjectType.setDataMovement(output.isDataMovement());
         outputDataObjectType.setDataNameLocation(output.getDataNameLocation());
         return outputDataObjectType;

http://git-wip-us.apache.org/repos/asf/airavata/blob/842004ee/modules/app-catalog/app-catalog-data/src/main/resources/appcatalog-derby.sql
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/resources/appcatalog-derby.sql b/modules/app-catalog/app-catalog-data/src/main/resources/appcatalog-derby.sql
index a98fef6..e4882d0 100644
--- a/modules/app-catalog/app-catalog-data/src/main/resources/appcatalog-derby.sql
+++ b/modules/app-catalog/app-catalog-data/src/main/resources/appcatalog-derby.sql
@@ -286,6 +286,7 @@ CREATE TABLE APPLICATION_OUTPUT
          OUTPUT_VALUE VARCHAR(255),
          DATA_TYPE VARCHAR(255),
          VALIDITY_TYPE VARCHAR(255),
+         COMMANDLINE_TYPE VARCHAR(255),
          DATA_MOVEMENT SMALLINT,
          DATA_NAME_LOCATION VARCHAR(255),
          PRIMARY KEY(INTERFACE_ID,OUTPUT_KEY),

http://git-wip-us.apache.org/repos/asf/airavata/blob/842004ee/modules/app-catalog/app-catalog-data/src/main/resources/appcatalog-mysql.sql
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/resources/appcatalog-mysql.sql b/modules/app-catalog/app-catalog-data/src/main/resources/appcatalog-mysql.sql
index 5a4d239..5c68bc9 100644
--- a/modules/app-catalog/app-catalog-data/src/main/resources/appcatalog-mysql.sql
+++ b/modules/app-catalog/app-catalog-data/src/main/resources/appcatalog-mysql.sql
@@ -271,6 +271,7 @@ CREATE TABLE APPLICATION_OUTPUT
          OUTPUT_VALUE VARCHAR(255),
          DATA_TYPE VARCHAR(255),
          VALIDITY_TYPE VARCHAR(255),
+         COMMANDLINE_TYPE VARCHAR(255),
          DATA_MOVEMENT SMALLINT,
          DATA_NAME_LOCATION VARCHAR(255),
          PRIMARY KEY(INTERFACE_ID,OUTPUT_KEY),

http://git-wip-us.apache.org/repos/asf/airavata/blob/842004ee/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ApplicationOutput.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ApplicationOutput.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ApplicationOutput.java
index b13c842..b865eb3 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ApplicationOutput.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ApplicationOutput.java
@@ -45,6 +45,8 @@ public class ApplicationOutput implements Serializable {
 
     @Column(name = "VALIDITY_TYPE")
     private String validityType;
+    @Column(name="COMMANDLINE_TYPE")
+    private String commandLineType;
     @Column(name = "DATA_MOVEMENT")
     private boolean dataMovement;
     @Column(name = "DATA_NAME_LOCATION")
@@ -54,6 +56,14 @@ public class ApplicationOutput implements Serializable {
     @JoinColumn(name = "TASK_ID")
     private TaskDetail task;
 
+    public String getCommandLineType() {
+        return commandLineType;
+    }
+
+    public void setCommandLineType(String commandLineType) {
+        this.commandLineType = commandLineType;
+    }
+
     public String getTaskId() {
         return taskId;
     }

http://git-wip-us.apache.org/repos/asf/airavata/blob/842004ee/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Experiment_Output.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Experiment_Output.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Experiment_Output.java
index c40a5ff..fdb6469 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Experiment_Output.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Experiment_Output.java
@@ -46,6 +46,8 @@ public class Experiment_Output  implements Serializable {
 
     @Column(name = "VALIDITY_TYPE")
     private String validityType;
+    @Column(name="COMMANDLINE_TYPE")
+    private String commandLineType;
     @Column(name = "DATA_MOVEMENT")
     private boolean dataMovement;
     @Column(name = "DATA_NAME_LOCATION")
@@ -55,6 +57,13 @@ public class Experiment_Output  implements Serializable {
     @JoinColumn(name = "EXPERIMENT_ID")
     private Experiment experiment;
 
+    public String getCommandLineType() {
+        return commandLineType;
+    }
+
+    public void setCommandLineType(String commandLineType) {
+        this.commandLineType = commandLineType;
+    }
     public String getExperiment_id() {
         return experiment_id;
     }

http://git-wip-us.apache.org/repos/asf/airavata/blob/842004ee/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/NodeOutput.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/NodeOutput.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/NodeOutput.java
index bca1e33..7ec37c4 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/NodeOutput.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/NodeOutput.java
@@ -43,6 +43,8 @@ public class NodeOutput implements Serializable {
     private String value;
     @Column(name = "VALIDITY_TYPE")
     private String validityType;
+    @Column(name="COMMANDLINE_TYPE")
+    private String commandLineType;
     @Column(name = "DATA_MOVEMENT")
     private boolean dataMovement;
     @Column(name = "DATA_NAME_LOCATION")
@@ -53,6 +55,14 @@ public class NodeOutput implements Serializable {
     @JoinColumn(name = "NODE_INSTANCE_ID")
     private WorkflowNodeDetail node;
 
+    public String getCommandLineType() {
+        return commandLineType;
+    }
+
+    public void setCommandLineType(String commandLineType) {
+        this.commandLineType = commandLineType;
+    }
+
     public String getNodeId() {
         return nodeId;
     }

http://git-wip-us.apache.org/repos/asf/airavata/blob/842004ee/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ApplicationOutputResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ApplicationOutputResource.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ApplicationOutputResource.java
index 4209f87..a497b40 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ApplicationOutputResource.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ApplicationOutputResource.java
@@ -44,6 +44,15 @@ public class ApplicationOutputResource extends AbstractResource {
     private String validityType;
     private boolean dataMovement;
     private String dataNameLocation;
+    private String commandLineType;
+
+    public String getCommandLineType() {
+        return commandLineType;
+    }
+
+    public void setCommandLineType(String commandLineType) {
+        this.commandLineType = commandLineType;
+    }
 
     public String getValidityType() {
         return validityType;
@@ -142,6 +151,7 @@ public class ApplicationOutputResource extends AbstractResource {
             applicationOutput.setOutputKey(outputKey);
             applicationOutput.setDataType(dataType);
             applicationOutput.setValidityType(validityType);
+            applicationOutput.setCommandLineType(commandLineType);
             applicationOutput.setDataMovement(dataMovement);
             applicationOutput.setDataNameLocation(dataNameLocation);
             if (value != null){
@@ -154,6 +164,7 @@ public class ApplicationOutputResource extends AbstractResource {
                 existingOutput.setOutputKey(outputKey);
                 existingOutput.setDataType(dataType);
                 existingOutput.setValidityType(validityType);
+                existingOutput.setCommandLineType(commandLineType);
                 existingOutput.setDataMovement(dataMovement);
                 existingOutput.setDataNameLocation(dataNameLocation);
                 if (value != null){

http://git-wip-us.apache.org/repos/asf/airavata/blob/842004ee/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentOutputResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentOutputResource.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentOutputResource.java
index 983ff8b..92cd02c 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentOutputResource.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentOutputResource.java
@@ -44,6 +44,15 @@ public class ExperimentOutputResource extends AbstractResource {
     private String validityType;
     private boolean dataMovement;
     private String dataNameLocation;
+    private String commandLineType;
+
+    public String getCommandLineType() {
+        return commandLineType;
+    }
+
+    public void setCommandLineType(String commandLineType) {
+        this.commandLineType = commandLineType;
+    }
 
     public String getValidityType() {
         return validityType;
@@ -140,6 +149,7 @@ public class ExperimentOutputResource extends AbstractResource {
             }
             exOutput.setDataType(dataType);
             exOutput.setValidityType(validityType);
+            exOutput.setCommandLineType(commandLineType);
             exOutput.setDataMovement(dataMovement);
             exOutput.setDataNameLocation(dataNameLocation);
 
@@ -152,6 +162,7 @@ public class ExperimentOutputResource extends AbstractResource {
                 existingOutput.setExperiment_id(experiment.getExpId());
                 existingOutput.setDataType(dataType);
                 existingOutput.setValidityType(validityType);
+                existingOutput.setCommandLineType(commandLineType);
                 existingOutput.setDataMovement(dataMovement);
                 existingOutput.setDataNameLocation(dataNameLocation);
                 exOutput = em.merge(existingOutput);

http://git-wip-us.apache.org/repos/asf/airavata/blob/842004ee/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/NodeOutputResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/NodeOutputResource.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/NodeOutputResource.java
index caeae7e..acdf1dc 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/NodeOutputResource.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/NodeOutputResource.java
@@ -45,6 +45,15 @@ public class NodeOutputResource extends AbstractResource {
     private String validityType;
     private boolean dataMovement;
     private String dataNameLocation;
+    private String commandLineType;
+
+    public String getCommandLineType() {
+        return commandLineType;
+    }
+
+    public void setCommandLineType(String commandLineType) {
+        this.commandLineType = commandLineType;
+    }
 
     public String getValidityType() {
         return validityType;
@@ -144,6 +153,7 @@ public class NodeOutputResource extends AbstractResource {
             nodeOutput.setDataType(dataType);
             nodeOutput.setValue(value);
             nodeOutput.setValidityType(validityType);
+            nodeOutput.setCommandLineType(commandLineType);
             nodeOutput.setDataMovement(dataMovement);
             nodeOutput.setDataNameLocation(dataNameLocation);
 
@@ -154,6 +164,7 @@ public class NodeOutputResource extends AbstractResource {
                 existingOutput.setDataType(dataType);
                 existingOutput.setValue(value);
                 existingOutput.setValidityType(validityType);
+                existingOutput.setCommandLineType(commandLineType);
                 existingOutput.setDataMovement(dataMovement);
                 existingOutput.setDataNameLocation(dataNameLocation);
                 nodeOutput = em.merge(existingOutput);

http://git-wip-us.apache.org/repos/asf/airavata/blob/842004ee/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/Utils.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/Utils.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/Utils.java
index e131a47..b61a19a 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/Utils.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/Utils.java
@@ -543,6 +543,7 @@ public class Utils {
             }
             eOutputResource.setDataType(o.getDataType());
             eOutputResource.setValidityType(o.getValidityType());
+            eOutputResource.setCommandLineType(o.getCommandLineType());
             eOutputResource.setDataMovement(o.isDataMovement());
             eOutputResource.setDataNameLocation(o.getDataNameLocation());
         }
@@ -638,6 +639,7 @@ public class Utils {
                 outputResource.setValue(new String(o.getValue()));
             }
             outputResource.setValidityType(o.getValidityType());
+            outputResource.setCommandLineType(o.getCommandLineType());
             outputResource.setDataMovement(o.isDataMovement());
             outputResource.setDataNameLocation(o.getDataNameLocation());
         }
@@ -673,6 +675,7 @@ public class Utils {
             outputResource.setOutputKey(o.getOutputKey());
             outputResource.setValue(o.getValue());
             outputResource.setValidityType(o.getValidityType());
+            outputResource.setCommandLineType(o.getCommandLineType());
             outputResource.setDataMovement(o.isDataMovement());
             outputResource.setDataNameLocation(o.getDataNameLocation());
         }

http://git-wip-us.apache.org/repos/asf/airavata/blob/842004ee/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/utils/ThriftDataModelConversion.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/utils/ThriftDataModelConversion.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/utils/ThriftDataModelConversion.java
index 9818e6f..0f87863 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/utils/ThriftDataModelConversion.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/utils/ThriftDataModelConversion.java
@@ -260,6 +260,9 @@ public class ThriftDataModelConversion {
                 if (expOutput.getValidityType() != null){
                     dataObjectType.setValidityType(ValidityType.valueOf(expOutput.getValidityType()));
                 }
+                if (expOutput.getCommandLineType() != null){
+                    dataObjectType.setAddedToCommandLine(CommandLineType.valueOf(expOutput.getCommandLineType()));
+                }
                 dataObjectType.setDataMovement(expOutput.isDataMovement());
                 dataObjectType.setDataNameLocation(expOutput.getDataNameLocation());
                 return dataObjectType;
@@ -273,6 +276,9 @@ public class ThriftDataModelConversion {
                 if (nodeOutputResource.getValidityType() != null){
                     dataObjectType.setValidityType(ValidityType.valueOf(nodeOutputResource.getValidityType()));
                 }
+                if (nodeOutputResource.getCommandLineType() != null){
+                    dataObjectType.setAddedToCommandLine(CommandLineType.valueOf(nodeOutputResource.getCommandLineType()));
+                }
                 dataObjectType.setDataMovement(nodeOutputResource.isDataMovement());
                 dataObjectType.setDataNameLocation(nodeOutputResource.getDataNameLocation());
                 return dataObjectType;
@@ -286,6 +292,9 @@ public class ThriftDataModelConversion {
                 if (outputResource.getValidityType() != null){
                     dataObjectType.setValidityType(ValidityType.valueOf(outputResource.getValidityType()));
                 }
+                if (outputResource.getCommandLineType() != null){
+                    dataObjectType.setAddedToCommandLine(CommandLineType.valueOf(outputResource.getCommandLineType()));
+                }
                 dataObjectType.setDataMovement(outputResource.isDataMovement());
                 dataObjectType.setDataNameLocation(outputResource.getDataNameLocation());
                 return dataObjectType;

http://git-wip-us.apache.org/repos/asf/airavata/blob/842004ee/modules/registry/airavata-jpa-registry/src/main/resources/registry-derby.sql
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/resources/registry-derby.sql b/modules/registry/airavata-jpa-registry/src/main/resources/registry-derby.sql
index c1bd458..ca78551 100644
--- a/modules/registry/airavata-jpa-registry/src/main/resources/registry-derby.sql
+++ b/modules/registry/airavata-jpa-registry/src/main/resources/registry-derby.sql
@@ -146,6 +146,7 @@ CREATE TABLE EXPERIMENT_OUTPUT
         DATA_TYPE VARCHAR(255),
         VALUE CLOB,
         VALIDITY_TYPE VARCHAR(255),
+        COMMANDLINE_TYPE VARCHAR(255),
         DATA_MOVEMENT SMALLINT,
         DATA_NAME_LOCATION VARCHAR(255),
         PRIMARY KEY(EXPERIMENT_ID,OUTPUT_KEY),
@@ -222,6 +223,7 @@ CREATE TABLE APPLICATION_OUTPUT
         DATA_TYPE VARCHAR(255),
         VALUE CLOB,
         VALIDITY_TYPE VARCHAR(255),
+        COMMANDLINE_TYPE VARCHAR(255),
         DATA_MOVEMENT SMALLINT,
         DATA_NAME_LOCATION VARCHAR(255),
         PRIMARY KEY(TASK_ID,OUTPUT_KEY),
@@ -253,6 +255,7 @@ CREATE TABLE NODE_OUTPUT
        DATA_TYPE VARCHAR(255),
        VALUE VARCHAR(255),
        VALIDITY_TYPE VARCHAR(255),
+       COMMANDLINE_TYPE VARCHAR(255),
        DATA_MOVEMENT SMALLINT,
        DATA_NAME_LOCATION VARCHAR(255),
        PRIMARY KEY(NODE_INSTANCE_ID,OUTPUT_KEY),

http://git-wip-us.apache.org/repos/asf/airavata/blob/842004ee/modules/registry/airavata-jpa-registry/src/main/resources/registry-mysql.sql
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/resources/registry-mysql.sql b/modules/registry/airavata-jpa-registry/src/main/resources/registry-mysql.sql
index 7f7dfab..ccc82ff 100644
--- a/modules/registry/airavata-jpa-registry/src/main/resources/registry-mysql.sql
+++ b/modules/registry/airavata-jpa-registry/src/main/resources/registry-mysql.sql
@@ -146,6 +146,7 @@ CREATE TABLE EXPERIMENT_OUTPUT
         DATA_TYPE VARCHAR(255),
         VALUE LONGTEXT,
         VALIDITY_TYPE VARCHAR(255),
+        COMMANDLINE_TYPE VARCHAR(255),
         DATA_MOVEMENT SMALLINT,
         DATA_NAME_LOCATION VARCHAR(255),
         PRIMARY KEY(EXPERIMENT_ID,OUTPUT_KEY),
@@ -204,6 +205,7 @@ CREATE TABLE APPLICATION_OUTPUT
         VALUE LONGTEXT,
         VALIDITY_TYPE VARCHAR(255),
         DATA_MOVEMENT SMALLINT,
+        COMMANDLINE_TYPE VARCHAR(255),
         DATA_NAME_LOCATION VARCHAR(255),
         PRIMARY KEY(TASK_ID,OUTPUT_KEY),
         FOREIGN KEY (TASK_ID) REFERENCES TASK_DETAIL(TASK_ID) ON DELETE CASCADE
@@ -234,6 +236,7 @@ CREATE TABLE NODE_OUTPUT
        DATA_TYPE VARCHAR(255),
        VALUE VARCHAR(255),
        VALIDITY_TYPE VARCHAR(255),
+       COMMANDLINE_TYPE VARCHAR(255),
        DATA_MOVEMENT SMALLINT,
        DATA_NAME_LOCATION VARCHAR(255),
        PRIMARY KEY(NODE_INSTANCE_ID,OUTPUT_KEY),


[3/3] airavata git commit: adding gamess and update airavata data models

Posted by ch...@apache.org.
adding gamess and update airavata data models


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

Branch: refs/heads/master
Commit: 842004ee48df281bf068e024d8118677bf639bdb
Parents: a913610
Author: Chathuri Wimalasena <ka...@gmail.com>
Authored: Mon Dec 22 16:58:08 2014 -0500
Committer: Chathuri Wimalasena <ka...@gmail.com>
Committed: Mon Dec 22 16:58:08 2014 -0500

----------------------------------------------------------------------
 .../applicationInterfaceModel_types.cpp         |  90 ++---
 .../airavata/applicationInterfaceModel_types.h  |  23 +-
 .../lib/airavata/computeResourceModel_types.cpp |  36 +-
 .../lib/airavata/computeResourceModel_types.h   |  38 ++-
 .../lib/airavata/experimentModel_types.cpp      |  12 +-
 .../lib/airavata/experimentModel_types.h        |  12 +-
 .../lib/airavata/messagingEvents_types.cpp      |   4 +-
 .../lib/airavata/messagingEvents_types.h        |   4 +-
 .../lib/airavata/workflowDataModel_types.cpp    |   4 +-
 .../lib/airavata/workflowDataModel_types.h      |   4 +-
 .../Model/AppCatalog/AppInterface/Types.php     |  28 +-
 .../Model/AppCatalog/ComputeResource/Types.php  |  40 +++
 .../tools/RegisterSampleApplications.java       | 331 +++++++------------
 .../tools/RegisterSampleApplicationsUtils.java  |  46 ++-
 .../appinterface/OutputDataObjectType.java      | 141 +++++++-
 .../appcatalog/computeresource/BatchQueue.java  | 102 +++++-
 .../ComputeResourceDescription.java             | 106 +++++-
 .../applicationInterfaceModel.thrift            |   5 +-
 .../computeResourceModel.thrift                 |   6 +-
 .../catalog/data/model/ApplicationOutput.java   |   9 +
 .../resources/ApplicationOutputResource.java    |  10 +
 .../catalog/data/util/AppCatalogJPAUtils.java   |   1 +
 .../data/util/AppCatalogThriftConversion.java   |   3 +
 .../src/main/resources/appcatalog-derby.sql     |   1 +
 .../src/main/resources/appcatalog-mysql.sql     |   1 +
 .../registry/jpa/model/ApplicationOutput.java   |  10 +
 .../registry/jpa/model/Experiment_Output.java   |   9 +
 .../registry/jpa/model/NodeOutput.java          |  10 +
 .../resources/ApplicationOutputResource.java    |  11 +
 .../jpa/resources/ExperimentOutputResource.java |  11 +
 .../jpa/resources/NodeOutputResource.java       |  11 +
 .../registry/jpa/resources/Utils.java           |   3 +
 .../jpa/utils/ThriftDataModelConversion.java    |   9 +
 .../src/main/resources/registry-derby.sql       |   3 +
 .../src/main/resources/registry-mysql.sql       |   3 +
 35 files changed, 814 insertions(+), 323 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/842004ee/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationInterfaceModel_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationInterfaceModel_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationInterfaceModel_types.cpp
index 1b40aa0..50f18a5 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationInterfaceModel_types.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationInterfaceModel_types.cpp
@@ -286,8 +286,8 @@ void swap(InputDataObjectType &a, InputDataObjectType &b) {
   swap(a.__isset, b.__isset);
 }
 
-const char* OutputDataObjectType::ascii_fingerprint = "9B8C3AEA43A2028DF0CEF51E90706E3A";
-const uint8_t OutputDataObjectType::binary_fingerprint[16] = {0x9B,0x8C,0x3A,0xEA,0x43,0xA2,0x02,0x8D,0xF0,0xCE,0xF5,0x1E,0x90,0x70,0x6E,0x3A};
+const char* OutputDataObjectType::ascii_fingerprint = "C7730F2BFEF5236FD42B9C23095938DB";
+const uint8_t OutputDataObjectType::binary_fingerprint[16] = {0xC7,0x73,0x0F,0x2B,0xFE,0xF5,0x23,0x6F,0xD4,0x2B,0x9C,0x23,0x09,0x59,0x38,0xDB};
 
 uint32_t OutputDataObjectType::read(::apache::thrift::protocol::TProtocol* iprot) {
 
@@ -347,6 +347,16 @@ uint32_t OutputDataObjectType::read(::apache::thrift::protocol::TProtocol* iprot
         }
         break;
       case 5:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          int32_t ecast5;
+          xfer += iprot->readI32(ecast5);
+          this->addedToCommandLine = (CommandLineType::type)ecast5;
+          this->__isset.addedToCommandLine = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 6:
         if (ftype == ::apache::thrift::protocol::T_BOOL) {
           xfer += iprot->readBool(this->dataMovement);
           this->__isset.dataMovement = true;
@@ -354,7 +364,7 @@ uint32_t OutputDataObjectType::read(::apache::thrift::protocol::TProtocol* iprot
           xfer += iprot->skip(ftype);
         }
         break;
-      case 6:
+      case 7:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->dataNameLocation);
           this->__isset.dataNameLocation = true;
@@ -399,13 +409,18 @@ uint32_t OutputDataObjectType::write(::apache::thrift::protocol::TProtocol* opro
     xfer += oprot->writeI32((int32_t)this->validityType);
     xfer += oprot->writeFieldEnd();
   }
+  if (this->__isset.addedToCommandLine) {
+    xfer += oprot->writeFieldBegin("addedToCommandLine", ::apache::thrift::protocol::T_I32, 5);
+    xfer += oprot->writeI32((int32_t)this->addedToCommandLine);
+    xfer += oprot->writeFieldEnd();
+  }
   if (this->__isset.dataMovement) {
-    xfer += oprot->writeFieldBegin("dataMovement", ::apache::thrift::protocol::T_BOOL, 5);
+    xfer += oprot->writeFieldBegin("dataMovement", ::apache::thrift::protocol::T_BOOL, 6);
     xfer += oprot->writeBool(this->dataMovement);
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.dataNameLocation) {
-    xfer += oprot->writeFieldBegin("dataNameLocation", ::apache::thrift::protocol::T_STRING, 6);
+    xfer += oprot->writeFieldBegin("dataNameLocation", ::apache::thrift::protocol::T_STRING, 7);
     xfer += oprot->writeString(this->dataNameLocation);
     xfer += oprot->writeFieldEnd();
   }
@@ -420,13 +435,14 @@ void swap(OutputDataObjectType &a, OutputDataObjectType &b) {
   swap(a.value, b.value);
   swap(a.type, b.type);
   swap(a.validityType, b.validityType);
+  swap(a.addedToCommandLine, b.addedToCommandLine);
   swap(a.dataMovement, b.dataMovement);
   swap(a.dataNameLocation, b.dataNameLocation);
   swap(a.__isset, b.__isset);
 }
 
-const char* ApplicationInterfaceDescription::ascii_fingerprint = "CE1749A2DE50827990C3136E0CE4B60D";
-const uint8_t ApplicationInterfaceDescription::binary_fingerprint[16] = {0xCE,0x17,0x49,0xA2,0xDE,0x50,0x82,0x79,0x90,0xC3,0x13,0x6E,0x0C,0xE4,0xB6,0x0D};
+const char* ApplicationInterfaceDescription::ascii_fingerprint = "3BB1C87ED8E5FD354E5AE0409D72BE54";
+const uint8_t ApplicationInterfaceDescription::binary_fingerprint[16] = {0x3B,0xB1,0xC8,0x7E,0xD8,0xE5,0xFD,0x35,0x4E,0x5A,0xE0,0x40,0x9D,0x72,0xBE,0x54};
 
 uint32_t ApplicationInterfaceDescription::read(::apache::thrift::protocol::TProtocol* iprot) {
 
@@ -478,14 +494,14 @@ uint32_t ApplicationInterfaceDescription::read(::apache::thrift::protocol::TProt
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->applicationModules.clear();
-            uint32_t _size5;
-            ::apache::thrift::protocol::TType _etype8;
-            xfer += iprot->readListBegin(_etype8, _size5);
-            this->applicationModules.resize(_size5);
-            uint32_t _i9;
-            for (_i9 = 0; _i9 < _size5; ++_i9)
+            uint32_t _size6;
+            ::apache::thrift::protocol::TType _etype9;
+            xfer += iprot->readListBegin(_etype9, _size6);
+            this->applicationModules.resize(_size6);
+            uint32_t _i10;
+            for (_i10 = 0; _i10 < _size6; ++_i10)
             {
-              xfer += iprot->readString(this->applicationModules[_i9]);
+              xfer += iprot->readString(this->applicationModules[_i10]);
             }
             xfer += iprot->readListEnd();
           }
@@ -498,14 +514,14 @@ uint32_t ApplicationInterfaceDescription::read(::apache::thrift::protocol::TProt
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->applicationInputs.clear();
-            uint32_t _size10;
-            ::apache::thrift::protocol::TType _etype13;
-            xfer += iprot->readListBegin(_etype13, _size10);
-            this->applicationInputs.resize(_size10);
-            uint32_t _i14;
-            for (_i14 = 0; _i14 < _size10; ++_i14)
+            uint32_t _size11;
+            ::apache::thrift::protocol::TType _etype14;
+            xfer += iprot->readListBegin(_etype14, _size11);
+            this->applicationInputs.resize(_size11);
+            uint32_t _i15;
+            for (_i15 = 0; _i15 < _size11; ++_i15)
             {
-              xfer += this->applicationInputs[_i14].read(iprot);
+              xfer += this->applicationInputs[_i15].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -518,14 +534,14 @@ uint32_t ApplicationInterfaceDescription::read(::apache::thrift::protocol::TProt
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->applicationOutputs.clear();
-            uint32_t _size15;
-            ::apache::thrift::protocol::TType _etype18;
-            xfer += iprot->readListBegin(_etype18, _size15);
-            this->applicationOutputs.resize(_size15);
-            uint32_t _i19;
-            for (_i19 = 0; _i19 < _size15; ++_i19)
+            uint32_t _size16;
+            ::apache::thrift::protocol::TType _etype19;
+            xfer += iprot->readListBegin(_etype19, _size16);
+            this->applicationOutputs.resize(_size16);
+            uint32_t _i20;
+            for (_i20 = 0; _i20 < _size16; ++_i20)
             {
-              xfer += this->applicationOutputs[_i19].read(iprot);
+              xfer += this->applicationOutputs[_i20].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -571,10 +587,10 @@ uint32_t ApplicationInterfaceDescription::write(::apache::thrift::protocol::TPro
     xfer += oprot->writeFieldBegin("applicationModules", ::apache::thrift::protocol::T_LIST, 4);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->applicationModules.size()));
-      std::vector<std::string> ::const_iterator _iter20;
-      for (_iter20 = this->applicationModules.begin(); _iter20 != this->applicationModules.end(); ++_iter20)
+      std::vector<std::string> ::const_iterator _iter21;
+      for (_iter21 = this->applicationModules.begin(); _iter21 != this->applicationModules.end(); ++_iter21)
       {
-        xfer += oprot->writeString((*_iter20));
+        xfer += oprot->writeString((*_iter21));
       }
       xfer += oprot->writeListEnd();
     }
@@ -584,10 +600,10 @@ uint32_t ApplicationInterfaceDescription::write(::apache::thrift::protocol::TPro
     xfer += oprot->writeFieldBegin("applicationInputs", ::apache::thrift::protocol::T_LIST, 5);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->applicationInputs.size()));
-      std::vector<InputDataObjectType> ::const_iterator _iter21;
-      for (_iter21 = this->applicationInputs.begin(); _iter21 != this->applicationInputs.end(); ++_iter21)
+      std::vector<InputDataObjectType> ::const_iterator _iter22;
+      for (_iter22 = this->applicationInputs.begin(); _iter22 != this->applicationInputs.end(); ++_iter22)
       {
-        xfer += (*_iter21).write(oprot);
+        xfer += (*_iter22).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -597,10 +613,10 @@ uint32_t ApplicationInterfaceDescription::write(::apache::thrift::protocol::TPro
     xfer += oprot->writeFieldBegin("applicationOutputs", ::apache::thrift::protocol::T_LIST, 6);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->applicationOutputs.size()));
-      std::vector<OutputDataObjectType> ::const_iterator _iter22;
-      for (_iter22 = this->applicationOutputs.begin(); _iter22 != this->applicationOutputs.end(); ++_iter22)
+      std::vector<OutputDataObjectType> ::const_iterator _iter23;
+      for (_iter23 = this->applicationOutputs.begin(); _iter23 != this->applicationOutputs.end(); ++_iter23)
       {
-        xfer += (*_iter22).write(oprot);
+        xfer += (*_iter23).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }

http://git-wip-us.apache.org/repos/asf/airavata/blob/842004ee/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationInterfaceModel_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationInterfaceModel_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationInterfaceModel_types.h
index 7a7ab52..38a6f32 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationInterfaceModel_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationInterfaceModel_types.h
@@ -227,10 +227,11 @@ class InputDataObjectType {
 void swap(InputDataObjectType &a, InputDataObjectType &b);
 
 typedef struct _OutputDataObjectType__isset {
-  _OutputDataObjectType__isset() : value(false), type(false), validityType(false), dataMovement(false), dataNameLocation(false) {}
+  _OutputDataObjectType__isset() : value(false), type(false), validityType(false), addedToCommandLine(false), dataMovement(false), dataNameLocation(false) {}
   bool value;
   bool type;
   bool validityType;
+  bool addedToCommandLine;
   bool dataMovement;
   bool dataNameLocation;
 } _OutputDataObjectType__isset;
@@ -238,10 +239,10 @@ typedef struct _OutputDataObjectType__isset {
 class OutputDataObjectType {
  public:
 
-  static const char* ascii_fingerprint; // = "9B8C3AEA43A2028DF0CEF51E90706E3A";
-  static const uint8_t binary_fingerprint[16]; // = {0x9B,0x8C,0x3A,0xEA,0x43,0xA2,0x02,0x8D,0xF0,0xCE,0xF5,0x1E,0x90,0x70,0x6E,0x3A};
+  static const char* ascii_fingerprint; // = "C7730F2BFEF5236FD42B9C23095938DB";
+  static const uint8_t binary_fingerprint[16]; // = {0xC7,0x73,0x0F,0x2B,0xFE,0xF5,0x23,0x6F,0xD4,0x2B,0x9C,0x23,0x09,0x59,0x38,0xDB};
 
-  OutputDataObjectType() : name(), value(), type((DataType::type)0), validityType((ValidityType::type)0), dataMovement(0), dataNameLocation() {
+  OutputDataObjectType() : name(), value(), type((DataType::type)0), validityType((ValidityType::type)0), addedToCommandLine((CommandLineType::type)0), dataMovement(0), dataNameLocation() {
   }
 
   virtual ~OutputDataObjectType() throw() {}
@@ -250,6 +251,7 @@ class OutputDataObjectType {
   std::string value;
   DataType::type type;
   ValidityType::type validityType;
+  CommandLineType::type addedToCommandLine;
   bool dataMovement;
   std::string dataNameLocation;
 
@@ -274,6 +276,11 @@ class OutputDataObjectType {
     __isset.validityType = true;
   }
 
+  void __set_addedToCommandLine(const CommandLineType::type val) {
+    addedToCommandLine = val;
+    __isset.addedToCommandLine = true;
+  }
+
   void __set_dataMovement(const bool val) {
     dataMovement = val;
     __isset.dataMovement = true;
@@ -300,6 +307,10 @@ class OutputDataObjectType {
       return false;
     else if (__isset.validityType && !(validityType == rhs.validityType))
       return false;
+    if (__isset.addedToCommandLine != rhs.__isset.addedToCommandLine)
+      return false;
+    else if (__isset.addedToCommandLine && !(addedToCommandLine == rhs.addedToCommandLine))
+      return false;
     if (__isset.dataMovement != rhs.__isset.dataMovement)
       return false;
     else if (__isset.dataMovement && !(dataMovement == rhs.dataMovement))
@@ -334,8 +345,8 @@ typedef struct _ApplicationInterfaceDescription__isset {
 class ApplicationInterfaceDescription {
  public:
 
-  static const char* ascii_fingerprint; // = "CE1749A2DE50827990C3136E0CE4B60D";
-  static const uint8_t binary_fingerprint[16]; // = {0xCE,0x17,0x49,0xA2,0xDE,0x50,0x82,0x79,0x90,0xC3,0x13,0x6E,0x0C,0xE4,0xB6,0x0D};
+  static const char* ascii_fingerprint; // = "3BB1C87ED8E5FD354E5AE0409D72BE54";
+  static const uint8_t binary_fingerprint[16]; // = {0x3B,0xB1,0xC8,0x7E,0xD8,0xE5,0xFD,0x35,0x4E,0x5A,0xE0,0x40,0x9D,0x72,0xBE,0x54};
 
   ApplicationInterfaceDescription() : applicationInterfaceId("DO_NOT_SET_AT_CLIENTS"), applicationName(), applicationDescription() {
   }

http://git-wip-us.apache.org/repos/asf/airavata/blob/842004ee/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_types.cpp
index 25c7bf1..b202d83 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_types.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_types.cpp
@@ -298,8 +298,8 @@ void swap(ResourceJobManager &a, ResourceJobManager &b) {
   swap(a.__isset, b.__isset);
 }
 
-const char* BatchQueue::ascii_fingerprint = "DA59FF8EE453E1822971C1CE1471EEA1";
-const uint8_t BatchQueue::binary_fingerprint[16] = {0xDA,0x59,0xFF,0x8E,0xE4,0x53,0xE1,0x82,0x29,0x71,0xC1,0xCE,0x14,0x71,0xEE,0xA1};
+const char* BatchQueue::ascii_fingerprint = "ED0A78585E8BA402743AC1D5D510EF9E";
+const uint8_t BatchQueue::binary_fingerprint[16] = {0xED,0x0A,0x78,0x58,0x5E,0x8B,0xA4,0x02,0x74,0x3A,0xC1,0xD5,0xD5,0x10,0xEF,0x9E};
 
 uint32_t BatchQueue::read(::apache::thrift::protocol::TProtocol* iprot) {
 
@@ -370,6 +370,14 @@ uint32_t BatchQueue::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
+      case 7:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          xfer += iprot->readI32(this->maxMemory);
+          this->__isset.maxMemory = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -417,6 +425,11 @@ uint32_t BatchQueue::write(::apache::thrift::protocol::TProtocol* oprot) const {
     xfer += oprot->writeI32(this->maxJobsInQueue);
     xfer += oprot->writeFieldEnd();
   }
+  if (this->__isset.maxMemory) {
+    xfer += oprot->writeFieldBegin("maxMemory", ::apache::thrift::protocol::T_I32, 7);
+    xfer += oprot->writeI32(this->maxMemory);
+    xfer += oprot->writeFieldEnd();
+  }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
   return xfer;
@@ -430,6 +443,7 @@ void swap(BatchQueue &a, BatchQueue &b) {
   swap(a.maxNodes, b.maxNodes);
   swap(a.maxProcessors, b.maxProcessors);
   swap(a.maxJobsInQueue, b.maxJobsInQueue);
+  swap(a.maxMemory, b.maxMemory);
   swap(a.__isset, b.__isset);
 }
 
@@ -1606,8 +1620,8 @@ void swap(DataMovementInterface &a, DataMovementInterface &b) {
   swap(a.priorityOrder, b.priorityOrder);
 }
 
-const char* ComputeResourceDescription::ascii_fingerprint = "CA924FC1A07D7956848B049D2CACF3EC";
-const uint8_t ComputeResourceDescription::binary_fingerprint[16] = {0xCA,0x92,0x4F,0xC1,0xA0,0x7D,0x79,0x56,0x84,0x8B,0x04,0x9D,0x2C,0xAC,0xF3,0xEC};
+const char* ComputeResourceDescription::ascii_fingerprint = "3CD4212965217787DCD6081F1744069F";
+const uint8_t ComputeResourceDescription::binary_fingerprint[16] = {0x3C,0xD4,0x21,0x29,0x65,0x21,0x77,0x87,0xDC,0xD6,0x08,0x1F,0x17,0x44,0x06,0x9F};
 
 uint32_t ComputeResourceDescription::read(::apache::thrift::protocol::TProtocol* iprot) {
 
@@ -1780,6 +1794,14 @@ uint32_t ComputeResourceDescription::read(::apache::thrift::protocol::TProtocol*
           xfer += iprot->skip(ftype);
         }
         break;
+      case 10:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          xfer += iprot->readI32(this->maxMemoryPerNode);
+          this->__isset.maxMemoryPerNode = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -1892,6 +1914,11 @@ uint32_t ComputeResourceDescription::write(::apache::thrift::protocol::TProtocol
     }
     xfer += oprot->writeFieldEnd();
   }
+  if (this->__isset.maxMemoryPerNode) {
+    xfer += oprot->writeFieldBegin("maxMemoryPerNode", ::apache::thrift::protocol::T_I32, 10);
+    xfer += oprot->writeI32(this->maxMemoryPerNode);
+    xfer += oprot->writeFieldEnd();
+  }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
   return xfer;
@@ -1908,6 +1935,7 @@ void swap(ComputeResourceDescription &a, ComputeResourceDescription &b) {
   swap(a.fileSystems, b.fileSystems);
   swap(a.jobSubmissionInterfaces, b.jobSubmissionInterfaces);
   swap(a.dataMovementInterfaces, b.dataMovementInterfaces);
+  swap(a.maxMemoryPerNode, b.maxMemoryPerNode);
   swap(a.__isset, b.__isset);
 }
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/842004ee/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_types.h
index 582b2d1..f6f0298 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_types.h
@@ -209,21 +209,22 @@ class ResourceJobManager {
 void swap(ResourceJobManager &a, ResourceJobManager &b);
 
 typedef struct _BatchQueue__isset {
-  _BatchQueue__isset() : queueDescription(false), maxRunTime(false), maxNodes(false), maxProcessors(false), maxJobsInQueue(false) {}
+  _BatchQueue__isset() : queueDescription(false), maxRunTime(false), maxNodes(false), maxProcessors(false), maxJobsInQueue(false), maxMemory(false) {}
   bool queueDescription;
   bool maxRunTime;
   bool maxNodes;
   bool maxProcessors;
   bool maxJobsInQueue;
+  bool maxMemory;
 } _BatchQueue__isset;
 
 class BatchQueue {
  public:
 
-  static const char* ascii_fingerprint; // = "DA59FF8EE453E1822971C1CE1471EEA1";
-  static const uint8_t binary_fingerprint[16]; // = {0xDA,0x59,0xFF,0x8E,0xE4,0x53,0xE1,0x82,0x29,0x71,0xC1,0xCE,0x14,0x71,0xEE,0xA1};
+  static const char* ascii_fingerprint; // = "ED0A78585E8BA402743AC1D5D510EF9E";
+  static const uint8_t binary_fingerprint[16]; // = {0xED,0x0A,0x78,0x58,0x5E,0x8B,0xA4,0x02,0x74,0x3A,0xC1,0xD5,0xD5,0x10,0xEF,0x9E};
 
-  BatchQueue() : queueName(), queueDescription(), maxRunTime(0), maxNodes(0), maxProcessors(0), maxJobsInQueue(0) {
+  BatchQueue() : queueName(), queueDescription(), maxRunTime(0), maxNodes(0), maxProcessors(0), maxJobsInQueue(0), maxMemory(0) {
   }
 
   virtual ~BatchQueue() throw() {}
@@ -234,6 +235,7 @@ class BatchQueue {
   int32_t maxNodes;
   int32_t maxProcessors;
   int32_t maxJobsInQueue;
+  int32_t maxMemory;
 
   _BatchQueue__isset __isset;
 
@@ -266,6 +268,11 @@ class BatchQueue {
     __isset.maxJobsInQueue = true;
   }
 
+  void __set_maxMemory(const int32_t val) {
+    maxMemory = val;
+    __isset.maxMemory = true;
+  }
+
   bool operator == (const BatchQueue & rhs) const
   {
     if (!(queueName == rhs.queueName))
@@ -290,6 +297,10 @@ class BatchQueue {
       return false;
     else if (__isset.maxJobsInQueue && !(maxJobsInQueue == rhs.maxJobsInQueue))
       return false;
+    if (__isset.maxMemory != rhs.__isset.maxMemory)
+      return false;
+    else if (__isset.maxMemory && !(maxMemory == rhs.maxMemory))
+      return false;
     return true;
   }
   bool operator != (const BatchQueue &rhs) const {
@@ -934,7 +945,7 @@ class DataMovementInterface {
 void swap(DataMovementInterface &a, DataMovementInterface &b);
 
 typedef struct _ComputeResourceDescription__isset {
-  _ComputeResourceDescription__isset() : hostAliases(false), ipAddresses(false), resourceDescription(false), batchQueues(false), fileSystems(false), jobSubmissionInterfaces(false), dataMovementInterfaces(false) {}
+  _ComputeResourceDescription__isset() : hostAliases(false), ipAddresses(false), resourceDescription(false), batchQueues(false), fileSystems(false), jobSubmissionInterfaces(false), dataMovementInterfaces(false), maxMemoryPerNode(false) {}
   bool hostAliases;
   bool ipAddresses;
   bool resourceDescription;
@@ -942,15 +953,16 @@ typedef struct _ComputeResourceDescription__isset {
   bool fileSystems;
   bool jobSubmissionInterfaces;
   bool dataMovementInterfaces;
+  bool maxMemoryPerNode;
 } _ComputeResourceDescription__isset;
 
 class ComputeResourceDescription {
  public:
 
-  static const char* ascii_fingerprint; // = "CA924FC1A07D7956848B049D2CACF3EC";
-  static const uint8_t binary_fingerprint[16]; // = {0xCA,0x92,0x4F,0xC1,0xA0,0x7D,0x79,0x56,0x84,0x8B,0x04,0x9D,0x2C,0xAC,0xF3,0xEC};
+  static const char* ascii_fingerprint; // = "3CD4212965217787DCD6081F1744069F";
+  static const uint8_t binary_fingerprint[16]; // = {0x3C,0xD4,0x21,0x29,0x65,0x21,0x77,0x87,0xDC,0xD6,0x08,0x1F,0x17,0x44,0x06,0x9F};
 
-  ComputeResourceDescription() : computeResourceId("DO_NOT_SET_AT_CLIENTS"), hostName(), resourceDescription() {
+  ComputeResourceDescription() : computeResourceId("DO_NOT_SET_AT_CLIENTS"), hostName(), resourceDescription(), maxMemoryPerNode(0) {
   }
 
   virtual ~ComputeResourceDescription() throw() {}
@@ -964,6 +976,7 @@ class ComputeResourceDescription {
   std::map<FileSystems::type, std::string>  fileSystems;
   std::vector<JobSubmissionInterface>  jobSubmissionInterfaces;
   std::vector<DataMovementInterface>  dataMovementInterfaces;
+  int32_t maxMemoryPerNode;
 
   _ComputeResourceDescription__isset __isset;
 
@@ -1010,6 +1023,11 @@ class ComputeResourceDescription {
     __isset.dataMovementInterfaces = true;
   }
 
+  void __set_maxMemoryPerNode(const int32_t val) {
+    maxMemoryPerNode = val;
+    __isset.maxMemoryPerNode = true;
+  }
+
   bool operator == (const ComputeResourceDescription & rhs) const
   {
     if (!(computeResourceId == rhs.computeResourceId))
@@ -1044,6 +1062,10 @@ class ComputeResourceDescription {
       return false;
     else if (__isset.dataMovementInterfaces && !(dataMovementInterfaces == rhs.dataMovementInterfaces))
       return false;
+    if (__isset.maxMemoryPerNode != rhs.__isset.maxMemoryPerNode)
+      return false;
+    else if (__isset.maxMemoryPerNode && !(maxMemoryPerNode == rhs.maxMemoryPerNode))
+      return false;
     return true;
   }
   bool operator != (const ComputeResourceDescription &rhs) const {

http://git-wip-us.apache.org/repos/asf/airavata/blob/842004ee/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.cpp
index 0d92089..af464cd 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.cpp
@@ -1843,8 +1843,8 @@ void swap(DataTransferDetails &a, DataTransferDetails &b) {
   swap(a.__isset, b.__isset);
 }
 
-const char* TaskDetails::ascii_fingerprint = "09A94E3E2FA720626BDA3CA7ADC1CB70";
-const uint8_t TaskDetails::binary_fingerprint[16] = {0x09,0xA9,0x4E,0x3E,0x2F,0xA7,0x20,0x62,0x6B,0xDA,0x3C,0xA7,0xAD,0xC1,0xCB,0x70};
+const char* TaskDetails::ascii_fingerprint = "929162F2CFE206BC896243F516266754";
+const uint8_t TaskDetails::binary_fingerprint[16] = {0x92,0x91,0x62,0xF2,0xCF,0xE2,0x06,0xBC,0x89,0x62,0x43,0xF5,0x16,0x26,0x67,0x54};
 
 uint32_t TaskDetails::read(::apache::thrift::protocol::TProtocol* iprot) {
 
@@ -2190,8 +2190,8 @@ void swap(TaskDetails &a, TaskDetails &b) {
   swap(a.__isset, b.__isset);
 }
 
-const char* WorkflowNodeDetails::ascii_fingerprint = "851CFB79378E39B6C03385F9272B8A93";
-const uint8_t WorkflowNodeDetails::binary_fingerprint[16] = {0x85,0x1C,0xFB,0x79,0x37,0x8E,0x39,0xB6,0xC0,0x33,0x85,0xF9,0x27,0x2B,0x8A,0x93};
+const char* WorkflowNodeDetails::ascii_fingerprint = "770C73AD302F29182AA4C501D39E8ADF";
+const uint8_t WorkflowNodeDetails::binary_fingerprint[16] = {0x77,0x0C,0x73,0xAD,0x30,0x2F,0x29,0x18,0x2A,0xA4,0xC5,0x01,0xD3,0x9E,0x8A,0xDF};
 
 uint32_t WorkflowNodeDetails::read(::apache::thrift::protocol::TProtocol* iprot) {
 
@@ -2646,8 +2646,8 @@ void swap(ValidationResults &a, ValidationResults &b) {
   swap(a.validationResultList, b.validationResultList);
 }
 
-const char* Experiment::ascii_fingerprint = "1390A2E18FD8CF984CDDD4E167ED1E67";
-const uint8_t Experiment::binary_fingerprint[16] = {0x13,0x90,0xA2,0xE1,0x8F,0xD8,0xCF,0x98,0x4C,0xDD,0xD4,0xE1,0x67,0xED,0x1E,0x67};
+const char* Experiment::ascii_fingerprint = "B144E8C411770A1464B18D645C8E31EA";
+const uint8_t Experiment::binary_fingerprint[16] = {0xB1,0x44,0xE8,0xC4,0x11,0x77,0x0A,0x14,0x64,0xB1,0x8D,0x64,0x5C,0x8E,0x31,0xEA};
 
 uint32_t Experiment::read(::apache::thrift::protocol::TProtocol* iprot) {
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/842004ee/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.h
index 80701b5..8ae102b 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.h
@@ -1294,8 +1294,8 @@ typedef struct _TaskDetails__isset {
 class TaskDetails {
  public:
 
-  static const char* ascii_fingerprint; // = "09A94E3E2FA720626BDA3CA7ADC1CB70";
-  static const uint8_t binary_fingerprint[16]; // = {0x09,0xA9,0x4E,0x3E,0x2F,0xA7,0x20,0x62,0x6B,0xDA,0x3C,0xA7,0xAD,0xC1,0xCB,0x70};
+  static const char* ascii_fingerprint; // = "929162F2CFE206BC896243F516266754";
+  static const uint8_t binary_fingerprint[16]; // = {0x92,0x91,0x62,0xF2,0xCF,0xE2,0x06,0xBC,0x89,0x62,0x43,0xF5,0x16,0x26,0x67,0x54};
 
   TaskDetails() : taskID("DO_NOT_SET_AT_CLIENTS"), creationTime(0), applicationId(), applicationVersion(), applicationDeploymentId() {
   }
@@ -1473,8 +1473,8 @@ typedef struct _WorkflowNodeDetails__isset {
 class WorkflowNodeDetails {
  public:
 
-  static const char* ascii_fingerprint; // = "851CFB79378E39B6C03385F9272B8A93";
-  static const uint8_t binary_fingerprint[16]; // = {0x85,0x1C,0xFB,0x79,0x37,0x8E,0x39,0xB6,0xC0,0x33,0x85,0xF9,0x27,0x2B,0x8A,0x93};
+  static const char* ascii_fingerprint; // = "770C73AD302F29182AA4C501D39E8ADF";
+  static const uint8_t binary_fingerprint[16]; // = {0x77,0x0C,0x73,0xAD,0x30,0x2F,0x29,0x18,0x2A,0xA4,0xC5,0x01,0xD3,0x9E,0x8A,0xDF};
 
   WorkflowNodeDetails() : nodeInstanceId("DO_NOT_SET_AT_CLIENTS"), creationTime(0), nodeName("SINGLE_APP_NODE"), executionUnit((ExecutionUnit::type)1), executionUnitData() {
     executionUnit = (ExecutionUnit::type)1;
@@ -1712,8 +1712,8 @@ typedef struct _Experiment__isset {
 class Experiment {
  public:
 
-  static const char* ascii_fingerprint; // = "1390A2E18FD8CF984CDDD4E167ED1E67";
-  static const uint8_t binary_fingerprint[16]; // = {0x13,0x90,0xA2,0xE1,0x8F,0xD8,0xCF,0x98,0x4C,0xDD,0xD4,0xE1,0x67,0xED,0x1E,0x67};
+  static const char* ascii_fingerprint; // = "B144E8C411770A1464B18D645C8E31EA";
+  static const uint8_t binary_fingerprint[16]; // = {0xB1,0x44,0xE8,0xC4,0x11,0x77,0x0A,0x14,0x64,0xB1,0x8D,0x64,0x5C,0x8E,0x31,0xEA};
 
   Experiment() : experimentID("DO_NOT_SET_AT_CLIENTS"), projectID("DEFAULT"), creationTime(0), userName(), name(), description(), applicationId(), applicationVersion(), workflowTemplateId(), workflowTemplateVersion(), workflowExecutionInstanceId() {
   }

http://git-wip-us.apache.org/repos/asf/airavata/blob/842004ee/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/messagingEvents_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/messagingEvents_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/messagingEvents_types.cpp
index 2297e40..b5847ba 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/messagingEvents_types.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/messagingEvents_types.cpp
@@ -607,8 +607,8 @@ void swap(TaskStatusChangeRequestEvent &a, TaskStatusChangeRequestEvent &b) {
   swap(a.taskIdentity, b.taskIdentity);
 }
 
-const char* TaskOutputChangeEvent::ascii_fingerprint = "CD10AFEB7332120253CE0C3FFCF54C48";
-const uint8_t TaskOutputChangeEvent::binary_fingerprint[16] = {0xCD,0x10,0xAF,0xEB,0x73,0x32,0x12,0x02,0x53,0xCE,0x0C,0x3F,0xFC,0xF5,0x4C,0x48};
+const char* TaskOutputChangeEvent::ascii_fingerprint = "DF5358F559BF0C15E8D7E438A1483AEA";
+const uint8_t TaskOutputChangeEvent::binary_fingerprint[16] = {0xDF,0x53,0x58,0xF5,0x59,0xBF,0x0C,0x15,0xE8,0xD7,0xE4,0x38,0xA1,0x48,0x3A,0xEA};
 
 uint32_t TaskOutputChangeEvent::read(::apache::thrift::protocol::TProtocol* iprot) {
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/842004ee/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/messagingEvents_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/messagingEvents_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/messagingEvents_types.h
index 3596539..f96e816 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/messagingEvents_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/messagingEvents_types.h
@@ -354,8 +354,8 @@ void swap(TaskStatusChangeRequestEvent &a, TaskStatusChangeRequestEvent &b);
 class TaskOutputChangeEvent {
  public:
 
-  static const char* ascii_fingerprint; // = "CD10AFEB7332120253CE0C3FFCF54C48";
-  static const uint8_t binary_fingerprint[16]; // = {0xCD,0x10,0xAF,0xEB,0x73,0x32,0x12,0x02,0x53,0xCE,0x0C,0x3F,0xFC,0xF5,0x4C,0x48};
+  static const char* ascii_fingerprint; // = "DF5358F559BF0C15E8D7E438A1483AEA";
+  static const uint8_t binary_fingerprint[16]; // = {0xDF,0x53,0x58,0xF5,0x59,0xBF,0x0C,0x15,0xE8,0xD7,0xE4,0x38,0xA1,0x48,0x3A,0xEA};
 
   TaskOutputChangeEvent() {
   }

http://git-wip-us.apache.org/repos/asf/airavata/blob/842004ee/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflowDataModel_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflowDataModel_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflowDataModel_types.cpp
index cffa250..fb7f03d 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflowDataModel_types.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflowDataModel_types.cpp
@@ -27,8 +27,8 @@
 
 
 
-const char* Workflow::ascii_fingerprint = "4320FCC5DE6949377139919B68E7F5C1";
-const uint8_t Workflow::binary_fingerprint[16] = {0x43,0x20,0xFC,0xC5,0xDE,0x69,0x49,0x37,0x71,0x39,0x91,0x9B,0x68,0xE7,0xF5,0xC1};
+const char* Workflow::ascii_fingerprint = "0D4C41C8B641E56997DDA4AF85668A2D";
+const uint8_t Workflow::binary_fingerprint[16] = {0x0D,0x4C,0x41,0xC8,0xB6,0x41,0xE5,0x69,0x97,0xDD,0xA4,0xAF,0x85,0x66,0x8A,0x2D};
 
 uint32_t Workflow::read(::apache::thrift::protocol::TProtocol* iprot) {
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/842004ee/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflowDataModel_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflowDataModel_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflowDataModel_types.h
index b46858d..bfe0f35 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflowDataModel_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflowDataModel_types.h
@@ -46,8 +46,8 @@ typedef struct _Workflow__isset {
 class Workflow {
  public:
 
-  static const char* ascii_fingerprint; // = "4320FCC5DE6949377139919B68E7F5C1";
-  static const uint8_t binary_fingerprint[16]; // = {0x43,0x20,0xFC,0xC5,0xDE,0x69,0x49,0x37,0x71,0x39,0x91,0x9B,0x68,0xE7,0xF5,0xC1};
+  static const char* ascii_fingerprint; // = "0D4C41C8B641E56997DDA4AF85668A2D";
+  static const uint8_t binary_fingerprint[16]; // = {0x0D,0x4C,0x41,0xC8,0xB6,0x41,0xE5,0x69,0x97,0xDD,0xA4,0xAF,0x85,0x66,0x8A,0x2D};
 
   Workflow() : templateId("DO_NOT_SET_AT_CLIENTS"), name(), graph(), image() {
   }

http://git-wip-us.apache.org/repos/asf/airavata/blob/842004ee/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/AppInterface/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/AppInterface/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/AppInterface/Types.php
index 4983eb2..026550d 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/AppInterface/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/AppInterface/Types.php
@@ -340,6 +340,7 @@ class OutputDataObjectType {
   public $value = null;
   public $type = null;
   public $validityType = null;
+  public $addedToCommandLine = null;
   public $dataMovement = null;
   public $dataNameLocation = null;
 
@@ -363,10 +364,14 @@ class OutputDataObjectType {
           'type' => TType::I32,
           ),
         5 => array(
+          'var' => 'addedToCommandLine',
+          'type' => TType::I32,
+          ),
+        6 => array(
           'var' => 'dataMovement',
           'type' => TType::BOOL,
           ),
-        6 => array(
+        7 => array(
           'var' => 'dataNameLocation',
           'type' => TType::STRING,
           ),
@@ -385,6 +390,9 @@ class OutputDataObjectType {
       if (isset($vals['validityType'])) {
         $this->validityType = $vals['validityType'];
       }
+      if (isset($vals['addedToCommandLine'])) {
+        $this->addedToCommandLine = $vals['addedToCommandLine'];
+      }
       if (isset($vals['dataMovement'])) {
         $this->dataMovement = $vals['dataMovement'];
       }
@@ -442,13 +450,20 @@ class OutputDataObjectType {
           }
           break;
         case 5:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->addedToCommandLine);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 6:
           if ($ftype == TType::BOOL) {
             $xfer += $input->readBool($this->dataMovement);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 6:
+        case 7:
           if ($ftype == TType::STRING) {
             $xfer += $input->readString($this->dataNameLocation);
           } else {
@@ -488,13 +503,18 @@ class OutputDataObjectType {
       $xfer += $output->writeI32($this->validityType);
       $xfer += $output->writeFieldEnd();
     }
+    if ($this->addedToCommandLine !== null) {
+      $xfer += $output->writeFieldBegin('addedToCommandLine', TType::I32, 5);
+      $xfer += $output->writeI32($this->addedToCommandLine);
+      $xfer += $output->writeFieldEnd();
+    }
     if ($this->dataMovement !== null) {
-      $xfer += $output->writeFieldBegin('dataMovement', TType::BOOL, 5);
+      $xfer += $output->writeFieldBegin('dataMovement', TType::BOOL, 6);
       $xfer += $output->writeBool($this->dataMovement);
       $xfer += $output->writeFieldEnd();
     }
     if ($this->dataNameLocation !== null) {
-      $xfer += $output->writeFieldBegin('dataNameLocation', TType::STRING, 6);
+      $xfer += $output->writeFieldBegin('dataNameLocation', TType::STRING, 7);
       $xfer += $output->writeString($this->dataNameLocation);
       $xfer += $output->writeFieldEnd();
     }

http://git-wip-us.apache.org/repos/asf/airavata/blob/842004ee/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php
index 9623821..fbc66ab 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php
@@ -324,6 +324,7 @@ class BatchQueue {
   public $maxNodes = null;
   public $maxProcessors = null;
   public $maxJobsInQueue = null;
+  public $maxMemory = null;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
@@ -352,6 +353,10 @@ class BatchQueue {
           'var' => 'maxJobsInQueue',
           'type' => TType::I32,
           ),
+        7 => array(
+          'var' => 'maxMemory',
+          'type' => TType::I32,
+          ),
         );
     }
     if (is_array($vals)) {
@@ -373,6 +378,9 @@ class BatchQueue {
       if (isset($vals['maxJobsInQueue'])) {
         $this->maxJobsInQueue = $vals['maxJobsInQueue'];
       }
+      if (isset($vals['maxMemory'])) {
+        $this->maxMemory = $vals['maxMemory'];
+      }
     }
   }
 
@@ -437,6 +445,13 @@ class BatchQueue {
             $xfer += $input->skip($ftype);
           }
           break;
+        case 7:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->maxMemory);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
         default:
           $xfer += $input->skip($ftype);
           break;
@@ -480,6 +495,11 @@ class BatchQueue {
       $xfer += $output->writeI32($this->maxJobsInQueue);
       $xfer += $output->writeFieldEnd();
     }
+    if ($this->maxMemory !== null) {
+      $xfer += $output->writeFieldBegin('maxMemory', TType::I32, 7);
+      $xfer += $output->writeI32($this->maxMemory);
+      $xfer += $output->writeFieldEnd();
+    }
     $xfer += $output->writeFieldStop();
     $xfer += $output->writeStructEnd();
     return $xfer;
@@ -1873,6 +1893,7 @@ class ComputeResourceDescription {
   public $fileSystems = null;
   public $jobSubmissionInterfaces = null;
   public $dataMovementInterfaces = null;
+  public $maxMemoryPerNode = null;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
@@ -1944,6 +1965,10 @@ class ComputeResourceDescription {
             'class' => '\Airavata\Model\AppCatalog\ComputeResource\DataMovementInterface',
             ),
           ),
+        10 => array(
+          'var' => 'maxMemoryPerNode',
+          'type' => TType::I32,
+          ),
         );
     }
     if (is_array($vals)) {
@@ -1974,6 +1999,9 @@ class ComputeResourceDescription {
       if (isset($vals['dataMovementInterfaces'])) {
         $this->dataMovementInterfaces = $vals['dataMovementInterfaces'];
       }
+      if (isset($vals['maxMemoryPerNode'])) {
+        $this->maxMemoryPerNode = $vals['maxMemoryPerNode'];
+      }
     }
   }
 
@@ -2125,6 +2153,13 @@ class ComputeResourceDescription {
             $xfer += $input->skip($ftype);
           }
           break;
+        case 10:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->maxMemoryPerNode);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
         default:
           $xfer += $input->skip($ftype);
           break;
@@ -2256,6 +2291,11 @@ class ComputeResourceDescription {
       }
       $xfer += $output->writeFieldEnd();
     }
+    if ($this->maxMemoryPerNode !== null) {
+      $xfer += $output->writeFieldBegin('maxMemoryPerNode', TType::I32, 10);
+      $xfer += $output->writeI32($this->maxMemoryPerNode);
+      $xfer += $output->writeFieldEnd();
+    }
     $xfer += $output->writeFieldStop();
     $xfer += $output->writeStructEnd();
     return $xfer;


[2/3] airavata git commit: adding gamess and update airavata data models

Posted by ch...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/842004ee/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterSampleApplications.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterSampleApplications.java b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterSampleApplications.java
index 75cb78c..7a8f51f 100644
--- a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterSampleApplications.java
+++ b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterSampleApplications.java
@@ -29,9 +29,7 @@ import java.util.*;
 import org.apache.airavata.api.Airavata;
 import org.apache.airavata.api.client.AiravataClientFactory;
 import org.apache.airavata.model.appcatalog.appdeployment.ApplicationParallelismType;
-import org.apache.airavata.model.appcatalog.appinterface.DataType;
-import org.apache.airavata.model.appcatalog.appinterface.InputDataObjectType;
-import org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType;
+import org.apache.airavata.model.appcatalog.appinterface.*;
 import org.apache.airavata.model.appcatalog.computeresource.*;
 import org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference;
 import org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile;
@@ -74,6 +72,7 @@ public class RegisterSampleApplications {
     private static final String mpiName = "HelloMPI";
     private static final String monteXName = "TinkerMonte";
     private static final String gaussianName = "Gaussian";
+    private static final String gamessName = "Gamess";
 
     //Appplication Descriptions
     private static final String echoDescription = "A Simple Echo Application";
@@ -89,6 +88,7 @@ public class RegisterSampleApplications {
     private static final String mpiDescription = "A Hello MPI Application";
     private static final String monteXDescription = "Grid Chem Tinker Monte Application";
     private static final String gaussianDescription = "Grid Chem Gaussian Application";
+    private static final String gamessDescription = "A Gamess Application";
 
     //App Module Id's
     private static String echoModuleId;
@@ -104,6 +104,7 @@ public class RegisterSampleApplications {
     private static String mpiModuleId;
     private static String monteXModuleId;
     private static String gaussianModuleId;
+    private static String gamessModuleId;
 
     //App Interface Id's
     private static String echoInterfaceId = "";
@@ -118,6 +119,7 @@ public class RegisterSampleApplications {
     private static String trinityInterfaceId = "";
     private static String wrfInterfaceId;
     private static String phastaInterfaceId;
+    private static String gamessInterfaceId;
 
     public RegisterSampleApplications(Airavata.Client airavataClient) {
            this.airavataClient = airavataClient;
@@ -139,13 +141,13 @@ public class RegisterSampleApplications {
 //            registerSampleApplications.registerGatewayResourceProfile();
 
             //Register all application modules
-//            registerSampleApplications.registerAppModules();
+            registerSampleApplications.registerAppModules();
 
             //Register all application deployments
-//            registerSampleApplications.registerAppDeployments();
+            registerSampleApplications.registerAppDeployments();
 
             //Register all application interfaces
-//            registerSampleApplications.registerAppInterfaces();
+            registerSampleApplications.registerAppInterfaces();
 
             //write output into propertiesFile
 //            registerSampleApplications.writeIdPropertyFile();
@@ -309,6 +311,13 @@ public class RegisterSampleApplications {
             gaussianModuleId = airavataClient.registerApplicationModule(
                     RegisterSampleApplicationsUtils.createApplicationModule(
                             gaussianName, "1.0", gaussianDescription));
+            //Register GAMESS
+            gamessModuleId = airavataClient.registerApplicationModule(
+                    RegisterSampleApplicationsUtils.createApplicationModule(
+                            gamessName, "17May13", gamessDescription));
+            System.out.println("Gamess Module Id " + gamessModuleId);
+
+
         } catch (TException e) {
             e.printStackTrace();
         }
@@ -337,7 +346,6 @@ public class RegisterSampleApplications {
 
     public void registerAppInterfaces() {
         System.out.println("\n #### Registering Application Interfaces #### \n");
-//        registerGromaxWorkflowInterfaces();
 
         //Registering local Echo
 //        registerLocalEchoInterface();
@@ -362,6 +370,8 @@ public class RegisterSampleApplications {
 
         //Registering Lammps
         registerLammpsInterface();
+        //Registrting Gamess
+        registerGamessInterface();
 
         //Registering NWChem
         registerNWChemInterface();
@@ -378,140 +388,38 @@ public class RegisterSampleApplications {
 
     }
 
-    public void registerGromaxWorkflowInterfaces() {
+    public void registerGamessInterface() {
         try {
-            System.out.println("#### Registering Gromax Interface #### \n");
+            System.out.println("#### Registering Gamess Interface #### \n");
 
             List<String> appModules = new ArrayList<String>();
-            appModules.add(gromacsModuleId);
+            appModules.add(gamessDescription);
 
 
             List<InputDataObjectType> applicationInputs = new ArrayList<InputDataObjectType>();
-            applicationInputs.add(RegisterSampleApplicationsUtils.createAppInput("s_struct", "",
-                    DataType.URI, null, 1, false, "Starting Structure File", null));
-
+            applicationInputs.add(RegisterSampleApplicationsUtils.createAppInput("gams_input", "",
+                    DataType.URI, null, 1, ValidityType.REQUIRED, CommandLineType.EXCLUSIVE, false, "Gamess Input file", null));
+            applicationInputs.add(RegisterSampleApplicationsUtils.createAppInput("EXT_FILE", "",
+                    DataType.URI, null, 1, ValidityType.OPTIONAL, CommandLineType.INCLUSIVE, false, "Gamess EXT file", null));
 
             List<OutputDataObjectType> applicationOutputs = new ArrayList<OutputDataObjectType>();
-            applicationOutputs.add(RegisterSampleApplicationsUtils.createAppOutput("ffcomplient_struct",
-                    "", DataType.URI));
-            applicationOutputs.add(RegisterSampleApplicationsUtils.createAppOutput("topology",
-                    "", DataType.URI));
-
-            gromacsInterfaceId = airavataClient.registerApplicationInterface(
-                    RegisterSampleApplicationsUtils.createApplicationInterfaceDescription("pb2gmx", "pb2gmx",
-                            appModules, applicationInputs, applicationOutputs));
-
-            
-            applicationInputs.clear();
-            applicationInputs = new ArrayList<InputDataObjectType>();
-            applicationInputs.add(RegisterSampleApplicationsUtils.createAppInput("ffcomplient_struct", "",
-                    DataType.URI, null, 1, false, "FFComplient Structure File", null));
-            applicationInputs.add(RegisterSampleApplicationsUtils.createAppInput("topology", "",
-                    DataType.URI, null, 2, false, "Topology File", null));
-            applicationInputs.add(RegisterSampleApplicationsUtils.createAppInput("control_param_emv", "",
-                    DataType.URI, null, 3, false, "Controlled parameters array of EM Vacuum", null));
-
-
-            applicationOutputs.clear();
-            applicationOutputs = new ArrayList<OutputDataObjectType>();
-            applicationOutputs.add(RegisterSampleApplicationsUtils.createAppOutput("energy_min_struct",
-                    "", DataType.URI));
-
-            gromacsInterfaceId = airavataClient.registerApplicationInterface(
-                    RegisterSampleApplicationsUtils.createApplicationInterfaceDescription("simulation1", "simulation1",
-                            appModules, applicationInputs, applicationOutputs));
-
-            applicationInputs.clear();
-            applicationInputs = new ArrayList<InputDataObjectType>();
-            applicationInputs.add(RegisterSampleApplicationsUtils.createAppInput("energy_min_struct", "",
-                    DataType.URI, null, 1, false, "Energy Minimized Structure File", null));
-
-            applicationOutputs.clear();
-            applicationOutputs = new ArrayList<OutputDataObjectType>();
-            applicationOutputs.add(RegisterSampleApplicationsUtils.createAppOutput("struct_with_pbc",
-                    "", DataType.URI));
-
-            gromacsInterfaceId = airavataClient.registerApplicationInterface(
-                    RegisterSampleApplicationsUtils.createApplicationInterfaceDescription("editconf", "Edit configuration",
+            applicationOutputs.add(RegisterSampleApplicationsUtils.createAppOutput("gams_output",
+                    "", DataType.URI, ValidityType.REQUIRED, CommandLineType.EXCLUSIVE));
+            applicationOutputs.add(RegisterSampleApplicationsUtils.createAppOutput("dat_file",
+                    "", DataType.URI, ValidityType.REQUIRED, CommandLineType.INCLUSIVE));
+            applicationOutputs.add(RegisterSampleApplicationsUtils.createAppOutput("trj_file",
+                    "", DataType.URI, ValidityType.OPTIONAL, CommandLineType.INCLUSIVE));
+            applicationOutputs.add(RegisterSampleApplicationsUtils.createAppOutput("rst_file",
+                    "", DataType.URI, ValidityType.OPTIONAL, CommandLineType.INCLUSIVE));
+            applicationOutputs.add(RegisterSampleApplicationsUtils.createAppOutput("f10_file",
+                    "", DataType.URI, ValidityType.OPTIONAL, CommandLineType.INCLUSIVE));
+
+
+            gamessInterfaceId = airavataClient.registerApplicationInterface(
+                    RegisterSampleApplicationsUtils.createApplicationInterfaceDescription("gamess", "gamess",
                             appModules, applicationInputs, applicationOutputs));
-            
-            applicationInputs.clear();
-            applicationInputs = new ArrayList<InputDataObjectType>();
-            applicationInputs.add(RegisterSampleApplicationsUtils.createAppInput("struct_with_pbc", "",
-                    DataType.URI, null, 1, false, "Structure with PBC File", null));
-            applicationInputs.add(RegisterSampleApplicationsUtils.createAppInput("solvent_struct", "",
-                    DataType.URI, null, 2, false, "Solvent Structure File", null));
-            applicationInputs.add(RegisterSampleApplicationsUtils.createAppInput("topology", "",
-                    DataType.URI, null, 3, false, "Topology File", null));
-
-            applicationOutputs.clear();
-            applicationOutputs = new ArrayList<OutputDataObjectType>();
-            applicationOutputs.add(RegisterSampleApplicationsUtils.createAppOutput("struct_with_water",
-                    "", DataType.URI));
-            applicationOutputs.add(RegisterSampleApplicationsUtils.createAppOutput("topology_with_water",
-                    "", DataType.URI));
-                        
 
-            gromacsInterfaceId = airavataClient.registerApplicationInterface(
-                    RegisterSampleApplicationsUtils.createApplicationInterfaceDescription("genbox", "genbox",
-                            appModules, applicationInputs, applicationOutputs));
-            
-            applicationInputs.clear();
-            applicationInputs = new ArrayList<InputDataObjectType>();
-            applicationInputs.add(RegisterSampleApplicationsUtils.createAppInput("struct_with_water", "",
-                    DataType.URI, null, 1, false, "Structure with water File", null));
-            applicationInputs.add(RegisterSampleApplicationsUtils.createAppInput("topology_with_water", "",
-                    DataType.URI, null, 2, false, "Topology including water File", null));
-            applicationInputs.add(RegisterSampleApplicationsUtils.createAppInput("control_param_emv", "",
-                    DataType.URI, null, 3, false, "Controlled parameters array of EM Vacuum", null));
-
-            applicationOutputs.clear();
-            applicationOutputs = new ArrayList<OutputDataObjectType>();
-            applicationOutputs.add(RegisterSampleApplicationsUtils.createAppOutput("struct_topoogy",
-                    "", DataType.URI));
-
-            gromacsInterfaceId = airavataClient.registerApplicationInterface(
-                    RegisterSampleApplicationsUtils.createApplicationInterfaceDescription("grompp", "grompp",
-                            appModules, applicationInputs, applicationOutputs));
-            
-            applicationInputs.clear();
-            applicationInputs = new ArrayList<InputDataObjectType>();
-            applicationInputs.add(RegisterSampleApplicationsUtils.createAppInput("struct_topoogy", "",
-                    DataType.URI, null, 1, false, "Structure and Topology File", null));
-            applicationInputs.add(RegisterSampleApplicationsUtils.createAppInput("topology_with_water", "",
-                    DataType.URI, null, 2, false, "Topology including water File", null));
-
-            applicationOutputs.clear();
-            applicationOutputs = new ArrayList<OutputDataObjectType>();
-            applicationOutputs.add(RegisterSampleApplicationsUtils.createAppOutput("sys_topoogy",
-                    "", DataType.URI));
-                        
-            applicationOutputs.add(RegisterSampleApplicationsUtils.createAppOutput("sys_config",
-                    "", DataType.URI));
-            
-            gromacsInterfaceId = airavataClient.registerApplicationInterface(
-                    RegisterSampleApplicationsUtils.createApplicationInterfaceDescription("genion", "grompp",
-                            appModules, applicationInputs, applicationOutputs));
-            
-            applicationInputs.clear();
-            applicationInputs = new ArrayList<InputDataObjectType>();
-            applicationInputs.add(RegisterSampleApplicationsUtils.createAppInput("sys_topoogy", "",
-                    DataType.URI, null, 1, false, "Structure and Topology File", null));
-            applicationInputs.add(RegisterSampleApplicationsUtils.createAppInput("sys_config", "",
-                    DataType.URI, null, 2, false, "Topology including water File", null));
-            applicationInputs.add(RegisterSampleApplicationsUtils.createAppInput("control_param_ems", "",
-                    DataType.URI, null, 3, false, "Controlled parameters array of EM Solvent", null));
-
-            applicationOutputs.clear();
-            applicationOutputs = new ArrayList<OutputDataObjectType>();
-            applicationOutputs.add(RegisterSampleApplicationsUtils.createAppOutput("energymin_sys",
-                    "", DataType.URI));
-            
-            gromacsInterfaceId = airavataClient.registerApplicationInterface(
-                    RegisterSampleApplicationsUtils.createApplicationInterfaceDescription("simulation2", "simulation2",
-                            appModules, applicationInputs, applicationOutputs));
-            
-            System.out.println("Gromax Application Interface Id " + echoInterfaceId);
+            System.out.println("GAMESS Application Interface Id " + gamessModuleId);
 
         } catch (TException e) {
             e.printStackTrace();
@@ -526,13 +434,13 @@ public class RegisterSampleApplications {
             appModules.add(echoModuleId);
 
             InputDataObjectType input1 = RegisterSampleApplicationsUtils.createAppInput("echo_input", "echo_output=Hello World",
-                    DataType.STRING, null, 1, false, "A test string to Echo", null);
+                    DataType.STRING, null, 1,null, null, false, "A test string to Echo", null);
 
             List<InputDataObjectType> applicationInputs = new ArrayList<InputDataObjectType>();
             applicationInputs.add(input1);
 
             OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("echo_output",
-                    "", DataType.STRING);
+                    "", DataType.STRING, null, null);
 
             List<OutputDataObjectType> applicationOutputs = new ArrayList<OutputDataObjectType>();
             applicationOutputs.add(output1);
@@ -556,20 +464,20 @@ public class RegisterSampleApplications {
 
 
             InputDataObjectType input1 = RegisterSampleApplicationsUtils.createAppInput("Input_to_Echo", "",
-                    DataType.STRING, null, 1, false, "A test string to Echo", null);
+                    DataType.STRING, null, 1, null, null,false, "A test string to Echo", null);
             
             InputDataObjectType input2 = RegisterSampleApplicationsUtils.createAppInput("Input_to_Echo2", "",
-                    DataType.URI, null, 2, false, "A sample input remote file", null);
+                    DataType.URI, null, 2, null, null,false, "A sample input remote file", null);
 
             InputDataObjectType input3 = RegisterSampleApplicationsUtils.createAppInput("Input_to_Echo3", "file:///tmp/test.txt",
-                    DataType.URI, null, 3, false, "A sample input local file", null);
+                    DataType.URI, null, 3,null, null, false, "A sample input local file", null);
 
             
             List<InputDataObjectType> applicationInputs = new ArrayList<InputDataObjectType>();
             applicationInputs.add(input1); applicationInputs.add(input2); applicationInputs.add(input3);
 
             OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("Echoed_Output",
-                    "", DataType.STRING);
+                    "", DataType.STRING, null, null);
             
             List<OutputDataObjectType> applicationOutputs = new ArrayList<OutputDataObjectType>();
             applicationOutputs.add(output1);
@@ -594,13 +502,13 @@ public class RegisterSampleApplications {
             appModules.add(mpiModuleId);
 
             InputDataObjectType input1 = RegisterSampleApplicationsUtils.createAppInput("Sample_Input", "",
-                    DataType.STRING, null, 1, false, "An optional MPI source file", null);
+                    DataType.STRING, null, 1,null, null, false, "An optional MPI source file", null);
             
             List<InputDataObjectType> applicationInputs = new ArrayList<InputDataObjectType>();
             applicationInputs.add(input1);
             
             OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("Sample_Output",
-                    "", DataType.STRING);
+                    "", DataType.STRING, null, null);
             
             List<OutputDataObjectType> applicationOutputs = new ArrayList<OutputDataObjectType>();
             applicationOutputs.add(output1);
@@ -625,23 +533,23 @@ public class RegisterSampleApplications {
             appModules.add(amberModuleId);
 
             InputDataObjectType input1 = RegisterSampleApplicationsUtils.createAppInput("Heat_Restart_File", null,
-                    DataType.URI, null, 1, false, "Heating up the system equilibration stage - 02_Heat.rst", null);
+                    DataType.URI, null, 1, null, null,false, "Heating up the system equilibration stage - 02_Heat.rst", null);
 
             InputDataObjectType input2 = RegisterSampleApplicationsUtils.createAppInput("Production_Control_File", null,
-                    DataType.URI, null, 2, false, "Constant pressure and temperature for production stage - 03_Prod.in", null);
+                    DataType.URI, null, 2,null, null, false, "Constant pressure and temperature for production stage - 03_Prod.in", null);
 
             InputDataObjectType input3 = RegisterSampleApplicationsUtils.createAppInput("Parameter_Topology_File", null,
-                    DataType.URI, null, 3, false, "Parameter and Topology coordinates - prmtop", null);
+                    DataType.URI, null, 3,null, null, false, "Parameter and Topology coordinates - prmtop", null);
 
             List<InputDataObjectType> applicationInputs = new ArrayList<InputDataObjectType>();
             applicationInputs.add(input1);
             applicationInputs.add(input2);
             applicationInputs.add(input3);
 
-            OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("AMBER_Execution_Summary",null,DataType.URI);
-            OutputDataObjectType output2 = RegisterSampleApplicationsUtils.createAppOutput("AMBER_Execution_log",null,DataType.URI);
-            OutputDataObjectType output3 = RegisterSampleApplicationsUtils.createAppOutput("AMBER_Trajectory_file",null,DataType.URI);
-            OutputDataObjectType output4 = RegisterSampleApplicationsUtils.createAppOutput("AMBER_Restart_file",null,DataType.URI);
+            OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("AMBER_Execution_Summary",null,DataType.URI, null, null);
+            OutputDataObjectType output2 = RegisterSampleApplicationsUtils.createAppOutput("AMBER_Execution_log",null,DataType.URI, null, null);
+            OutputDataObjectType output3 = RegisterSampleApplicationsUtils.createAppOutput("AMBER_Trajectory_file",null,DataType.URI, null, null);
+            OutputDataObjectType output4 = RegisterSampleApplicationsUtils.createAppOutput("AMBER_Restart_file",null,DataType.URI, null, null);
 
             List<OutputDataObjectType> applicationOutputs = new ArrayList<OutputDataObjectType>();
             applicationOutputs.add(output1);
@@ -667,13 +575,13 @@ public class RegisterSampleApplications {
             appModules.add(autoDockModuleId);
 
             InputDataObjectType input1 = RegisterSampleApplicationsUtils.createAppInput("Heat_Restart_File", null,
-                    DataType.URI, null, 1, false, "Heating up the system equilibration stage", null);
+                    DataType.URI, null, 1,null, null, false, "Heating up the system equilibration stage", null);
 
             InputDataObjectType input2 = RegisterSampleApplicationsUtils.createAppInput("Production_Control_File", null,
-                    DataType.URI, null, 2, false, "Constant pressure and temperature for production stage", null);
+                    DataType.URI, null, 2,null, null, false, "Constant pressure and temperature for production stage", null);
 
             InputDataObjectType input3 = RegisterSampleApplicationsUtils.createAppInput("Parameter_Topology_File", null,
-                    DataType.URI, null, 3, false, "Parameter and Topology coordinates", null);
+                    DataType.URI, null, 3,null, null, false, "Parameter and Topology coordinates", null);
 
             List<InputDataObjectType> applicationInputs = new ArrayList<InputDataObjectType>();
             applicationInputs.add(input1);
@@ -681,7 +589,7 @@ public class RegisterSampleApplications {
             applicationInputs.add(input3);
 
             OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("Echoed_Output",
-                    "", DataType.STRING);
+                    "", DataType.STRING, null, null);
 
             List<OutputDataObjectType> applicationOutputs = new ArrayList<OutputDataObjectType>();
             applicationOutputs.add(output1);
@@ -704,17 +612,17 @@ public class RegisterSampleApplications {
             appModules.add(espressoModuleId);
 
             InputDataObjectType input1 = RegisterSampleApplicationsUtils.createAppInput("AI_Primitive_Cell", null,
-                    DataType.URI, null, 1, false, "AI_Metal_Input_File - Al.sample.in", null);
+                    DataType.URI, null, 1, null, null,false, "AI_Metal_Input_File - Al.sample.in", null);
 
             InputDataObjectType input2 = RegisterSampleApplicationsUtils.createAppInput("AI_Pseudopotential_File", null,
-                    DataType.URI, null, 2, false, "Constant pressure and temperature for production stage - Al.pz-vbc.UPF", null);
+                    DataType.URI, null, 2, null, null,false, "Constant pressure and temperature for production stage - Al.pz-vbc.UPF", null);
 
             List<InputDataObjectType> applicationInputs = new ArrayList<InputDataObjectType>();
             applicationInputs.add(input1);
             applicationInputs.add(input2);
 
-            OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("ESPRESSO_Execution_Log",null,DataType.URI);
-            OutputDataObjectType output2 = RegisterSampleApplicationsUtils.createAppOutput("ESPRESSO_WFC_Binary_file",null,DataType.URI);
+            OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("ESPRESSO_Execution_Log",null,DataType.URI, null, null);
+            OutputDataObjectType output2 = RegisterSampleApplicationsUtils.createAppOutput("ESPRESSO_WFC_Binary_file",null,DataType.URI, null, null);
 
             List<OutputDataObjectType> applicationOutputs = new ArrayList<OutputDataObjectType>();
             applicationOutputs.add(output1);
@@ -738,18 +646,18 @@ public class RegisterSampleApplications {
             appModules.add(gromacsModuleId);
 
             InputDataObjectType input1 = RegisterSampleApplicationsUtils.createAppInput("Portable_Input_Binary_File", null,
-                    DataType.URI, null, 1, false, "Coordinates velocities, molecular topology and simulation parameters - pdb1y6l-EM-vacuum.tpr", null);
+                    DataType.URI, null, 1, null, null, false, "Coordinates velocities, molecular topology and simulation parameters - pdb1y6l-EM-vacuum.tpr", null);
 
             InputDataObjectType input2 = RegisterSampleApplicationsUtils.createAppInput("GROMOS_Coordinate_File", null,
-                    DataType.URI, null, 2, false, "Trajectory Coordinates Molecular Structure in Gromos87 format - pdb1y6l-EM-vacuum.gro", null);
+                    DataType.URI, null, 2, null, null,false, "Trajectory Coordinates Molecular Structure in Gromos87 format - pdb1y6l-EM-vacuum.gro", null);
 
             List<InputDataObjectType> applicationInputs = new ArrayList<InputDataObjectType>();
             applicationInputs.add(input1);
             applicationInputs.add(input2);
 
-            OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("GROMACS_Execution_Log",null,DataType.URI);
-            OutputDataObjectType output2 = RegisterSampleApplicationsUtils.createAppOutput("Full_Precision_Trajectory_file",null,DataType.URI);
-            OutputDataObjectType output3 = RegisterSampleApplicationsUtils.createAppOutput("Portable_Energy_file",null,DataType.URI);
+            OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("GROMACS_Execution_Log",null,DataType.URI, null, null);
+            OutputDataObjectType output2 = RegisterSampleApplicationsUtils.createAppOutput("Full_Precision_Trajectory_file",null,DataType.URI, null, null);
+            OutputDataObjectType output3 = RegisterSampleApplicationsUtils.createAppOutput("Portable_Energy_file",null,DataType.URI, null, null);
 
             List<OutputDataObjectType> applicationOutputs = new ArrayList<OutputDataObjectType>();
             applicationOutputs.add(output1);
@@ -774,12 +682,12 @@ public class RegisterSampleApplications {
             appModules.add(lammpsModuleId);
 
             InputDataObjectType input1 = RegisterSampleApplicationsUtils.createAppInput("Friction_Simulation_Input", null,
-                    DataType.URI, null, 1, false, "Friction Simulation Input - in.friction", null);
+                    DataType.URI, null, 1,null, null, false, "Friction Simulation Input - in.friction", null);
 
             List<InputDataObjectType> applicationInputs = new ArrayList<InputDataObjectType>();
             applicationInputs.add(input1);
 
-            OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("LAMMPS_Simulation_Log",null,DataType.URI);
+            OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("LAMMPS_Simulation_Log",null,DataType.URI, null, null);
 
             List<OutputDataObjectType> applicationOutputs = new ArrayList<OutputDataObjectType>();
             applicationOutputs.add(output1);
@@ -802,12 +710,12 @@ public class RegisterSampleApplications {
             appModules.add(nwChemModuleId);
 
             InputDataObjectType input1 = RegisterSampleApplicationsUtils.createAppInput("Water_Molecule_Input", null,
-                    DataType.URI, null, 1, false, "Water Molecule Input File - water.nw", null);
+                    DataType.URI, null, 1,null, null, false, "Water Molecule Input File - water.nw", null);
 
             List<InputDataObjectType> applicationInputs = new ArrayList<InputDataObjectType>();
             applicationInputs.add(input1);
 
-            OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("NWChem_Execution_Log",null,DataType.URI);
+            OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("NWChem_Execution_Log",null,DataType.URI, null, null);
 
             List<OutputDataObjectType> applicationOutputs = new ArrayList<OutputDataObjectType>();
             applicationOutputs.add(output1);
@@ -831,17 +739,17 @@ public class RegisterSampleApplications {
             appModules.add(trinityModuleId);
 
             InputDataObjectType input1 = RegisterSampleApplicationsUtils.createAppInput("RNA_Seq_Left_Input", null,
-                    DataType.URI, null, 1, false, "RNA-Seq Left Library - reads.left.fq", null);
+                    DataType.URI, null, 1,null, null, false, "RNA-Seq Left Library - reads.left.fq", null);
 
             InputDataObjectType input2 = RegisterSampleApplicationsUtils.createAppInput("RNA_Seq_Right_Input", null,
-                    DataType.URI, null, 2, false, "RNA-Seq Right Library - reads.right.fq", null);
+                    DataType.URI, null, 2, null, null,false, "RNA-Seq Right Library - reads.right.fq", null);
 
             List<InputDataObjectType> applicationInputs = new ArrayList<InputDataObjectType>();
             applicationInputs.add(input1);
             applicationInputs.add(input2);
 
-            OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("Trinity_Execution_Log",null,DataType.URI);
-            OutputDataObjectType output2 = RegisterSampleApplicationsUtils.createAppOutput("Trinity_FASTA_File",null,DataType.URI);
+            OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("Trinity_Execution_Log",null,DataType.URI, null, null);
+            OutputDataObjectType output2 = RegisterSampleApplicationsUtils.createAppOutput("Trinity_FASTA_File",null,DataType.URI, null, null);
 
             List<OutputDataObjectType> applicationOutputs = new ArrayList<OutputDataObjectType>();
             applicationOutputs.add(output1);
@@ -866,13 +774,13 @@ public class RegisterSampleApplications {
             appModules.add(wrfModuleId);
 
             InputDataObjectType input1 = RegisterSampleApplicationsUtils.createAppInput("Config_Namelist_File", null,
-                    DataType.URI, null, 1, false, "Namelist Configuration File - namelist.input", null);
+                    DataType.URI, null, 1,null, null, false, "Namelist Configuration File - namelist.input", null);
 
             InputDataObjectType input2 = RegisterSampleApplicationsUtils.createAppInput("WRF_Initial_Conditions", null,
-                    DataType.URI, null, 2, false, "Initial Conditions File - wrfinput_d01", null);
+                    DataType.URI, null, 2, null, null,false, "Initial Conditions File - wrfinput_d01", null);
 
             InputDataObjectType input3 = RegisterSampleApplicationsUtils.createAppInput("WRF_Boundary_File", null,
-                    DataType.URI, null, 3, false, "Boundary Conditions File - wrfbdy_d01", null);
+                    DataType.URI, null, 3,null, null, false, "Boundary Conditions File - wrfbdy_d01", null);
 
             List<InputDataObjectType> applicationInputs = new ArrayList<InputDataObjectType>();
             applicationInputs.add(input1);
@@ -880,10 +788,10 @@ public class RegisterSampleApplications {
             applicationInputs.add(input3);
 
             OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("WRF_Output",
-                    "", DataType.URI);
+                    "", DataType.URI, null, null);
 
             OutputDataObjectType output2 = RegisterSampleApplicationsUtils.createAppOutput("WRF_Execution_Log",
-                    "", DataType.URI);
+                    "", DataType.URI, null, null);
 
             List<OutputDataObjectType> applicationOutputs = new ArrayList<OutputDataObjectType>();
             applicationOutputs.add(output1);
@@ -907,21 +815,21 @@ public class RegisterSampleApplications {
             appModules.add(phastaModuleId);
 
             InputDataObjectType input1 = RegisterSampleApplicationsUtils.createAppInput("Parasolid_Geometric_Model", null,
-                    DataType.URI, null, 1, false, "Parasolid geometric model - geom.xmt_txt", null);
+                    DataType.URI, null, 1, null, null,false, "Parasolid geometric model - geom.xmt_txt", null);
 
             InputDataObjectType input2 = RegisterSampleApplicationsUtils.createAppInput("Problem_Definition", null,
-                    DataType.URI, null, 2, false, "problem definition - geom.smd", null);
+                    DataType.URI, null, 2,null, null, false, "problem definition - geom.smd", null);
 
             InputDataObjectType input3 = RegisterSampleApplicationsUtils.createAppInput("Mesh_Description_File", null,
-                    DataType.URI, null, 3, false, "Mesh Description - geom.sms", null);
+                    DataType.URI, null, 3, null, null,false, "Mesh Description - geom.sms", null);
 
             List<InputDataObjectType> applicationInputs = new ArrayList<InputDataObjectType>();
             applicationInputs.add(input1);
             applicationInputs.add(input2);
             applicationInputs.add(input3);
 
-            OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("PHASTA_Execution_Log",null,DataType.URI);
-            OutputDataObjectType output2 = RegisterSampleApplicationsUtils.createAppOutput("PHASTA_Output_tar",null,DataType.URI);
+            OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("PHASTA_Execution_Log",null,DataType.URI, null, null);
+            OutputDataObjectType output2 = RegisterSampleApplicationsUtils.createAppOutput("PHASTA_Output_tar",null,DataType.URI, null, null);
 
             List<OutputDataObjectType> applicationOutputs = new ArrayList<OutputDataObjectType>();
             applicationOutputs.add(output1);
@@ -943,7 +851,7 @@ public class RegisterSampleApplications {
             //Register Echo
             String echoAppDeployId = airavataClient.registerApplicationDeployment(
                     RegisterSampleApplicationsUtils.createApplicationDeployment(echoModuleId, localhostId,
-                            "/bin/echo", ApplicationParallelismType.SERIAL, echoDescription));
+                            "/bin/echo", ApplicationParallelismType.SERIAL, echoDescription, null));
 
 
             System.out.println("Echo on localhost Id " + echoAppDeployId);
@@ -960,13 +868,13 @@ public class RegisterSampleApplications {
             appModules.add(gaussianModuleId);
 
             InputDataObjectType input1 = RegisterSampleApplicationsUtils.createAppInput("MainInputFile", null,
-                    DataType.URI, null, 1, false, "Gaussian main input file", null);
+                    DataType.URI, null, 1,null, null, false, "Gaussian main input file", null);
 
             List<InputDataObjectType> applicationInputs = new ArrayList<InputDataObjectType>();
             applicationInputs.add(input1);
 
             OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("gaussian.out",
-                    "", DataType.URI);
+                    "", DataType.URI, null, null);
 
             List<OutputDataObjectType> applicationOutputs = new ArrayList<OutputDataObjectType>();
             applicationOutputs.add(output1);
@@ -989,19 +897,19 @@ public class RegisterSampleApplications {
             appModules.add(monteXModuleId);
 
             InputDataObjectType input1 = RegisterSampleApplicationsUtils.createAppInput("xyzf", "O16.xyz",
-                    DataType.STRING, null, 1, false, "Tinker monte input_1", null);
+                    DataType.STRING, null, 1, null, null, false, "Tinker monte input_1", null);
             InputDataObjectType input2 = RegisterSampleApplicationsUtils.createAppInput("keyf", "O16.key",
-                    DataType.STRING, "-k", 2, false, "Tinker monte input_2", null);
+                    DataType.STRING, "-k", 2, null, null, false, "Tinker monte input_2", null);
             InputDataObjectType input3 = RegisterSampleApplicationsUtils.createAppInput("stps", "20000",
-                    DataType.STRING, null, 3, false, "Tinker monte input_3", null);
+                    DataType.STRING, null, 3, null, null,false, "Tinker monte input_3", null);
             InputDataObjectType input4 = RegisterSampleApplicationsUtils.createAppInput("Ctc", "C",
-                    DataType.STRING, null, 4, false, "Tinker monte input_4", null);
+                    DataType.STRING, null, 4,null, null, false, "Tinker monte input_4", null);
             InputDataObjectType input5 = RegisterSampleApplicationsUtils.createAppInput("stpsZ", "3.0",
-                    DataType.STRING, null, 5, false, "Tinker monte input_5", null);
+                    DataType.STRING, null, 5,null, null, false, "Tinker monte input_5", null);
             InputDataObjectType input6 = RegisterSampleApplicationsUtils.createAppInput("temp", "298",
-                    DataType.STRING, null, 6, false, "Tinker monte input_6", null);
+                    DataType.STRING, null, 6,null, null, false, "Tinker monte input_6", null);
             InputDataObjectType input7 = RegisterSampleApplicationsUtils.createAppInput("Rconv", "0.01",
-                    DataType.STRING, null, 7, false, "Tinker monte input_7", null);
+                    DataType.STRING, null, 7,null, null, false, "Tinker monte input_7", null);
 
 
             List<InputDataObjectType> applicationInputs = new ArrayList<InputDataObjectType>();
@@ -1014,7 +922,7 @@ public class RegisterSampleApplications {
             applicationInputs.add(input7);
 
             OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("Diskoutputfile_with_dir",
-                    "", DataType.URI);
+                    "", DataType.URI, null, null);
 
             List<OutputDataObjectType> applicationOutputs = new ArrayList<OutputDataObjectType>();
             applicationOutputs.add(output1);
@@ -1037,56 +945,56 @@ public class RegisterSampleApplications {
             //Register Echo
             String echoAppDeployId = airavataClient.registerApplicationDeployment(
                     RegisterSampleApplicationsUtils.createApplicationDeployment(echoModuleId, stampedeResourceId,
-                            "/home1/01437/ogce/production/app_wrappers/echo_wrapper.sh", ApplicationParallelismType.SERIAL, echoDescription));
+                            "/home1/01437/ogce/production/app_wrappers/echo_wrapper.sh", ApplicationParallelismType.SERIAL, echoDescription, null));
             System.out.println("Echo on stampede deployment Id " + echoAppDeployId);
 
             //Register Amber
             String amberAppDeployId = airavataClient.registerApplicationDeployment(
                     RegisterSampleApplicationsUtils.createApplicationDeployment(amberModuleId, stampedeResourceId,
                             "/home1/01437/ogce/production/app_wrappers/amber_wrapper.sh", ApplicationParallelismType.MPI,
-                            amberDescription));
+                            amberDescription, null));
             System.out.println("Amber on stampede deployment Id " + amberAppDeployId);
 
             //Register ESPRESSO
             String espressoAppDeployId = airavataClient.registerApplicationDeployment(
                     RegisterSampleApplicationsUtils.createApplicationDeployment(espressoModuleId, stampedeResourceId,
                             "/home1/01437/ogce/production/app_wrappers/espresso_wrapper.sh", ApplicationParallelismType.MPI,
-                            espressoDescription));
+                            espressoDescription, null));
             System.out.println("ESPRESSO on stampede deployment Id " + espressoAppDeployId);
 
             //Register GROMACS
             String gromacsAppDeployId = airavataClient.registerApplicationDeployment(
                     RegisterSampleApplicationsUtils.createApplicationDeployment(gromacsModuleId, stampedeResourceId,
                             "/home1/01437/ogce/production/app_wrappers/gromacs_wrapper.sh", ApplicationParallelismType.MPI,
-                            gromacsDescription));
+                            gromacsDescription, null));
             System.out.println("GROMACS on stampede deployment Id " + gromacsAppDeployId);
 
             //Register LAMMPS
             String lammpsAppDeployId = airavataClient.registerApplicationDeployment(
                     RegisterSampleApplicationsUtils.createApplicationDeployment(lammpsModuleId, stampedeResourceId,
                             "/home1/01437/ogce/production/app_wrappers/lammps_wrapper.sh", ApplicationParallelismType.MPI,
-                            lammpsDescription));
+                            lammpsDescription, null));
             System.out.println("LAMMPS on stampede deployment Id " + lammpsAppDeployId);
 
             //Register NWChem
             String nwChemAppDeployId = airavataClient.registerApplicationDeployment(
                     RegisterSampleApplicationsUtils.createApplicationDeployment(nwChemModuleId, stampedeResourceId,
                             "/home1/01437/ogce/production/app_wrappers/nwchem_wrapper.sh", ApplicationParallelismType.MPI,
-                            nwChemDescription));
+                            nwChemDescription, null));
             System.out.println("NWChem on stampede deployment Id " + nwChemAppDeployId);
 
             //Register Trinity
             String trinityAppDeployId = airavataClient.registerApplicationDeployment(
                     RegisterSampleApplicationsUtils.createApplicationDeployment(trinityModuleId, stampedeResourceId,
                             "/home1/01437/ogce/production/app_wrappers/trinity_wrapper.sh", ApplicationParallelismType.MPI,
-                            trinityDescription));
+                            trinityDescription, null));
             System.out.println("Trinity on stampede deployment Id " + trinityAppDeployId);
 
             //Register WRF
             String wrfAppDeployId = airavataClient.registerApplicationDeployment(
                     RegisterSampleApplicationsUtils.createApplicationDeployment(wrfModuleId, stampedeResourceId,
                             "/home1/01437/ogce/production/app_wrappers/wrf_wrapper.sh", ApplicationParallelismType.MPI,
-                            wrfDescription));
+                            wrfDescription, null));
             System.out.println("WRF on stampede deployment Id " + wrfAppDeployId);
 
         } catch (TException e) {
@@ -1101,38 +1009,47 @@ public class RegisterSampleApplications {
             //Register Echo
             String echoAppDeployId = airavataClient.registerApplicationDeployment(
                     RegisterSampleApplicationsUtils.createApplicationDeployment(echoModuleId, trestlesResourceId,
-                            "/home/ogce/production/app_wrappers/echo_wrapper.sh", ApplicationParallelismType.SERIAL, echoDescription));
+                            "/home/ogce/production/app_wrappers/echo_wrapper.sh", ApplicationParallelismType.SERIAL, echoDescription, null));
             System.out.println("Echo on trestles deployment Id " + echoAppDeployId);
 
             //Register Amber
             String amberAppDeployId = airavataClient.registerApplicationDeployment(
                     RegisterSampleApplicationsUtils.createApplicationDeployment(amberModuleId, trestlesResourceId,
                             "/home/ogce/production/app_wrappers/amber_wrapper.sh", ApplicationParallelismType.MPI,
-                            amberDescription));
+                            amberDescription, null));
             System.out.println("Amber on trestles deployment Id " + amberAppDeployId);
 
             //Register GROMACS
             String gromacsAppDeployId = airavataClient.registerApplicationDeployment(
                     RegisterSampleApplicationsUtils.createApplicationDeployment(gromacsModuleId, trestlesResourceId,
                             "/home/ogce/production/app_wrappers/gromacs_wrapper.sh", ApplicationParallelismType.MPI,
-                            gromacsDescription));
+                            gromacsDescription, null));
             System.out.println("GROMACS on trestles deployment Id " + gromacsAppDeployId);
 
             //Register LAMMPS
             String lammpsAppDeployId = airavataClient.registerApplicationDeployment(
                     RegisterSampleApplicationsUtils.createApplicationDeployment(lammpsModuleId, trestlesResourceId,
                             "/home/ogce/production/app_wrappers/lammps_wrapper.sh", ApplicationParallelismType.MPI,
-                            lammpsDescription));
+                            lammpsDescription, null));
             System.out.println("LAMMPS on trestles deployment Id " + lammpsAppDeployId);
 
+            //Register GAMESS
+            List<String> moduleLoadCmd = new ArrayList<String>();
+            moduleLoadCmd.add("module load gamess");
+            String gamessAppDeployId = airavataClient.registerApplicationDeployment(
+                    RegisterSampleApplicationsUtils.createApplicationDeployment(gamessModuleId, trestlesResourceId,
+                            "/opt/gamess/rungms", ApplicationParallelismType.MPI,
+                            gamessDescription, moduleLoadCmd));
+            System.out.println("Gamess on trestles deployment Id " + gamessAppDeployId);
+
             String monteXAppDeployId = airavataClient.registerApplicationDeployment(
                     RegisterSampleApplicationsUtils.createApplicationDeployment(monteXModuleId, trestlesResourceId,
-                            "path/to/the/monte.x", ApplicationParallelismType.OPENMP, monteXDescription));
+                            "path/to/the/monte.x", ApplicationParallelismType.OPENMP, monteXDescription, null));
             System.out.println("Tinker Monte on trestles deployment Id " + monteXAppDeployId);
 
             String gaussianAppDeployId = airavataClient.registerApplicationDeployment(
                     RegisterSampleApplicationsUtils.createApplicationDeployment(gaussianModuleId, trestlesResourceId,
-                            "path/to/the/gaussian.sh", ApplicationParallelismType.OPENMP, gaussianDescription));
+                            "path/to/the/gaussian.sh", ApplicationParallelismType.OPENMP, gaussianDescription, null));
             System.out.println("Gaussian on trestles deployment Id " + gaussianAppDeployId);
 
         } catch (TException e) {
@@ -1147,21 +1064,21 @@ public class RegisterSampleApplications {
             //Register Echo
             String echoAppDeployId = airavataClient.registerApplicationDeployment(
                     RegisterSampleApplicationsUtils.createApplicationDeployment(echoModuleId, bigredResourceId,
-                            "/N/u/cgateway/BigRed2/production/app_wrappers/echo_wrapper.sh", ApplicationParallelismType.SERIAL, echoDescription));
+                            "/N/u/cgateway/BigRed2/production/app_wrappers/echo_wrapper.sh", ApplicationParallelismType.SERIAL, echoDescription, null));
             System.out.println("Echo on bigredII deployment Id " + echoAppDeployId);
 
             //Register Amber
             String amberAppDeployId = airavataClient.registerApplicationDeployment(
                     RegisterSampleApplicationsUtils.createApplicationDeployment(amberModuleId, bigredResourceId,
                             "/N/u/cgateway/BigRed2/production/app_wrappers/amber_wrapper.sh", ApplicationParallelismType.MPI,
-                            amberDescription));
+                            amberDescription, null));
             System.out.println("Amber on bigredII deployment Id " + amberAppDeployId);
 
             //Register AutoDock
             String autoDockDeployId = airavataClient.registerApplicationDeployment(
                     RegisterSampleApplicationsUtils.createApplicationDeployment(autoDockModuleId, bigredResourceId,
                             "/N/u/cgateway/BigRed2/production/app_wrappers/auto_dock_wrapper.sh", ApplicationParallelismType.MPI,
-                            autoDockDescription));
+                            autoDockDescription, null));
             System.out.println("AutoDock on bigredII deployment Id " + autoDockDeployId);
 
 //            //Register GROMACS
@@ -1190,13 +1107,13 @@ public class RegisterSampleApplications {
             //Register Echo
             String echoAppDeployId = airavataClient.registerApplicationDeployment(
                     RegisterSampleApplicationsUtils.createApplicationDeployment(echoModuleId, fsdResourceId,
-                            "/bin/echo", ApplicationParallelismType.SERIAL, echoDescription));
+                            "/bin/echo", ApplicationParallelismType.SERIAL, echoDescription, null));
             System.out.println("Echo on FSD deployment Id: " + echoAppDeployId);
 
             //Register MPI
             String mpiAppDeployId = airavataClient.registerApplicationDeployment(
                     RegisterSampleApplicationsUtils.createApplicationDeployment(mpiModuleId, fsdResourceId,
-                            "/home/bes/hellompi", ApplicationParallelismType.OPENMP_MPI, mpiDescription));
+                            "/home/bes/hellompi", ApplicationParallelismType.OPENMP_MPI, mpiDescription, null));
             System.out.println("MPI on FSD deployment Id: " + mpiAppDeployId);
 
         } catch (TException e) {

http://git-wip-us.apache.org/repos/asf/airavata/blob/842004ee/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterSampleApplicationsUtils.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterSampleApplicationsUtils.java b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterSampleApplicationsUtils.java
index 58ba387..83be356 100644
--- a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterSampleApplicationsUtils.java
+++ b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterSampleApplicationsUtils.java
@@ -24,10 +24,7 @@ package org.apache.airavata.client.tools;
 import org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription;
 import org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule;
 import org.apache.airavata.model.appcatalog.appdeployment.ApplicationParallelismType;
-import org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription;
-import org.apache.airavata.model.appcatalog.appinterface.DataType;
-import org.apache.airavata.model.appcatalog.appinterface.InputDataObjectType;
-import org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType;
+import org.apache.airavata.model.appcatalog.appinterface.*;
 import org.apache.airavata.model.appcatalog.computeresource.*;
 import org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference;
 
@@ -55,9 +52,12 @@ public class RegisterSampleApplicationsUtils {
         return computeResourcePreference;
     }
 
-    public static ApplicationDeploymentDescription createApplicationDeployment(
-           String appModuleId, String computeResourceId, String executablePath,
-           ApplicationParallelismType parallelism, String appDeploymentDescription) {
+    public static ApplicationDeploymentDescription createApplicationDeployment(String appModuleId,
+                                                                               String computeResourceId,
+                                                                               String executablePath,
+                                                                               ApplicationParallelismType parallelism,
+                                                                               String appDeploymentDescription,
+                                                                               List<String> moduleLoadCmds) {
         ApplicationDeploymentDescription deployment = new ApplicationDeploymentDescription();
 //		deployment.setIsEmpty(false);
         deployment.setAppDeploymentDescription(appDeploymentDescription);
@@ -65,6 +65,7 @@ public class RegisterSampleApplicationsUtils {
         deployment.setComputeHostId(computeResourceId);
         deployment.setExecutablePath(executablePath);
         deployment.setParallelism(parallelism);
+        deployment.setModuleLoadCmds(moduleLoadCmds);
         return deployment;
     }
 
@@ -118,9 +119,16 @@ public class RegisterSampleApplicationsUtils {
         return resourceJobManager;
     }
 
-    public static InputDataObjectType createAppInput
-            (String inputName, String value, DataType type,
-             String applicationArgument, int order, boolean stdIn, String description, String metadata) {
+    public static InputDataObjectType createAppInput (String inputName,
+                                                      String value,
+                                                      DataType type,
+                                                      String applicationArgument,
+                                                      int order,
+                                                      ValidityType validityType,
+                                                      CommandLineType commandLineType,
+                                                      boolean stdIn,
+                                                      String description,
+                                                      String metadata) {
         InputDataObjectType input = new InputDataObjectType();
 //        input.setIsEmpty(false);
         if (inputName != null) input.setName(inputName);
@@ -128,18 +136,34 @@ public class RegisterSampleApplicationsUtils {
         if (type != null) input.setType(type);
         if (applicationArgument != null) input.setApplicationArgument(applicationArgument);
         input.setInputOrder(order);
+        if (validityType != null){
+            input.setInputValid(validityType);
+        }
+        if (commandLineType != null){
+            input.setAddedToCommandLine(commandLineType);
+        }
         if (description != null) input.setUserFriendlyDescription(description);
         input.setStandardInput(stdIn);
         if (metadata != null) input.setMetaData(metadata);
         return input;
     }
 
-    public static OutputDataObjectType createAppOutput(String inputName, String value, DataType type) {
+    public static OutputDataObjectType createAppOutput(String inputName,
+                                                       String value,
+                                                       DataType type,
+                                                       ValidityType validityType,
+                                                       CommandLineType commandLineType) {
         OutputDataObjectType outputDataObjectType = new OutputDataObjectType();
 //        outputDataObjectType.setIsEmpty(false);
         if (inputName != null) outputDataObjectType.setName(inputName);
         if (value != null) outputDataObjectType.setValue(value);
         if (type != null) outputDataObjectType.setType(type);
+        if (validityType != null){
+            outputDataObjectType.setValidityType(validityType);
+        }
+        if (commandLineType != null){
+            outputDataObjectType.setAddedToCommandLine(commandLineType);
+        }
         return outputDataObjectType;
     }
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/842004ee/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/OutputDataObjectType.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/OutputDataObjectType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/OutputDataObjectType.java
index 337f167..4197c30 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/OutputDataObjectType.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/OutputDataObjectType.java
@@ -82,8 +82,9 @@ import org.slf4j.LoggerFactory;
   private static final org.apache.thrift.protocol.TField VALUE_FIELD_DESC = new org.apache.thrift.protocol.TField("value", org.apache.thrift.protocol.TType.STRING, (short)2);
   private static final org.apache.thrift.protocol.TField TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("type", org.apache.thrift.protocol.TType.I32, (short)3);
   private static final org.apache.thrift.protocol.TField VALIDITY_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("validityType", org.apache.thrift.protocol.TType.I32, (short)4);
-  private static final org.apache.thrift.protocol.TField DATA_MOVEMENT_FIELD_DESC = new org.apache.thrift.protocol.TField("dataMovement", org.apache.thrift.protocol.TType.BOOL, (short)5);
-  private static final org.apache.thrift.protocol.TField DATA_NAME_LOCATION_FIELD_DESC = new org.apache.thrift.protocol.TField("dataNameLocation", org.apache.thrift.protocol.TType.STRING, (short)6);
+  private static final org.apache.thrift.protocol.TField ADDED_TO_COMMAND_LINE_FIELD_DESC = new org.apache.thrift.protocol.TField("addedToCommandLine", org.apache.thrift.protocol.TType.I32, (short)5);
+  private static final org.apache.thrift.protocol.TField DATA_MOVEMENT_FIELD_DESC = new org.apache.thrift.protocol.TField("dataMovement", org.apache.thrift.protocol.TType.BOOL, (short)6);
+  private static final org.apache.thrift.protocol.TField DATA_NAME_LOCATION_FIELD_DESC = new org.apache.thrift.protocol.TField("dataNameLocation", org.apache.thrift.protocol.TType.STRING, (short)7);
 
   private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
   static {
@@ -95,6 +96,7 @@ import org.slf4j.LoggerFactory;
   private String value; // optional
   private DataType type; // optional
   private ValidityType validityType; // optional
+  private CommandLineType addedToCommandLine; // optional
   private boolean dataMovement; // optional
   private String dataNameLocation; // optional
 
@@ -112,8 +114,13 @@ import org.slf4j.LoggerFactory;
      * @see ValidityType
      */
     VALIDITY_TYPE((short)4, "validityType"),
-    DATA_MOVEMENT((short)5, "dataMovement"),
-    DATA_NAME_LOCATION((short)6, "dataNameLocation");
+    /**
+     * 
+     * @see CommandLineType
+     */
+    ADDED_TO_COMMAND_LINE((short)5, "addedToCommandLine"),
+    DATA_MOVEMENT((short)6, "dataMovement"),
+    DATA_NAME_LOCATION((short)7, "dataNameLocation");
 
     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -136,9 +143,11 @@ import org.slf4j.LoggerFactory;
           return TYPE;
         case 4: // VALIDITY_TYPE
           return VALIDITY_TYPE;
-        case 5: // DATA_MOVEMENT
+        case 5: // ADDED_TO_COMMAND_LINE
+          return ADDED_TO_COMMAND_LINE;
+        case 6: // DATA_MOVEMENT
           return DATA_MOVEMENT;
-        case 6: // DATA_NAME_LOCATION
+        case 7: // DATA_NAME_LOCATION
           return DATA_NAME_LOCATION;
         default:
           return null;
@@ -182,7 +191,7 @@ import org.slf4j.LoggerFactory;
   // isset id assignments
   private static final int __DATAMOVEMENT_ISSET_ID = 0;
   private byte __isset_bitfield = 0;
-  private _Fields optionals[] = {_Fields.VALUE,_Fields.TYPE,_Fields.VALIDITY_TYPE,_Fields.DATA_MOVEMENT,_Fields.DATA_NAME_LOCATION};
+  private _Fields optionals[] = {_Fields.VALUE,_Fields.TYPE,_Fields.VALIDITY_TYPE,_Fields.ADDED_TO_COMMAND_LINE,_Fields.DATA_MOVEMENT,_Fields.DATA_NAME_LOCATION};
   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);
@@ -194,6 +203,8 @@ import org.slf4j.LoggerFactory;
         new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, DataType.class)));
     tmpMap.put(_Fields.VALIDITY_TYPE, new org.apache.thrift.meta_data.FieldMetaData("validityType", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, ValidityType.class)));
+    tmpMap.put(_Fields.ADDED_TO_COMMAND_LINE, new org.apache.thrift.meta_data.FieldMetaData("addedToCommandLine", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, CommandLineType.class)));
     tmpMap.put(_Fields.DATA_MOVEMENT, new org.apache.thrift.meta_data.FieldMetaData("dataMovement", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
     tmpMap.put(_Fields.DATA_NAME_LOCATION, new org.apache.thrift.meta_data.FieldMetaData("dataNameLocation", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
@@ -229,6 +240,9 @@ import org.slf4j.LoggerFactory;
     if (other.isSetValidityType()) {
       this.validityType = other.validityType;
     }
+    if (other.isSetAddedToCommandLine()) {
+      this.addedToCommandLine = other.addedToCommandLine;
+    }
     this.dataMovement = other.dataMovement;
     if (other.isSetDataNameLocation()) {
       this.dataNameLocation = other.dataNameLocation;
@@ -245,6 +259,7 @@ import org.slf4j.LoggerFactory;
     this.value = null;
     this.type = null;
     this.validityType = null;
+    this.addedToCommandLine = null;
     setDataMovementIsSet(false);
     this.dataMovement = false;
     this.dataNameLocation = null;
@@ -358,6 +373,37 @@ import org.slf4j.LoggerFactory;
     }
   }
 
+  /**
+   * 
+   * @see CommandLineType
+   */
+  public CommandLineType getAddedToCommandLine() {
+    return this.addedToCommandLine;
+  }
+
+  /**
+   * 
+   * @see CommandLineType
+   */
+  public void setAddedToCommandLine(CommandLineType addedToCommandLine) {
+    this.addedToCommandLine = addedToCommandLine;
+  }
+
+  public void unsetAddedToCommandLine() {
+    this.addedToCommandLine = null;
+  }
+
+  /** Returns true if field addedToCommandLine is set (has been assigned a value) and false otherwise */
+  public boolean isSetAddedToCommandLine() {
+    return this.addedToCommandLine != null;
+  }
+
+  public void setAddedToCommandLineIsSet(boolean value) {
+    if (!value) {
+      this.addedToCommandLine = null;
+    }
+  }
+
   public boolean isDataMovement() {
     return this.dataMovement;
   }
@@ -437,6 +483,14 @@ import org.slf4j.LoggerFactory;
       }
       break;
 
+    case ADDED_TO_COMMAND_LINE:
+      if (value == null) {
+        unsetAddedToCommandLine();
+      } else {
+        setAddedToCommandLine((CommandLineType)value);
+      }
+      break;
+
     case DATA_MOVEMENT:
       if (value == null) {
         unsetDataMovement();
@@ -470,6 +524,9 @@ import org.slf4j.LoggerFactory;
     case VALIDITY_TYPE:
       return getValidityType();
 
+    case ADDED_TO_COMMAND_LINE:
+      return getAddedToCommandLine();
+
     case DATA_MOVEMENT:
       return Boolean.valueOf(isDataMovement());
 
@@ -495,6 +552,8 @@ import org.slf4j.LoggerFactory;
       return isSetType();
     case VALIDITY_TYPE:
       return isSetValidityType();
+    case ADDED_TO_COMMAND_LINE:
+      return isSetAddedToCommandLine();
     case DATA_MOVEMENT:
       return isSetDataMovement();
     case DATA_NAME_LOCATION:
@@ -552,6 +611,15 @@ import org.slf4j.LoggerFactory;
         return false;
     }
 
+    boolean this_present_addedToCommandLine = true && this.isSetAddedToCommandLine();
+    boolean that_present_addedToCommandLine = true && that.isSetAddedToCommandLine();
+    if (this_present_addedToCommandLine || that_present_addedToCommandLine) {
+      if (!(this_present_addedToCommandLine && that_present_addedToCommandLine))
+        return false;
+      if (!this.addedToCommandLine.equals(that.addedToCommandLine))
+        return false;
+    }
+
     boolean this_present_dataMovement = true && this.isSetDataMovement();
     boolean that_present_dataMovement = true && that.isSetDataMovement();
     if (this_present_dataMovement || that_present_dataMovement) {
@@ -626,6 +694,16 @@ import org.slf4j.LoggerFactory;
         return lastComparison;
       }
     }
+    lastComparison = Boolean.valueOf(isSetAddedToCommandLine()).compareTo(other.isSetAddedToCommandLine());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetAddedToCommandLine()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.addedToCommandLine, other.addedToCommandLine);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
     lastComparison = Boolean.valueOf(isSetDataMovement()).compareTo(other.isSetDataMovement());
     if (lastComparison != 0) {
       return lastComparison;
@@ -703,6 +781,16 @@ import org.slf4j.LoggerFactory;
       }
       first = false;
     }
+    if (isSetAddedToCommandLine()) {
+      if (!first) sb.append(", ");
+      sb.append("addedToCommandLine:");
+      if (this.addedToCommandLine == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.addedToCommandLine);
+      }
+      first = false;
+    }
     if (isSetDataMovement()) {
       if (!first) sb.append(", ");
       sb.append("dataMovement:");
@@ -800,7 +888,15 @@ import org.slf4j.LoggerFactory;
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 5: // DATA_MOVEMENT
+          case 5: // ADDED_TO_COMMAND_LINE
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.addedToCommandLine = CommandLineType.findByValue(iprot.readI32());
+              struct.setAddedToCommandLineIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 6: // DATA_MOVEMENT
             if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
               struct.dataMovement = iprot.readBool();
               struct.setDataMovementIsSet(true);
@@ -808,7 +904,7 @@ import org.slf4j.LoggerFactory;
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 6: // DATA_NAME_LOCATION
+          case 7: // DATA_NAME_LOCATION
             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
               struct.dataNameLocation = iprot.readString();
               struct.setDataNameLocationIsSet(true);
@@ -855,6 +951,13 @@ import org.slf4j.LoggerFactory;
           oprot.writeFieldEnd();
         }
       }
+      if (struct.addedToCommandLine != null) {
+        if (struct.isSetAddedToCommandLine()) {
+          oprot.writeFieldBegin(ADDED_TO_COMMAND_LINE_FIELD_DESC);
+          oprot.writeI32(struct.addedToCommandLine.getValue());
+          oprot.writeFieldEnd();
+        }
+      }
       if (struct.isSetDataMovement()) {
         oprot.writeFieldBegin(DATA_MOVEMENT_FIELD_DESC);
         oprot.writeBool(struct.dataMovement);
@@ -895,13 +998,16 @@ import org.slf4j.LoggerFactory;
       if (struct.isSetValidityType()) {
         optionals.set(2);
       }
-      if (struct.isSetDataMovement()) {
+      if (struct.isSetAddedToCommandLine()) {
         optionals.set(3);
       }
-      if (struct.isSetDataNameLocation()) {
+      if (struct.isSetDataMovement()) {
         optionals.set(4);
       }
-      oprot.writeBitSet(optionals, 5);
+      if (struct.isSetDataNameLocation()) {
+        optionals.set(5);
+      }
+      oprot.writeBitSet(optionals, 6);
       if (struct.isSetValue()) {
         oprot.writeString(struct.value);
       }
@@ -911,6 +1017,9 @@ import org.slf4j.LoggerFactory;
       if (struct.isSetValidityType()) {
         oprot.writeI32(struct.validityType.getValue());
       }
+      if (struct.isSetAddedToCommandLine()) {
+        oprot.writeI32(struct.addedToCommandLine.getValue());
+      }
       if (struct.isSetDataMovement()) {
         oprot.writeBool(struct.dataMovement);
       }
@@ -924,7 +1033,7 @@ import org.slf4j.LoggerFactory;
       TTupleProtocol iprot = (TTupleProtocol) prot;
       struct.name = iprot.readString();
       struct.setNameIsSet(true);
-      BitSet incoming = iprot.readBitSet(5);
+      BitSet incoming = iprot.readBitSet(6);
       if (incoming.get(0)) {
         struct.value = iprot.readString();
         struct.setValueIsSet(true);
@@ -938,10 +1047,14 @@ import org.slf4j.LoggerFactory;
         struct.setValidityTypeIsSet(true);
       }
       if (incoming.get(3)) {
+        struct.addedToCommandLine = CommandLineType.findByValue(iprot.readI32());
+        struct.setAddedToCommandLineIsSet(true);
+      }
+      if (incoming.get(4)) {
         struct.dataMovement = iprot.readBool();
         struct.setDataMovementIsSet(true);
       }
-      if (incoming.get(4)) {
+      if (incoming.get(5)) {
         struct.dataNameLocation = iprot.readString();
         struct.setDataNameLocationIsSet(true);
       }

http://git-wip-us.apache.org/repos/asf/airavata/blob/842004ee/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/BatchQueue.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/BatchQueue.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/BatchQueue.java
index 1c43948..f4ab850 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/BatchQueue.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/BatchQueue.java
@@ -64,6 +64,7 @@ import org.slf4j.LoggerFactory;
   private static final org.apache.thrift.protocol.TField MAX_NODES_FIELD_DESC = new org.apache.thrift.protocol.TField("maxNodes", org.apache.thrift.protocol.TType.I32, (short)4);
   private static final org.apache.thrift.protocol.TField MAX_PROCESSORS_FIELD_DESC = new org.apache.thrift.protocol.TField("maxProcessors", org.apache.thrift.protocol.TType.I32, (short)5);
   private static final org.apache.thrift.protocol.TField MAX_JOBS_IN_QUEUE_FIELD_DESC = new org.apache.thrift.protocol.TField("maxJobsInQueue", org.apache.thrift.protocol.TType.I32, (short)6);
+  private static final org.apache.thrift.protocol.TField MAX_MEMORY_FIELD_DESC = new org.apache.thrift.protocol.TField("maxMemory", org.apache.thrift.protocol.TType.I32, (short)7);
 
   private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
   static {
@@ -77,6 +78,7 @@ import org.slf4j.LoggerFactory;
   private int maxNodes; // optional
   private int maxProcessors; // optional
   private int maxJobsInQueue; // optional
+  private int maxMemory; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   @SuppressWarnings("all") public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -85,7 +87,8 @@ import org.slf4j.LoggerFactory;
     MAX_RUN_TIME((short)3, "maxRunTime"),
     MAX_NODES((short)4, "maxNodes"),
     MAX_PROCESSORS((short)5, "maxProcessors"),
-    MAX_JOBS_IN_QUEUE((short)6, "maxJobsInQueue");
+    MAX_JOBS_IN_QUEUE((short)6, "maxJobsInQueue"),
+    MAX_MEMORY((short)7, "maxMemory");
 
     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -112,6 +115,8 @@ import org.slf4j.LoggerFactory;
           return MAX_PROCESSORS;
         case 6: // MAX_JOBS_IN_QUEUE
           return MAX_JOBS_IN_QUEUE;
+        case 7: // MAX_MEMORY
+          return MAX_MEMORY;
         default:
           return null;
       }
@@ -156,8 +161,9 @@ import org.slf4j.LoggerFactory;
   private static final int __MAXNODES_ISSET_ID = 1;
   private static final int __MAXPROCESSORS_ISSET_ID = 2;
   private static final int __MAXJOBSINQUEUE_ISSET_ID = 3;
+  private static final int __MAXMEMORY_ISSET_ID = 4;
   private byte __isset_bitfield = 0;
-  private _Fields optionals[] = {_Fields.QUEUE_DESCRIPTION,_Fields.MAX_RUN_TIME,_Fields.MAX_NODES,_Fields.MAX_PROCESSORS,_Fields.MAX_JOBS_IN_QUEUE};
+  private _Fields optionals[] = {_Fields.QUEUE_DESCRIPTION,_Fields.MAX_RUN_TIME,_Fields.MAX_NODES,_Fields.MAX_PROCESSORS,_Fields.MAX_JOBS_IN_QUEUE,_Fields.MAX_MEMORY};
   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);
@@ -173,6 +179,8 @@ import org.slf4j.LoggerFactory;
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
     tmpMap.put(_Fields.MAX_JOBS_IN_QUEUE, new org.apache.thrift.meta_data.FieldMetaData("maxJobsInQueue", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
+    tmpMap.put(_Fields.MAX_MEMORY, new org.apache.thrift.meta_data.FieldMetaData("maxMemory", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
     metaDataMap = Collections.unmodifiableMap(tmpMap);
     org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(BatchQueue.class, metaDataMap);
   }
@@ -202,6 +210,7 @@ import org.slf4j.LoggerFactory;
     this.maxNodes = other.maxNodes;
     this.maxProcessors = other.maxProcessors;
     this.maxJobsInQueue = other.maxJobsInQueue;
+    this.maxMemory = other.maxMemory;
   }
 
   public BatchQueue deepCopy() {
@@ -220,6 +229,8 @@ import org.slf4j.LoggerFactory;
     this.maxProcessors = 0;
     setMaxJobsInQueueIsSet(false);
     this.maxJobsInQueue = 0;
+    setMaxMemoryIsSet(false);
+    this.maxMemory = 0;
   }
 
   public String getQueueName() {
@@ -356,6 +367,28 @@ import org.slf4j.LoggerFactory;
     __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __MAXJOBSINQUEUE_ISSET_ID, value);
   }
 
+  public int getMaxMemory() {
+    return this.maxMemory;
+  }
+
+  public void setMaxMemory(int maxMemory) {
+    this.maxMemory = maxMemory;
+    setMaxMemoryIsSet(true);
+  }
+
+  public void unsetMaxMemory() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __MAXMEMORY_ISSET_ID);
+  }
+
+  /** Returns true if field maxMemory is set (has been assigned a value) and false otherwise */
+  public boolean isSetMaxMemory() {
+    return EncodingUtils.testBit(__isset_bitfield, __MAXMEMORY_ISSET_ID);
+  }
+
+  public void setMaxMemoryIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __MAXMEMORY_ISSET_ID, value);
+  }
+
   public void setFieldValue(_Fields field, Object value) {
     switch (field) {
     case QUEUE_NAME:
@@ -406,6 +439,14 @@ import org.slf4j.LoggerFactory;
       }
       break;
 
+    case MAX_MEMORY:
+      if (value == null) {
+        unsetMaxMemory();
+      } else {
+        setMaxMemory((Integer)value);
+      }
+      break;
+
     }
   }
 
@@ -429,6 +470,9 @@ import org.slf4j.LoggerFactory;
     case MAX_JOBS_IN_QUEUE:
       return Integer.valueOf(getMaxJobsInQueue());
 
+    case MAX_MEMORY:
+      return Integer.valueOf(getMaxMemory());
+
     }
     throw new IllegalStateException();
   }
@@ -452,6 +496,8 @@ import org.slf4j.LoggerFactory;
       return isSetMaxProcessors();
     case MAX_JOBS_IN_QUEUE:
       return isSetMaxJobsInQueue();
+    case MAX_MEMORY:
+      return isSetMaxMemory();
     }
     throw new IllegalStateException();
   }
@@ -523,6 +569,15 @@ import org.slf4j.LoggerFactory;
         return false;
     }
 
+    boolean this_present_maxMemory = true && this.isSetMaxMemory();
+    boolean that_present_maxMemory = true && that.isSetMaxMemory();
+    if (this_present_maxMemory || that_present_maxMemory) {
+      if (!(this_present_maxMemory && that_present_maxMemory))
+        return false;
+      if (this.maxMemory != that.maxMemory)
+        return false;
+    }
+
     return true;
   }
 
@@ -599,6 +654,16 @@ import org.slf4j.LoggerFactory;
         return lastComparison;
       }
     }
+    lastComparison = Boolean.valueOf(isSetMaxMemory()).compareTo(other.isSetMaxMemory());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetMaxMemory()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.maxMemory, other.maxMemory);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
     return 0;
   }
 
@@ -660,6 +725,12 @@ import org.slf4j.LoggerFactory;
       sb.append(this.maxJobsInQueue);
       first = false;
     }
+    if (isSetMaxMemory()) {
+      if (!first) sb.append(", ");
+      sb.append("maxMemory:");
+      sb.append(this.maxMemory);
+      first = false;
+    }
     sb.append(")");
     return sb.toString();
   }
@@ -757,6 +828,14 @@ import org.slf4j.LoggerFactory;
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
+          case 7: // MAX_MEMORY
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.maxMemory = iprot.readI32();
+              struct.setMaxMemoryIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
           default:
             org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
         }
@@ -802,6 +881,11 @@ import org.slf4j.LoggerFactory;
         oprot.writeI32(struct.maxJobsInQueue);
         oprot.writeFieldEnd();
       }
+      if (struct.isSetMaxMemory()) {
+        oprot.writeFieldBegin(MAX_MEMORY_FIELD_DESC);
+        oprot.writeI32(struct.maxMemory);
+        oprot.writeFieldEnd();
+      }
       oprot.writeFieldStop();
       oprot.writeStructEnd();
     }
@@ -836,7 +920,10 @@ import org.slf4j.LoggerFactory;
       if (struct.isSetMaxJobsInQueue()) {
         optionals.set(4);
       }
-      oprot.writeBitSet(optionals, 5);
+      if (struct.isSetMaxMemory()) {
+        optionals.set(5);
+      }
+      oprot.writeBitSet(optionals, 6);
       if (struct.isSetQueueDescription()) {
         oprot.writeString(struct.queueDescription);
       }
@@ -852,6 +939,9 @@ import org.slf4j.LoggerFactory;
       if (struct.isSetMaxJobsInQueue()) {
         oprot.writeI32(struct.maxJobsInQueue);
       }
+      if (struct.isSetMaxMemory()) {
+        oprot.writeI32(struct.maxMemory);
+      }
     }
 
     @Override
@@ -859,7 +949,7 @@ import org.slf4j.LoggerFactory;
       TTupleProtocol iprot = (TTupleProtocol) prot;
       struct.queueName = iprot.readString();
       struct.setQueueNameIsSet(true);
-      BitSet incoming = iprot.readBitSet(5);
+      BitSet incoming = iprot.readBitSet(6);
       if (incoming.get(0)) {
         struct.queueDescription = iprot.readString();
         struct.setQueueDescriptionIsSet(true);
@@ -880,6 +970,10 @@ import org.slf4j.LoggerFactory;
         struct.maxJobsInQueue = iprot.readI32();
         struct.setMaxJobsInQueueIsSet(true);
       }
+      if (incoming.get(5)) {
+        struct.maxMemory = iprot.readI32();
+        struct.setMaxMemoryIsSet(true);
+      }
     }
   }