You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sh...@apache.org on 2016/11/02 03:30:13 UTC

[02/20] airavata git commit: adding node and cpu count preferences to compute resource and application deployment description

http://git-wip-us.apache.org/repos/asf/airavata/blob/5904cb13/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 d888905..682ab2d 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
@@ -23,32 +23,15 @@
  */
 package org.apache.airavata.model.appcatalog.computeresource;
 
+import org.apache.thrift.EncodingUtils;
+import org.apache.thrift.protocol.TTupleProtocol;
 import org.apache.thrift.scheme.IScheme;
 import org.apache.thrift.scheme.SchemeFactory;
 import org.apache.thrift.scheme.StandardScheme;
-
 import org.apache.thrift.scheme.TupleScheme;
-import org.apache.thrift.protocol.TTupleProtocol;
-import org.apache.thrift.protocol.TProtocolException;
-import org.apache.thrift.EncodingUtils;
-import org.apache.thrift.TException;
-import org.apache.thrift.async.AsyncMethodCallback;
-import org.apache.thrift.server.AbstractNonblockingServer.*;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.EnumMap;
-import java.util.Set;
-import java.util.HashSet;
-import java.util.EnumSet;
-import java.util.Collections;
-import java.util.BitSet;
-import java.nio.ByteBuffer;
-import java.util.Arrays;
+
 import javax.annotation.Generated;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import java.util.*;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
 /**
@@ -68,6 +51,10 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
   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 org.apache.thrift.protocol.TField CPU_PER_NODE_FIELD_DESC = new org.apache.thrift.protocol.TField("cpuPerNode", org.apache.thrift.protocol.TType.I32, (short)8);
+  private static final org.apache.thrift.protocol.TField DEFAULT_NODE_COUNT_FIELD_DESC = new org.apache.thrift.protocol.TField("defaultNodeCount", org.apache.thrift.protocol.TType.I32, (short)9);
+  private static final org.apache.thrift.protocol.TField DEFAULT_CPUCOUNT_FIELD_DESC = new org.apache.thrift.protocol.TField("defaultCPUCount", org.apache.thrift.protocol.TType.I32, (short)10);
+  private static final org.apache.thrift.protocol.TField IS_DEFAULT_QUEUE_FIELD_DESC = new org.apache.thrift.protocol.TField("isDefaultQueue", org.apache.thrift.protocol.TType.BOOL, (short)11);
 
   private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
   static {
@@ -82,6 +69,10 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
   private int maxProcessors; // optional
   private int maxJobsInQueue; // optional
   private int maxMemory; // optional
+  private int cpuPerNode; // optional
+  private int defaultNodeCount; // optional
+  private int defaultCPUCount; // optional
+  private boolean isDefaultQueue; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -91,7 +82,11 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
     MAX_NODES((short)4, "maxNodes"),
     MAX_PROCESSORS((short)5, "maxProcessors"),
     MAX_JOBS_IN_QUEUE((short)6, "maxJobsInQueue"),
-    MAX_MEMORY((short)7, "maxMemory");
+    MAX_MEMORY((short)7, "maxMemory"),
+    CPU_PER_NODE((short)8, "cpuPerNode"),
+    DEFAULT_NODE_COUNT((short)9, "defaultNodeCount"),
+    DEFAULT_CPUCOUNT((short)10, "defaultCPUCount"),
+    IS_DEFAULT_QUEUE((short)11, "isDefaultQueue");
 
     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -120,6 +115,14 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
           return MAX_JOBS_IN_QUEUE;
         case 7: // MAX_MEMORY
           return MAX_MEMORY;
+        case 8: // CPU_PER_NODE
+          return CPU_PER_NODE;
+        case 9: // DEFAULT_NODE_COUNT
+          return DEFAULT_NODE_COUNT;
+        case 10: // DEFAULT_CPUCOUNT
+          return DEFAULT_CPUCOUNT;
+        case 11: // IS_DEFAULT_QUEUE
+          return IS_DEFAULT_QUEUE;
         default:
           return null;
       }
@@ -165,8 +168,12 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
   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 static final _Fields optionals[] = {_Fields.QUEUE_DESCRIPTION,_Fields.MAX_RUN_TIME,_Fields.MAX_NODES,_Fields.MAX_PROCESSORS,_Fields.MAX_JOBS_IN_QUEUE,_Fields.MAX_MEMORY};
+  private static final int __CPUPERNODE_ISSET_ID = 5;
+  private static final int __DEFAULTNODECOUNT_ISSET_ID = 6;
+  private static final int __DEFAULTCPUCOUNT_ISSET_ID = 7;
+  private static final int __ISDEFAULTQUEUE_ISSET_ID = 8;
+  private short __isset_bitfield = 0;
+  private static final _Fields optionals[] = {_Fields.QUEUE_DESCRIPTION,_Fields.MAX_RUN_TIME,_Fields.MAX_NODES,_Fields.MAX_PROCESSORS,_Fields.MAX_JOBS_IN_QUEUE,_Fields.MAX_MEMORY,_Fields.CPU_PER_NODE,_Fields.DEFAULT_NODE_COUNT,_Fields.DEFAULT_CPUCOUNT,_Fields.IS_DEFAULT_QUEUE};
   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);
@@ -184,6 +191,14 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
         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)));
+    tmpMap.put(_Fields.CPU_PER_NODE, new org.apache.thrift.meta_data.FieldMetaData("cpuPerNode", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
+    tmpMap.put(_Fields.DEFAULT_NODE_COUNT, new org.apache.thrift.meta_data.FieldMetaData("defaultNodeCount", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
+    tmpMap.put(_Fields.DEFAULT_CPUCOUNT, new org.apache.thrift.meta_data.FieldMetaData("defaultCPUCount", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
+    tmpMap.put(_Fields.IS_DEFAULT_QUEUE, new org.apache.thrift.meta_data.FieldMetaData("isDefaultQueue", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
     metaDataMap = Collections.unmodifiableMap(tmpMap);
     org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(BatchQueue.class, metaDataMap);
   }
@@ -214,6 +229,10 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
     this.maxProcessors = other.maxProcessors;
     this.maxJobsInQueue = other.maxJobsInQueue;
     this.maxMemory = other.maxMemory;
+    this.cpuPerNode = other.cpuPerNode;
+    this.defaultNodeCount = other.defaultNodeCount;
+    this.defaultCPUCount = other.defaultCPUCount;
+    this.isDefaultQueue = other.isDefaultQueue;
   }
 
   public BatchQueue deepCopy() {
@@ -234,6 +253,14 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
     this.maxJobsInQueue = 0;
     setMaxMemoryIsSet(false);
     this.maxMemory = 0;
+    setCpuPerNodeIsSet(false);
+    this.cpuPerNode = 0;
+    setDefaultNodeCountIsSet(false);
+    this.defaultNodeCount = 0;
+    setDefaultCPUCountIsSet(false);
+    this.defaultCPUCount = 0;
+    setIsDefaultQueueIsSet(false);
+    this.isDefaultQueue = false;
   }
 
   public String getQueueName() {
@@ -392,6 +419,94 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
     __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __MAXMEMORY_ISSET_ID, value);
   }
 
+  public int getCpuPerNode() {
+    return this.cpuPerNode;
+  }
+
+  public void setCpuPerNode(int cpuPerNode) {
+    this.cpuPerNode = cpuPerNode;
+    setCpuPerNodeIsSet(true);
+  }
+
+  public void unsetCpuPerNode() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __CPUPERNODE_ISSET_ID);
+  }
+
+  /** Returns true if field cpuPerNode is set (has been assigned a value) and false otherwise */
+  public boolean isSetCpuPerNode() {
+    return EncodingUtils.testBit(__isset_bitfield, __CPUPERNODE_ISSET_ID);
+  }
+
+  public void setCpuPerNodeIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __CPUPERNODE_ISSET_ID, value);
+  }
+
+  public int getDefaultNodeCount() {
+    return this.defaultNodeCount;
+  }
+
+  public void setDefaultNodeCount(int defaultNodeCount) {
+    this.defaultNodeCount = defaultNodeCount;
+    setDefaultNodeCountIsSet(true);
+  }
+
+  public void unsetDefaultNodeCount() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __DEFAULTNODECOUNT_ISSET_ID);
+  }
+
+  /** Returns true if field defaultNodeCount is set (has been assigned a value) and false otherwise */
+  public boolean isSetDefaultNodeCount() {
+    return EncodingUtils.testBit(__isset_bitfield, __DEFAULTNODECOUNT_ISSET_ID);
+  }
+
+  public void setDefaultNodeCountIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __DEFAULTNODECOUNT_ISSET_ID, value);
+  }
+
+  public int getDefaultCPUCount() {
+    return this.defaultCPUCount;
+  }
+
+  public void setDefaultCPUCount(int defaultCPUCount) {
+    this.defaultCPUCount = defaultCPUCount;
+    setDefaultCPUCountIsSet(true);
+  }
+
+  public void unsetDefaultCPUCount() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __DEFAULTCPUCOUNT_ISSET_ID);
+  }
+
+  /** Returns true if field defaultCPUCount is set (has been assigned a value) and false otherwise */
+  public boolean isSetDefaultCPUCount() {
+    return EncodingUtils.testBit(__isset_bitfield, __DEFAULTCPUCOUNT_ISSET_ID);
+  }
+
+  public void setDefaultCPUCountIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __DEFAULTCPUCOUNT_ISSET_ID, value);
+  }
+
+  public boolean isIsDefaultQueue() {
+    return this.isDefaultQueue;
+  }
+
+  public void setIsDefaultQueue(boolean isDefaultQueue) {
+    this.isDefaultQueue = isDefaultQueue;
+    setIsDefaultQueueIsSet(true);
+  }
+
+  public void unsetIsDefaultQueue() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __ISDEFAULTQUEUE_ISSET_ID);
+  }
+
+  /** Returns true if field isDefaultQueue is set (has been assigned a value) and false otherwise */
+  public boolean isSetIsDefaultQueue() {
+    return EncodingUtils.testBit(__isset_bitfield, __ISDEFAULTQUEUE_ISSET_ID);
+  }
+
+  public void setIsDefaultQueueIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __ISDEFAULTQUEUE_ISSET_ID, value);
+  }
+
   public void setFieldValue(_Fields field, Object value) {
     switch (field) {
     case QUEUE_NAME:
@@ -450,6 +565,38 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
       }
       break;
 
+    case CPU_PER_NODE:
+      if (value == null) {
+        unsetCpuPerNode();
+      } else {
+        setCpuPerNode((Integer)value);
+      }
+      break;
+
+    case DEFAULT_NODE_COUNT:
+      if (value == null) {
+        unsetDefaultNodeCount();
+      } else {
+        setDefaultNodeCount((Integer)value);
+      }
+      break;
+
+    case DEFAULT_CPUCOUNT:
+      if (value == null) {
+        unsetDefaultCPUCount();
+      } else {
+        setDefaultCPUCount((Integer)value);
+      }
+      break;
+
+    case IS_DEFAULT_QUEUE:
+      if (value == null) {
+        unsetIsDefaultQueue();
+      } else {
+        setIsDefaultQueue((Boolean)value);
+      }
+      break;
+
     }
   }
 
@@ -476,6 +623,18 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
     case MAX_MEMORY:
       return getMaxMemory();
 
+    case CPU_PER_NODE:
+      return getCpuPerNode();
+
+    case DEFAULT_NODE_COUNT:
+      return getDefaultNodeCount();
+
+    case DEFAULT_CPUCOUNT:
+      return getDefaultCPUCount();
+
+    case IS_DEFAULT_QUEUE:
+      return isIsDefaultQueue();
+
     }
     throw new IllegalStateException();
   }
@@ -501,6 +660,14 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
       return isSetMaxJobsInQueue();
     case MAX_MEMORY:
       return isSetMaxMemory();
+    case CPU_PER_NODE:
+      return isSetCpuPerNode();
+    case DEFAULT_NODE_COUNT:
+      return isSetDefaultNodeCount();
+    case DEFAULT_CPUCOUNT:
+      return isSetDefaultCPUCount();
+    case IS_DEFAULT_QUEUE:
+      return isSetIsDefaultQueue();
     }
     throw new IllegalStateException();
   }
@@ -581,6 +748,42 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
         return false;
     }
 
+    boolean this_present_cpuPerNode = true && this.isSetCpuPerNode();
+    boolean that_present_cpuPerNode = true && that.isSetCpuPerNode();
+    if (this_present_cpuPerNode || that_present_cpuPerNode) {
+      if (!(this_present_cpuPerNode && that_present_cpuPerNode))
+        return false;
+      if (this.cpuPerNode != that.cpuPerNode)
+        return false;
+    }
+
+    boolean this_present_defaultNodeCount = true && this.isSetDefaultNodeCount();
+    boolean that_present_defaultNodeCount = true && that.isSetDefaultNodeCount();
+    if (this_present_defaultNodeCount || that_present_defaultNodeCount) {
+      if (!(this_present_defaultNodeCount && that_present_defaultNodeCount))
+        return false;
+      if (this.defaultNodeCount != that.defaultNodeCount)
+        return false;
+    }
+
+    boolean this_present_defaultCPUCount = true && this.isSetDefaultCPUCount();
+    boolean that_present_defaultCPUCount = true && that.isSetDefaultCPUCount();
+    if (this_present_defaultCPUCount || that_present_defaultCPUCount) {
+      if (!(this_present_defaultCPUCount && that_present_defaultCPUCount))
+        return false;
+      if (this.defaultCPUCount != that.defaultCPUCount)
+        return false;
+    }
+
+    boolean this_present_isDefaultQueue = true && this.isSetIsDefaultQueue();
+    boolean that_present_isDefaultQueue = true && that.isSetIsDefaultQueue();
+    if (this_present_isDefaultQueue || that_present_isDefaultQueue) {
+      if (!(this_present_isDefaultQueue && that_present_isDefaultQueue))
+        return false;
+      if (this.isDefaultQueue != that.isDefaultQueue)
+        return false;
+    }
+
     return true;
   }
 
@@ -623,6 +826,26 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
     if (present_maxMemory)
       list.add(maxMemory);
 
+    boolean present_cpuPerNode = true && (isSetCpuPerNode());
+    list.add(present_cpuPerNode);
+    if (present_cpuPerNode)
+      list.add(cpuPerNode);
+
+    boolean present_defaultNodeCount = true && (isSetDefaultNodeCount());
+    list.add(present_defaultNodeCount);
+    if (present_defaultNodeCount)
+      list.add(defaultNodeCount);
+
+    boolean present_defaultCPUCount = true && (isSetDefaultCPUCount());
+    list.add(present_defaultCPUCount);
+    if (present_defaultCPUCount)
+      list.add(defaultCPUCount);
+
+    boolean present_isDefaultQueue = true && (isSetIsDefaultQueue());
+    list.add(present_isDefaultQueue);
+    if (present_isDefaultQueue)
+      list.add(isDefaultQueue);
+
     return list.hashCode();
   }
 
@@ -704,6 +927,46 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
         return lastComparison;
       }
     }
+    lastComparison = Boolean.valueOf(isSetCpuPerNode()).compareTo(other.isSetCpuPerNode());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetCpuPerNode()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.cpuPerNode, other.cpuPerNode);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetDefaultNodeCount()).compareTo(other.isSetDefaultNodeCount());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetDefaultNodeCount()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.defaultNodeCount, other.defaultNodeCount);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetDefaultCPUCount()).compareTo(other.isSetDefaultCPUCount());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetDefaultCPUCount()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.defaultCPUCount, other.defaultCPUCount);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetIsDefaultQueue()).compareTo(other.isSetIsDefaultQueue());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetIsDefaultQueue()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.isDefaultQueue, other.isDefaultQueue);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
     return 0;
   }
 
@@ -771,6 +1034,30 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
       sb.append(this.maxMemory);
       first = false;
     }
+    if (isSetCpuPerNode()) {
+      if (!first) sb.append(", ");
+      sb.append("cpuPerNode:");
+      sb.append(this.cpuPerNode);
+      first = false;
+    }
+    if (isSetDefaultNodeCount()) {
+      if (!first) sb.append(", ");
+      sb.append("defaultNodeCount:");
+      sb.append(this.defaultNodeCount);
+      first = false;
+    }
+    if (isSetDefaultCPUCount()) {
+      if (!first) sb.append(", ");
+      sb.append("defaultCPUCount:");
+      sb.append(this.defaultCPUCount);
+      first = false;
+    }
+    if (isSetIsDefaultQueue()) {
+      if (!first) sb.append(", ");
+      sb.append("isDefaultQueue:");
+      sb.append(this.isDefaultQueue);
+      first = false;
+    }
     sb.append(")");
     return sb.toString();
   }
@@ -876,6 +1163,38 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
+          case 8: // CPU_PER_NODE
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.cpuPerNode = iprot.readI32();
+              struct.setCpuPerNodeIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 9: // DEFAULT_NODE_COUNT
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.defaultNodeCount = iprot.readI32();
+              struct.setDefaultNodeCountIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 10: // DEFAULT_CPUCOUNT
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.defaultCPUCount = iprot.readI32();
+              struct.setDefaultCPUCountIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 11: // IS_DEFAULT_QUEUE
+            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+              struct.isDefaultQueue = iprot.readBool();
+              struct.setIsDefaultQueueIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
           default:
             org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
         }
@@ -926,6 +1245,26 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
         oprot.writeI32(struct.maxMemory);
         oprot.writeFieldEnd();
       }
+      if (struct.isSetCpuPerNode()) {
+        oprot.writeFieldBegin(CPU_PER_NODE_FIELD_DESC);
+        oprot.writeI32(struct.cpuPerNode);
+        oprot.writeFieldEnd();
+      }
+      if (struct.isSetDefaultNodeCount()) {
+        oprot.writeFieldBegin(DEFAULT_NODE_COUNT_FIELD_DESC);
+        oprot.writeI32(struct.defaultNodeCount);
+        oprot.writeFieldEnd();
+      }
+      if (struct.isSetDefaultCPUCount()) {
+        oprot.writeFieldBegin(DEFAULT_CPUCOUNT_FIELD_DESC);
+        oprot.writeI32(struct.defaultCPUCount);
+        oprot.writeFieldEnd();
+      }
+      if (struct.isSetIsDefaultQueue()) {
+        oprot.writeFieldBegin(IS_DEFAULT_QUEUE_FIELD_DESC);
+        oprot.writeBool(struct.isDefaultQueue);
+        oprot.writeFieldEnd();
+      }
       oprot.writeFieldStop();
       oprot.writeStructEnd();
     }
@@ -963,7 +1302,19 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
       if (struct.isSetMaxMemory()) {
         optionals.set(5);
       }
-      oprot.writeBitSet(optionals, 6);
+      if (struct.isSetCpuPerNode()) {
+        optionals.set(6);
+      }
+      if (struct.isSetDefaultNodeCount()) {
+        optionals.set(7);
+      }
+      if (struct.isSetDefaultCPUCount()) {
+        optionals.set(8);
+      }
+      if (struct.isSetIsDefaultQueue()) {
+        optionals.set(9);
+      }
+      oprot.writeBitSet(optionals, 10);
       if (struct.isSetQueueDescription()) {
         oprot.writeString(struct.queueDescription);
       }
@@ -982,6 +1333,18 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
       if (struct.isSetMaxMemory()) {
         oprot.writeI32(struct.maxMemory);
       }
+      if (struct.isSetCpuPerNode()) {
+        oprot.writeI32(struct.cpuPerNode);
+      }
+      if (struct.isSetDefaultNodeCount()) {
+        oprot.writeI32(struct.defaultNodeCount);
+      }
+      if (struct.isSetDefaultCPUCount()) {
+        oprot.writeI32(struct.defaultCPUCount);
+      }
+      if (struct.isSetIsDefaultQueue()) {
+        oprot.writeBool(struct.isDefaultQueue);
+      }
     }
 
     @Override
@@ -989,7 +1352,7 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
       TTupleProtocol iprot = (TTupleProtocol) prot;
       struct.queueName = iprot.readString();
       struct.setQueueNameIsSet(true);
-      BitSet incoming = iprot.readBitSet(6);
+      BitSet incoming = iprot.readBitSet(10);
       if (incoming.get(0)) {
         struct.queueDescription = iprot.readString();
         struct.setQueueDescriptionIsSet(true);
@@ -1014,6 +1377,22 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
         struct.maxMemory = iprot.readI32();
         struct.setMaxMemoryIsSet(true);
       }
+      if (incoming.get(6)) {
+        struct.cpuPerNode = iprot.readI32();
+        struct.setCpuPerNodeIsSet(true);
+      }
+      if (incoming.get(7)) {
+        struct.defaultNodeCount = iprot.readI32();
+        struct.setDefaultNodeCountIsSet(true);
+      }
+      if (incoming.get(8)) {
+        struct.defaultCPUCount = iprot.readI32();
+        struct.setDefaultCPUCountIsSet(true);
+      }
+      if (incoming.get(9)) {
+        struct.isDefaultQueue = iprot.readBool();
+        struct.setIsDefaultQueueIsSet(true);
+      }
     }
   }
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/5904cb13/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/impl/ApplicationDeploymentImpl.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/impl/ApplicationDeploymentImpl.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/impl/ApplicationDeploymentImpl.java
index 9d49f0a..12c8ce6 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/impl/ApplicationDeploymentImpl.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/impl/ApplicationDeploymentImpl.java
@@ -64,6 +64,10 @@ public class ApplicationDeploymentImpl implements ApplicationDeployment {
             deploymentResource.setAppDes(deploymentDescription.getAppDeploymentDescription());
             deploymentResource.setExecutablePath(deploymentDescription.getExecutablePath());
             deploymentResource.setGatewayId(gatewayId);
+            deploymentResource.setDefaultQueueName(deploymentDescription.getDefaultQueueName());
+            deploymentResource.setDefaultCPUCount(deploymentDescription.getDefaultCPUCount());
+            deploymentResource.setDefaultNodeCount(deploymentDescription.getDefaultNodeCount());
+            deploymentResource.setEditableByUser(deploymentDescription.isEditableByUser());
             ApplicationParallelismType parallelism = deploymentDescription.getParallelism();
             if (parallelism != null){
                 deploymentResource.setParallelism(parallelism.toString());
@@ -168,6 +172,10 @@ public class ApplicationDeploymentImpl implements ApplicationDeployment {
             existingDep.setHostResource((ComputeResourceResource)computeHostResource.get(updatedDeployment.getComputeHostId()));
             existingDep.setAppDes(updatedDeployment.getAppDeploymentDescription());
             existingDep.setExecutablePath(updatedDeployment.getExecutablePath());
+            existingDep.setDefaultQueueName(updatedDeployment.getDefaultQueueName());
+            existingDep.setDefaultCPUCount(updatedDeployment.getDefaultCPUCount());
+            existingDep.setDefaultNodeCount(updatedDeployment.getDefaultNodeCount());
+            existingDep.setEditableByUser(updatedDeployment.isEditableByUser());
             if (updatedDeployment.getParallelism() != null){
                 existingDep.setParallelism(updatedDeployment.getParallelism().toString());
             }

http://git-wip-us.apache.org/repos/asf/airavata/blob/5904cb13/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/ApplicationDeployment.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/ApplicationDeployment.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/ApplicationDeployment.java
index 6289413..8ef5d96 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/ApplicationDeployment.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/ApplicationDeployment.java
@@ -43,7 +43,15 @@ public class ApplicationDeployment implements Serializable {
     private String parallelism;
     @Column(name = "GATEWAY_ID")
     private String gatewayId;
-    
+    @Column(name = "DEFAULT_QUEUE_NAME")
+    private String defaultQueueName;
+    @Column(name = "DEFAULT_NODE_COUNT")
+    private int defaultNodeCount;
+    @Column(name = "DEFAULT_CPU_COUNT")
+    private int defaultCPUCount;
+    @Column(name = "EDITABLE_BY_USER")
+    private boolean editableByUser;
+
     @ManyToOne(cascade= CascadeType.MERGE)
     @JoinColumn(name = "APP_MODULE_ID")
     private ApplicationModule applicationModule;
@@ -145,4 +153,36 @@ public class ApplicationDeployment implements Serializable {
 	public void setParallelism(String parallelism) {
 		this.parallelism = parallelism;
 	}
+
+    public String getDefaultQueueName() {
+        return defaultQueueName;
+    }
+
+    public void setDefaultQueueName(String defaultQueueName) {
+        this.defaultQueueName = defaultQueueName;
+    }
+
+    public int getDefaultNodeCount() {
+        return defaultNodeCount;
+    }
+
+    public void setDefaultNodeCount(int defaultNodeCount) {
+        this.defaultNodeCount = defaultNodeCount;
+    }
+
+    public int getDefaultCPUCount() {
+        return defaultCPUCount;
+    }
+
+    public void setDefaultCPUCount(int defaultCPUCount) {
+        this.defaultCPUCount = defaultCPUCount;
+    }
+
+    public boolean isEditableByUser() {
+        return editableByUser;
+    }
+
+    public void setEditableByUser(boolean editableByUser) {
+        this.editableByUser = editableByUser;
+    }
 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/5904cb13/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/BatchQueue.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/BatchQueue.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/BatchQueue.java
index 76dd452..a8f5b4c 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/BatchQueue.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/BatchQueue.java
@@ -59,6 +59,18 @@ public class BatchQueue implements Serializable {
     @Column(name = "MAX_MEMORY")
     private int maxMemory;
 
+	@Column(name = "CPU_PER_NODE")
+	private int cpuPerNode;
+
+	@Column(name = "DEFAULT_NODE_COUNT")
+	private int defaultNodeCount;
+
+	@Column(name = "DEFAULT_CPU_COUNT")
+	private int defaultCPUCount;
+
+	@Column(name = "IS_DEFAULT_QUEUE")
+	private boolean isDefaultQueue;
+
     public int getMaxMemory() {
         return maxMemory;
     }
@@ -130,4 +142,36 @@ public class BatchQueue implements Serializable {
 	public void setMaxNodes(int maxNodes) {
 		this.maxNodes=maxNodes;
 	}
+
+	public int getCpuPerNode() {
+		return cpuPerNode;
+	}
+
+	public void setCpuPerNode(int cpuPerNode) {
+		this.cpuPerNode = cpuPerNode;
+	}
+
+	public int getDefaultNodeCount() {
+		return defaultNodeCount;
+	}
+
+	public void setDefaultNodeCount(int defaultNodeCount) {
+		this.defaultNodeCount = defaultNodeCount;
+	}
+
+	public int getDefaultCPUCount() {
+		return defaultCPUCount;
+	}
+
+	public void setDefaultCPUCount(int defaultCPUCount) {
+		this.defaultCPUCount = defaultCPUCount;
+	}
+
+	public boolean isDefaultQueue() {
+		return isDefaultQueue;
+	}
+
+	public void setIsDefaultQueue(boolean isDefaultQueue) {
+		this.isDefaultQueue = isDefaultQueue;
+	}
 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/5904cb13/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/AppDeploymentResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/AppDeploymentResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/AppDeploymentResource.java
index 2d563e3..e60e432 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/AppDeploymentResource.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/AppDeploymentResource.java
@@ -48,6 +48,10 @@ public class AppDeploymentResource extends AppCatAbstractResource {
     private String parallelism;
     private String appDes;
     private String gatewayId;
+    private String defaultQueueName;
+    private int defaultNodeCount;
+    private int defaultCPUCount;
+    private boolean editableByUser;
     private ComputeResourceResource hostResource;
     private AppModuleResource moduleResource;
     private Timestamp createdTime;
@@ -133,6 +137,38 @@ public class AppDeploymentResource extends AppCatAbstractResource {
         this.moduleResource = moduleResource;
     }
 
+    public String getDefaultQueueName() {
+        return defaultQueueName;
+    }
+
+    public void setDefaultQueueName(String defaultQueueName) {
+        this.defaultQueueName = defaultQueueName;
+    }
+
+    public int getDefaultNodeCount() {
+        return defaultNodeCount;
+    }
+
+    public void setDefaultNodeCount(int defaultNodeCount) {
+        this.defaultNodeCount = defaultNodeCount;
+    }
+
+    public int getDefaultCPUCount() {
+        return defaultCPUCount;
+    }
+
+    public void setDefaultCPUCount(int defaultCPUCount) {
+        this.defaultCPUCount = defaultCPUCount;
+    }
+
+    public boolean isEditableByUser() {
+        return editableByUser;
+    }
+
+    public void setEditableByUser(boolean editableByUser) {
+        this.editableByUser = editableByUser;
+    }
+
     @Override
     public void remove(Object identifier) throws AppCatalogException {
         EntityManager em = null;
@@ -423,6 +459,10 @@ public class AppDeploymentResource extends AppCatAbstractResource {
                 existingDeployment.setExecutablePath(executablePath);
                 existingDeployment.setParallelism(parallelism);
                 existingDeployment.setGatewayId(gatewayId);
+                existingDeployment.setDefaultQueueName(defaultQueueName);
+                existingDeployment.setDefaultCPUCount(defaultCPUCount);
+                existingDeployment.setDefaultNodeCount(defaultNodeCount);
+                existingDeployment.setEditableByUser(editableByUser);
                 existingDeployment.setUpdateTime(AiravataUtils.getCurrentTimestamp());
                 em.merge(existingDeployment);
             }else {
@@ -436,6 +476,10 @@ public class AppDeploymentResource extends AppCatAbstractResource {
                 deployment.setExecutablePath(executablePath);
                 deployment.setParallelism(parallelism);
                 deployment.setGatewayId(gatewayId);
+                deployment.setDefaultQueueName(defaultQueueName);
+                deployment.setDefaultCPUCount(defaultCPUCount);
+                deployment.setDefaultNodeCount(defaultNodeCount);
+                deployment.setEditableByUser(editableByUser);
                 deployment.setCreationTime(AiravataUtils.getCurrentTimestamp());
                 em.persist(deployment);
             }

http://git-wip-us.apache.org/repos/asf/airavata/blob/5904cb13/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/BatchQueueResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/BatchQueueResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/BatchQueueResource.java
index 4fc8a49..8a12881 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/BatchQueueResource.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/BatchQueueResource.java
@@ -21,14 +21,6 @@
 
 package org.apache.airavata.registry.core.app.catalog.resources;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.persistence.EntityManager;
-import javax.persistence.Query;
-
 import org.apache.airavata.common.exception.ApplicationSettingsException;
 import org.apache.airavata.registry.core.app.catalog.model.BatchQueue;
 import org.apache.airavata.registry.core.app.catalog.model.BatchQueue_PK;
@@ -40,6 +32,13 @@ import org.apache.airavata.registry.cpi.AppCatalogException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import javax.persistence.EntityManager;
+import javax.persistence.Query;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
 public class BatchQueueResource extends AppCatAbstractResource {
 	private final static Logger logger = LoggerFactory.getLogger(BatchQueueResource.class);
 	private String computeResourceId;
@@ -51,6 +50,11 @@ public class BatchQueueResource extends AppCatAbstractResource {
 	private int maxProcessors;
 	private int maxNodes;
 	private int maxMemory;
+	private int cpuPerNode;
+	private int defaultNodeCount;
+	private int defaultCPUCount;
+	private boolean isDefaultQueue;
+
 
 	@Override
 	public void remove(Object identifier) throws AppCatalogException {
@@ -270,6 +274,10 @@ public class BatchQueueResource extends AppCatAbstractResource {
 			batchQueue.setMaxProcessors(getMaxProcessors());
 			batchQueue.setMaxNodes(getMaxNodes());
 			batchQueue.setMaxMemory(getMaxMemory());
+			batchQueue.setCpuPerNode(getCpuPerNode());
+			batchQueue.setDefaultCPUCount(getDefaultCPUCount());
+			batchQueue.setDefaultNodeCount(getDefaultNodeCount());
+			batchQueue.setIsDefaultQueue(isDefaultQueue());
 			if (existingBatchQueue == null) {
 				em.persist(batchQueue);
 			} else {
@@ -399,4 +407,36 @@ public class BatchQueueResource extends AppCatAbstractResource {
     public void setMaxMemory(int maxMemory) {
         this.maxMemory = maxMemory;
     }
+
+	public int getCpuPerNode() {
+		return cpuPerNode;
+	}
+
+	public void setCpuPerNode(int cpuPerNode) {
+		this.cpuPerNode = cpuPerNode;
+	}
+
+	public int getDefaultNodeCount() {
+		return defaultNodeCount;
+	}
+
+	public void setDefaultNodeCount(int defaultNodeCount) {
+		this.defaultNodeCount = defaultNodeCount;
+	}
+
+	public int getDefaultCPUCount() {
+		return defaultCPUCount;
+	}
+
+	public void setDefaultCPUCount(int defaultCPUCount) {
+		this.defaultCPUCount = defaultCPUCount;
+	}
+
+	public boolean isDefaultQueue() {
+		return isDefaultQueue;
+	}
+
+	public void setIsDefaultQueue(boolean isDefaultQueue) {
+		this.isDefaultQueue = isDefaultQueue;
+	}
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/5904cb13/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogJPAUtils.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogJPAUtils.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogJPAUtils.java
index 40ee0ee..0c3918d 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogJPAUtils.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogJPAUtils.java
@@ -519,6 +519,10 @@ public class AppCatalogJPAUtils {
             batchQueueResource.setMaxProcessors(o.getMaxProcessors());
             batchQueueResource.setMaxNodes(o.getMaxNodes());
             batchQueueResource.setMaxMemory(o.getMaxMemory());
+            batchQueueResource.setCpuPerNode(o.getCpuPerNode());
+            batchQueueResource.setDefaultNodeCount(o.getDefaultNodeCount());
+            batchQueueResource.setDefaultCPUCount(o.getDefaultCPUCount());
+            batchQueueResource.setIsDefaultQueue(o.isDefaultQueue());
         }
         return batchQueueResource;
     }
@@ -755,6 +759,10 @@ public class AppCatalogJPAUtils {
             resource.setExecutablePath(o.getExecutablePath());
             resource.setGatewayId(o.getGatewayId());
             resource.setParallelism(o.getParallelism());
+            resource.setDefaultQueueName(o.getDefaultQueueName());
+            resource.setDefaultNodeCount(o.getDefaultNodeCount());
+            resource.setDefaultCPUCount(o.getDefaultCPUCount());
+            resource.setEditableByUser(o.isEditableByUser());
             resource.setModuleResource((AppModuleResource) createApplicationModule(o.getApplicationModule()));
             resource.setHostResource((ComputeResourceResource) createComputeResource(o.getComputeResource()));
             resource.setCreatedTime(o.getCreationTime());

http://git-wip-us.apache.org/repos/asf/airavata/blob/5904cb13/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogThriftConversion.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogThriftConversion.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogThriftConversion.java
index 8ddf4f6..78026a5 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogThriftConversion.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogThriftConversion.java
@@ -256,6 +256,10 @@ public class AppCatalogThriftConversion {
     	batchQueue.setMaxMemory(resource.getMaxMemory());
     	batchQueue.setQueueDescription(resource.getQueueDescription());
     	batchQueue.setQueueName(resource.getQueueName());
+        batchQueue.setCpuPerNode(resource.getCpuPerNode());
+        batchQueue.setDefaultNodeCount(resource.getDefaultNodeCount());
+        batchQueue.setDefaultCPUCount(resource.getDefaultCPUCount());
+        batchQueue.setIsDefaultQueue(resource.isDefaultQueue());
         return batchQueue;
     }
 
@@ -268,6 +272,10 @@ public class AppCatalogThriftConversion {
     	batchQueue.setQueueDescription(resource.getQueueDescription());
     	batchQueue.setQueueName(resource.getQueueName());
     	batchQueue.setMaxMemory(resource.getMaxMemory());
+        batchQueue.setCpuPerNode(resource.getCpuPerNode());
+        batchQueue.setDefaultCPUCount(resource.getDefaultCPUCount());
+        batchQueue.setDefaultNodeCount(resource.getDefaultNodeCount());
+        batchQueue.setIsDefaultQueue(resource.isIsDefaultQueue());
         return batchQueue;
     }
     
@@ -714,6 +722,11 @@ public class AppCatalogThriftConversion {
             description.setParallelism(ApplicationParallelismType.valueOf(resource.getParallelism()));
         }
         description.setAppDeploymentDescription(resource.getAppDes());
+        description.setDefaultQueueName(resource.getDefaultQueueName());
+        description.setDefaultCPUCount(resource.getDefaultCPUCount());
+        description.setDefaultNodeCount(resource.getDefaultNodeCount());
+        description.setEditableByUser(resource.isEditableByUser());
+
         ModuleLoadCmdResource cmdResource = new ModuleLoadCmdResource();
         List<AppCatalogResource> moduleLoadCmds = cmdResource.get(AppCatAbstractResource.ModuleLoadCmdConstants.APP_DEPLOYMENT_ID, resource.getDeploymentId());
         if (moduleLoadCmds != null && !moduleLoadCmds.isEmpty()){

http://git-wip-us.apache.org/repos/asf/airavata/blob/5904cb13/modules/registry/registry-core/src/main/resources/appcatalog-derby.sql
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/resources/appcatalog-derby.sql b/modules/registry/registry-core/src/main/resources/appcatalog-derby.sql
index 36c3012..4716f98 100644
--- a/modules/registry/registry-core/src/main/resources/appcatalog-derby.sql
+++ b/modules/registry/registry-core/src/main/resources/appcatalog-derby.sql
@@ -206,6 +206,10 @@ CREATE TABLE APPLICATION_DEPLOYMENT
          CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
          UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
          GATEWAY_ID VARCHAR(255),
+         DEFAULT_QUEUE_NAME VARCHAR(255),
+         DEFAULT_NODE_COUNT INTEGER,
+         DEFAULT_CPU_COUNT INTEGER,
+         EDITABLE_BY_USER BOOLEAN,
          PRIMARY KEY(DEPLOYMENT_ID),
          FOREIGN KEY (COMPUTE_HOSTID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE,
          FOREIGN KEY (APP_MODULE_ID) REFERENCES APPLICATION_MODULE(MODULE_ID) ON DELETE CASCADE
@@ -361,6 +365,10 @@ CREATE TABLE BATCH_QUEUE
         MAX_PROCESSORS INTEGER,
         MAX_NODES INTEGER,
         MAX_MEMORY INTEGER,
+        CPU_PER_NODE INTEGER,
+        DEFAULT_NODE_COUNT INTEGER,
+        DEFAULT_CPU_COUNT INTEGER,
+        IS_DEFAULT_QUEUE BOOLEAN,
         PRIMARY KEY (COMPUTE_RESOURCE_ID,QUEUE_NAME),
         FOREIGN KEY (COMPUTE_RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
 );

http://git-wip-us.apache.org/repos/asf/airavata/blob/5904cb13/modules/registry/registry-core/src/main/resources/appcatalog-mysql.sql
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/resources/appcatalog-mysql.sql b/modules/registry/registry-core/src/main/resources/appcatalog-mysql.sql
index ced2043..4ef7c4b 100644
--- a/modules/registry/registry-core/src/main/resources/appcatalog-mysql.sql
+++ b/modules/registry/registry-core/src/main/resources/appcatalog-mysql.sql
@@ -213,6 +213,10 @@ CREATE TABLE APPLICATION_DEPLOYMENT
 	       CREATION_TIME TIMESTAMP DEFAULT NOW(),
          UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00' ,
          GATEWAY_ID VARCHAR(255),
+         DEFAULT_QUEUE_NAME VARCHAR(255),
+         DEFAULT_NODE_COUNT INTEGER,
+         DEFAULT_CPU_COUNT INTEGER,
+         EDITABLE_BY_USER TINYINT(1),
          PRIMARY KEY(DEPLOYMENT_ID),
          FOREIGN KEY (COMPUTE_HOSTID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE,
          FOREIGN KEY (APP_MODULE_ID) REFERENCES APPLICATION_MODULE(MODULE_ID) ON DELETE CASCADE
@@ -360,6 +364,10 @@ CREATE TABLE BATCH_QUEUE
         MAX_PROCESSORS INTEGER,
         MAX_NODES INTEGER,
         MAX_MEMORY INTEGER,
+        CPU_PER_NODE INTEGER,
+        DEFAULT_NODE_COUNT INTEGER,
+        DEFAULT_CPU_COUNT INTEGER,
+        IS_DEFAULT_QUEUE TINYINT(1),
         PRIMARY KEY (COMPUTE_RESOURCE_ID,QUEUE_NAME),
         FOREIGN KEY (COMPUTE_RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
 );

http://git-wip-us.apache.org/repos/asf/airavata/blob/5904cb13/thrift-interface-descriptions/data-models/app-catalog-models/application_deployment_model.thrift
----------------------------------------------------------------------
diff --git a/thrift-interface-descriptions/data-models/app-catalog-models/application_deployment_model.thrift b/thrift-interface-descriptions/data-models/app-catalog-models/application_deployment_model.thrift
index ab105ae..7dcf1fe 100644
--- a/thrift-interface-descriptions/data-models/app-catalog-models/application_deployment_model.thrift
+++ b/thrift-interface-descriptions/data-models/app-catalog-models/application_deployment_model.thrift
@@ -126,4 +126,8 @@ struct ApplicationDeploymentDescription {
 	10: optional list<SetEnvPaths> setEnvironment,
 	11: optional list<CommandObject> preJobCommands,
 	12: optional list<CommandObject> postJobCommands,
+	13: optional string defaultQueueName,
+	14: optional i32 defaultNodeCount,
+	15: optional i32 defaultCPUCount,
+	16: optional bool editableByUser
 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/5904cb13/thrift-interface-descriptions/data-models/resource-catalog-models/compute_resource_model.thrift
----------------------------------------------------------------------
diff --git a/thrift-interface-descriptions/data-models/resource-catalog-models/compute_resource_model.thrift b/thrift-interface-descriptions/data-models/resource-catalog-models/compute_resource_model.thrift
index ea1d64d..5ca2728 100644
--- a/thrift-interface-descriptions/data-models/resource-catalog-models/compute_resource_model.thrift
+++ b/thrift-interface-descriptions/data-models/resource-catalog-models/compute_resource_model.thrift
@@ -154,7 +154,11 @@ struct BatchQueue {
     4: optional i32 maxNodes,
     5: optional i32 maxProcessors,
     6: optional i32 maxJobsInQueue,
-    7: optional i32 maxMemory
+    7: optional i32 maxMemory,
+    8: optional i32 cpuPerNode,
+    9: optional i32 defaultNodeCount,
+    10: optional i32 defaultCPUCount,
+    11: optional bool isDefaultQueue
 }