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

git commit: Changing the getAvailableAppInterfaceComputeResources to return name and id resolving AIRAVATA-1335

Repository: airavata
Updated Branches:
  refs/heads/master 567437a27 -> 210ebad3b


Changing the  getAvailableAppInterfaceComputeResources to return name and id resolving AIRAVATA-1335


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

Branch: refs/heads/master
Commit: 210ebad3bdc33cbf07729749ac82f9d220e62ef7
Parents: 567437a
Author: Suresh Marru <sm...@apache.org>
Authored: Wed Jul 9 23:11:30 2014 -0400
Committer: Suresh Marru <sm...@apache.org>
Committed: Wed Jul 9 23:11:30 2014 -0400

----------------------------------------------------------------------
 .../server/handler/AiravataServerHandler.java   |  28 +-
 .../java/org/apache/airavata/api/Airavata.java  | 264 ++++++++++---------
 .../src/main/resources/lib/Airavata.cpp         | 207 ++++++++-------
 .../src/main/resources/lib/Airavata.h           |  16 +-
 .../resources/lib/Airavata_server.skeleton.cpp  |   2 +-
 .../resources/lib/Airavata/API/Airavata.php     | 136 +++++-----
 .../samples/TestCreateLaunchExperiment.java     |   6 +-
 .../airavataAPI.thrift                          |   7 +-
 8 files changed, 344 insertions(+), 322 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/210ebad3/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
index 3547100..1dff780 100644
--- a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
+++ b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
@@ -1557,31 +1557,33 @@ public class AiravataServerHandler implements Airavata.Iface, Watcher {
      * Fetch a list of all deployed Compute Hosts for a given application interfaces.
      *
      * @param appInterfaceId The identifier for the requested application interface
-     * @return list<string>
-     * Returns a list of available Resources. Deployments of each modules listed within the interfaces will be listed.
+     * @return map<computeResourceId, computeResourceName>
+     * A map of registered compute resource id's and their corresponding hostnames.
+     * Deployments of each modules listed within the interfaces will be listed.
      */
     @Override
-    public List<String> getAvailableAppInterfaceComputeResources(String appInterfaceId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
-    	try {
+    public Map<String, String> getAvailableAppInterfaceComputeResources(String appInterfaceId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+        try {
             appCatalog = AppCatalogFactory.getAppCatalog();
             ApplicationDeployment applicationDeployment = appCatalog.getApplicationDeployment();
-            List<String> computeResourceIdList = new ArrayList<String>();
-            ApplicationInterfaceDescription applicationInterface = appCatalog.getApplicationInterface().getApplicationInterface(appInterfaceId);
+            Map<String, String> allComputeResources = appCatalog.getComputeResource().getAllComputeResourceIdList();
+            Map<String, String> availableComputeResources = new HashMap<String, String>();
+            ApplicationInterfaceDescription applicationInterface =
+                    appCatalog.getApplicationInterface().getApplicationInterface(appInterfaceId);
+            HashMap<String, String> filters = new HashMap<String,String>();
             List<String> applicationModules = applicationInterface.getApplicationModules();
-        	HashMap<String, String> filters = new HashMap<String,String>();
             if (applicationModules != null && !applicationModules.isEmpty()){
                 for (String moduleId : applicationModules) {
                     filters.put(AbstractResource.ApplicationDeploymentConstants.APP_MODULE_ID, moduleId);
-                    List<ApplicationDeploymentDescription> applicationDeployments = applicationDeployment.getApplicationDeployements(filters);
+                    List<ApplicationDeploymentDescription> applicationDeployments =
+                            applicationDeployment.getApplicationDeployements(filters);
                     for (ApplicationDeploymentDescription deploymentDescription : applicationDeployments) {
-                        if (!computeResourceIdList.contains(deploymentDescription.getComputeHostId())){
-                            computeResourceIdList.add(deploymentDescription.getComputeHostId());
-                        }
+                        availableComputeResources.put(deploymentDescription.getComputeHostId(),
+                                allComputeResources.get(deploymentDescription.getComputeHostId()));
                     }
                 }
             }
-
-            return computeResourceIdList;
+            return availableComputeResources;
         } catch (AppCatalogException e) {
             logger.error("Error while saving compute resource...", e);
             AiravataSystemException exception = new AiravataSystemException();

http://git-wip-us.apache.org/repos/asf/airavata/blob/210ebad3/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java b/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
index 96ab5d3..b67cd2d 100644
--- a/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
+++ b/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
@@ -674,13 +674,14 @@ import org.slf4j.LoggerFactory;
      * @param appInterfaceId
      *   The identifier for the requested application interface
      * 
-     * @return list<string>
-     *   Returns a list of available Resources. Deployments of each modules listed within the interfaces will be listed.
+     * @return map<computeResourceId, computeResourceName>
+     *   A map of registered compute resource id's and their corresponding hostnames.
+     *    Deployments of each modules listed within the interfaces will be listed.
      * 
      * 
      * @param appInterfaceId
      */
-    public List<String> getAvailableAppInterfaceComputeResources(String appInterfaceId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public Map<String,String> getAvailableAppInterfaceComputeResources(String appInterfaceId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
 
     /**
      * Register a Compute Resource.
@@ -2679,7 +2680,7 @@ import org.slf4j.LoggerFactory;
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getApplicationOutputs failed: unknown result");
     }
 
-    public List<String> getAvailableAppInterfaceComputeResources(String appInterfaceId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
+    public Map<String,String> getAvailableAppInterfaceComputeResources(String appInterfaceId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
     {
       send_getAvailableAppInterfaceComputeResources(appInterfaceId);
       return recv_getAvailableAppInterfaceComputeResources();
@@ -2692,7 +2693,7 @@ import org.slf4j.LoggerFactory;
       sendBase("getAvailableAppInterfaceComputeResources", args);
     }
 
-    public List<String> recv_getAvailableAppInterfaceComputeResources() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
+    public Map<String,String> recv_getAvailableAppInterfaceComputeResources() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
     {
       getAvailableAppInterfaceComputeResources_result result = new getAvailableAppInterfaceComputeResources_result();
       receiveBase(result, "getAvailableAppInterfaceComputeResources");
@@ -5080,7 +5081,7 @@ import org.slf4j.LoggerFactory;
         prot.writeMessageEnd();
       }
 
-      public List<String> getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException {
+      public Map<String,String> getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new IllegalStateException("Method call not finished!");
         }
@@ -11073,7 +11074,7 @@ import org.slf4j.LoggerFactory;
       }
     }
 
-    public static class getAvailableAppInterfaceComputeResources<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAvailableAppInterfaceComputeResources_args, List<String>> {
+    public static class getAvailableAppInterfaceComputeResources<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAvailableAppInterfaceComputeResources_args, Map<String,String>> {
       public getAvailableAppInterfaceComputeResources() {
         super("getAvailableAppInterfaceComputeResources");
       }
@@ -11082,10 +11083,10 @@ import org.slf4j.LoggerFactory;
         return new getAvailableAppInterfaceComputeResources_args();
       }
 
-      public AsyncMethodCallback<List<String>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<Map<String,String>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<List<String>>() { 
-          public void onComplete(List<String> o) {
+        return new AsyncMethodCallback<Map<String,String>>() { 
+          public void onComplete(Map<String,String> o) {
             getAvailableAppInterfaceComputeResources_result result = new getAvailableAppInterfaceComputeResources_result();
             result.success = o;
             try {
@@ -11135,7 +11136,7 @@ import org.slf4j.LoggerFactory;
         return false;
       }
 
-      public void start(I iface, getAvailableAppInterfaceComputeResources_args args, org.apache.thrift.async.AsyncMethodCallback<List<String>> resultHandler) throws TException {
+      public void start(I iface, getAvailableAppInterfaceComputeResources_args args, org.apache.thrift.async.AsyncMethodCallback<Map<String,String>> resultHandler) throws TException {
         iface.getAvailableAppInterfaceComputeResources(args.appInterfaceId,resultHandler);
       }
     }
@@ -56057,7 +56058,7 @@ import org.slf4j.LoggerFactory;
   public static class getAvailableAppInterfaceComputeResources_result implements org.apache.thrift.TBase<getAvailableAppInterfaceComputeResources_result, getAvailableAppInterfaceComputeResources_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAvailableAppInterfaceComputeResources_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAvailableAppInterfaceComputeResources_result");
 
-    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
+    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.MAP, (short)0);
     private static final org.apache.thrift.protocol.TField IRE_FIELD_DESC = new org.apache.thrift.protocol.TField("ire", org.apache.thrift.protocol.TType.STRUCT, (short)1);
     private static final org.apache.thrift.protocol.TField ACE_FIELD_DESC = new org.apache.thrift.protocol.TField("ace", org.apache.thrift.protocol.TType.STRUCT, (short)2);
     private static final org.apache.thrift.protocol.TField ASE_FIELD_DESC = new org.apache.thrift.protocol.TField("ase", org.apache.thrift.protocol.TType.STRUCT, (short)3);
@@ -56068,7 +56069,7 @@ import org.slf4j.LoggerFactory;
       schemes.put(TupleScheme.class, new getAvailableAppInterfaceComputeResources_resultTupleSchemeFactory());
     }
 
-    public List<String> success; // required
+    public Map<String,String> success; // required
     public org.apache.airavata.model.error.InvalidRequestException ire; // required
     public org.apache.airavata.model.error.AiravataClientException ace; // required
     public org.apache.airavata.model.error.AiravataSystemException ase; // required
@@ -56145,7 +56146,8 @@ import org.slf4j.LoggerFactory;
     static {
       Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
       tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
+          new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
+              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING), 
               new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
       tmpMap.put(_Fields.IRE, new org.apache.thrift.meta_data.FieldMetaData("ire", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
@@ -56161,7 +56163,7 @@ import org.slf4j.LoggerFactory;
     }
 
     public getAvailableAppInterfaceComputeResources_result(
-      List<String> success,
+      Map<String,String> success,
       org.apache.airavata.model.error.InvalidRequestException ire,
       org.apache.airavata.model.error.AiravataClientException ace,
       org.apache.airavata.model.error.AiravataSystemException ase)
@@ -56178,7 +56180,7 @@ import org.slf4j.LoggerFactory;
      */
     public getAvailableAppInterfaceComputeResources_result(getAvailableAppInterfaceComputeResources_result other) {
       if (other.isSetSuccess()) {
-        List<String> __this__success = new ArrayList<String>(other.success);
+        Map<String,String> __this__success = new HashMap<String,String>(other.success);
         this.success = __this__success;
       }
       if (other.isSetIre()) {
@@ -56208,22 +56210,18 @@ import org.slf4j.LoggerFactory;
       return (this.success == null) ? 0 : this.success.size();
     }
 
-    public java.util.Iterator<String> getSuccessIterator() {
-      return (this.success == null) ? null : this.success.iterator();
-    }
-
-    public void addToSuccess(String elem) {
+    public void putToSuccess(String key, String val) {
       if (this.success == null) {
-        this.success = new ArrayList<String>();
+        this.success = new HashMap<String,String>();
       }
-      this.success.add(elem);
+      this.success.put(key, val);
     }
 
-    public List<String> getSuccess() {
+    public Map<String,String> getSuccess() {
       return this.success;
     }
 
-    public getAvailableAppInterfaceComputeResources_result setSuccess(List<String> success) {
+    public getAvailableAppInterfaceComputeResources_result setSuccess(Map<String,String> success) {
       this.success = success;
       return this;
     }
@@ -56321,7 +56319,7 @@ import org.slf4j.LoggerFactory;
         if (value == null) {
           unsetSuccess();
         } else {
-          setSuccess((List<String>)value);
+          setSuccess((Map<String,String>)value);
         }
         break;
 
@@ -56589,17 +56587,19 @@ import org.slf4j.LoggerFactory;
           }
           switch (schemeField.id) {
             case 0: // SUCCESS
-              if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+              if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
                 {
-                  org.apache.thrift.protocol.TList _list124 = iprot.readListBegin();
-                  struct.success = new ArrayList<String>(_list124.size);
-                  for (int _i125 = 0; _i125 < _list124.size; ++_i125)
+                  org.apache.thrift.protocol.TMap _map124 = iprot.readMapBegin();
+                  struct.success = new HashMap<String,String>(2*_map124.size);
+                  for (int _i125 = 0; _i125 < _map124.size; ++_i125)
                   {
-                    String _elem126;
-                    _elem126 = iprot.readString();
-                    struct.success.add(_elem126);
+                    String _key126;
+                    String _val127;
+                    _key126 = iprot.readString();
+                    _val127 = iprot.readString();
+                    struct.success.put(_key126, _val127);
                   }
-                  iprot.readListEnd();
+                  iprot.readMapEnd();
                 }
                 struct.setSuccessIsSet(true);
               } else { 
@@ -56651,12 +56651,13 @@ import org.slf4j.LoggerFactory;
         if (struct.success != null) {
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
-            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.success.size()));
-            for (String _iter127 : struct.success)
+            oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, struct.success.size()));
+            for (Map.Entry<String, String> _iter128 : struct.success.entrySet())
             {
-              oprot.writeString(_iter127);
+              oprot.writeString(_iter128.getKey());
+              oprot.writeString(_iter128.getValue());
             }
-            oprot.writeListEnd();
+            oprot.writeMapEnd();
           }
           oprot.writeFieldEnd();
         }
@@ -56709,9 +56710,10 @@ import org.slf4j.LoggerFactory;
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (String _iter128 : struct.success)
+            for (Map.Entry<String, String> _iter129 : struct.success.entrySet())
             {
-              oprot.writeString(_iter128);
+              oprot.writeString(_iter129.getKey());
+              oprot.writeString(_iter129.getValue());
             }
           }
         }
@@ -56732,13 +56734,15 @@ import org.slf4j.LoggerFactory;
         BitSet incoming = iprot.readBitSet(4);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list129 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-            struct.success = new ArrayList<String>(_list129.size);
-            for (int _i130 = 0; _i130 < _list129.size; ++_i130)
+            org.apache.thrift.protocol.TMap _map130 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+            struct.success = new HashMap<String,String>(2*_map130.size);
+            for (int _i131 = 0; _i131 < _map130.size; ++_i131)
             {
-              String _elem131;
-              _elem131 = iprot.readString();
-              struct.success.add(_elem131);
+              String _key132;
+              String _val133;
+              _key132 = iprot.readString();
+              _val133 = iprot.readString();
+              struct.success.put(_key132, _val133);
             }
           }
           struct.setSuccessIsSet(true);
@@ -59567,15 +59571,15 @@ import org.slf4j.LoggerFactory;
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
                 {
-                  org.apache.thrift.protocol.TMap _map132 = iprot.readMapBegin();
-                  struct.success = new HashMap<String,String>(2*_map132.size);
-                  for (int _i133 = 0; _i133 < _map132.size; ++_i133)
+                  org.apache.thrift.protocol.TMap _map134 = iprot.readMapBegin();
+                  struct.success = new HashMap<String,String>(2*_map134.size);
+                  for (int _i135 = 0; _i135 < _map134.size; ++_i135)
                   {
-                    String _key134;
-                    String _val135;
-                    _key134 = iprot.readString();
-                    _val135 = iprot.readString();
-                    struct.success.put(_key134, _val135);
+                    String _key136;
+                    String _val137;
+                    _key136 = iprot.readString();
+                    _val137 = iprot.readString();
+                    struct.success.put(_key136, _val137);
                   }
                   iprot.readMapEnd();
                 }
@@ -59630,10 +59634,10 @@ import org.slf4j.LoggerFactory;
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, struct.success.size()));
-            for (Map.Entry<String, String> _iter136 : struct.success.entrySet())
+            for (Map.Entry<String, String> _iter138 : struct.success.entrySet())
             {
-              oprot.writeString(_iter136.getKey());
-              oprot.writeString(_iter136.getValue());
+              oprot.writeString(_iter138.getKey());
+              oprot.writeString(_iter138.getValue());
             }
             oprot.writeMapEnd();
           }
@@ -59688,10 +59692,10 @@ import org.slf4j.LoggerFactory;
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (Map.Entry<String, String> _iter137 : struct.success.entrySet())
+            for (Map.Entry<String, String> _iter139 : struct.success.entrySet())
             {
-              oprot.writeString(_iter137.getKey());
-              oprot.writeString(_iter137.getValue());
+              oprot.writeString(_iter139.getKey());
+              oprot.writeString(_iter139.getValue());
             }
           }
         }
@@ -59712,15 +59716,15 @@ import org.slf4j.LoggerFactory;
         BitSet incoming = iprot.readBitSet(4);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TMap _map138 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-            struct.success = new HashMap<String,String>(2*_map138.size);
-            for (int _i139 = 0; _i139 < _map138.size; ++_i139)
+            org.apache.thrift.protocol.TMap _map140 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+            struct.success = new HashMap<String,String>(2*_map140.size);
+            for (int _i141 = 0; _i141 < _map140.size; ++_i141)
             {
-              String _key140;
-              String _val141;
-              _key140 = iprot.readString();
-              _val141 = iprot.readString();
-              struct.success.put(_key140, _val141);
+              String _key142;
+              String _val143;
+              _key142 = iprot.readString();
+              _val143 = iprot.readString();
+              struct.success.put(_key142, _val143);
             }
           }
           struct.setSuccessIsSet(true);
@@ -75925,15 +75929,15 @@ import org.slf4j.LoggerFactory;
             case 1: // JOB_SUBMISSION_PRIORITY_MAP
               if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
                 {
-                  org.apache.thrift.protocol.TMap _map142 = iprot.readMapBegin();
-                  struct.jobSubmissionPriorityMap = new HashMap<String,Integer>(2*_map142.size);
-                  for (int _i143 = 0; _i143 < _map142.size; ++_i143)
+                  org.apache.thrift.protocol.TMap _map144 = iprot.readMapBegin();
+                  struct.jobSubmissionPriorityMap = new HashMap<String,Integer>(2*_map144.size);
+                  for (int _i145 = 0; _i145 < _map144.size; ++_i145)
                   {
-                    String _key144;
-                    int _val145;
-                    _key144 = iprot.readString();
-                    _val145 = iprot.readI32();
-                    struct.jobSubmissionPriorityMap.put(_key144, _val145);
+                    String _key146;
+                    int _val147;
+                    _key146 = iprot.readString();
+                    _val147 = iprot.readI32();
+                    struct.jobSubmissionPriorityMap.put(_key146, _val147);
                   }
                   iprot.readMapEnd();
                 }
@@ -75961,10 +75965,10 @@ import org.slf4j.LoggerFactory;
           oprot.writeFieldBegin(JOB_SUBMISSION_PRIORITY_MAP_FIELD_DESC);
           {
             oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.I32, struct.jobSubmissionPriorityMap.size()));
-            for (Map.Entry<String, Integer> _iter146 : struct.jobSubmissionPriorityMap.entrySet())
+            for (Map.Entry<String, Integer> _iter148 : struct.jobSubmissionPriorityMap.entrySet())
             {
-              oprot.writeString(_iter146.getKey());
-              oprot.writeI32(_iter146.getValue());
+              oprot.writeString(_iter148.getKey());
+              oprot.writeI32(_iter148.getValue());
             }
             oprot.writeMapEnd();
           }
@@ -75989,10 +75993,10 @@ import org.slf4j.LoggerFactory;
         TTupleProtocol oprot = (TTupleProtocol) prot;
         {
           oprot.writeI32(struct.jobSubmissionPriorityMap.size());
-          for (Map.Entry<String, Integer> _iter147 : struct.jobSubmissionPriorityMap.entrySet())
+          for (Map.Entry<String, Integer> _iter149 : struct.jobSubmissionPriorityMap.entrySet())
           {
-            oprot.writeString(_iter147.getKey());
-            oprot.writeI32(_iter147.getValue());
+            oprot.writeString(_iter149.getKey());
+            oprot.writeI32(_iter149.getValue());
           }
         }
       }
@@ -76001,15 +76005,15 @@ import org.slf4j.LoggerFactory;
       public void read(org.apache.thrift.protocol.TProtocol prot, changeJobSubmissionPriorities_args struct) throws org.apache.thrift.TException {
         TTupleProtocol iprot = (TTupleProtocol) prot;
         {
-          org.apache.thrift.protocol.TMap _map148 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.I32, iprot.readI32());
-          struct.jobSubmissionPriorityMap = new HashMap<String,Integer>(2*_map148.size);
-          for (int _i149 = 0; _i149 < _map148.size; ++_i149)
+          org.apache.thrift.protocol.TMap _map150 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.I32, iprot.readI32());
+          struct.jobSubmissionPriorityMap = new HashMap<String,Integer>(2*_map150.size);
+          for (int _i151 = 0; _i151 < _map150.size; ++_i151)
           {
-            String _key150;
-            int _val151;
-            _key150 = iprot.readString();
-            _val151 = iprot.readI32();
-            struct.jobSubmissionPriorityMap.put(_key150, _val151);
+            String _key152;
+            int _val153;
+            _key152 = iprot.readString();
+            _val153 = iprot.readI32();
+            struct.jobSubmissionPriorityMap.put(_key152, _val153);
           }
         }
         struct.setJobSubmissionPriorityMapIsSet(true);
@@ -76984,15 +76988,15 @@ import org.slf4j.LoggerFactory;
             case 1: // DATA_MOVEMENT_PRIORITY_MAP
               if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
                 {
-                  org.apache.thrift.protocol.TMap _map152 = iprot.readMapBegin();
-                  struct.dataMovementPriorityMap = new HashMap<String,Integer>(2*_map152.size);
-                  for (int _i153 = 0; _i153 < _map152.size; ++_i153)
+                  org.apache.thrift.protocol.TMap _map154 = iprot.readMapBegin();
+                  struct.dataMovementPriorityMap = new HashMap<String,Integer>(2*_map154.size);
+                  for (int _i155 = 0; _i155 < _map154.size; ++_i155)
                   {
-                    String _key154;
-                    int _val155;
-                    _key154 = iprot.readString();
-                    _val155 = iprot.readI32();
-                    struct.dataMovementPriorityMap.put(_key154, _val155);
+                    String _key156;
+                    int _val157;
+                    _key156 = iprot.readString();
+                    _val157 = iprot.readI32();
+                    struct.dataMovementPriorityMap.put(_key156, _val157);
                   }
                   iprot.readMapEnd();
                 }
@@ -77020,10 +77024,10 @@ import org.slf4j.LoggerFactory;
           oprot.writeFieldBegin(DATA_MOVEMENT_PRIORITY_MAP_FIELD_DESC);
           {
             oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.I32, struct.dataMovementPriorityMap.size()));
-            for (Map.Entry<String, Integer> _iter156 : struct.dataMovementPriorityMap.entrySet())
+            for (Map.Entry<String, Integer> _iter158 : struct.dataMovementPriorityMap.entrySet())
             {
-              oprot.writeString(_iter156.getKey());
-              oprot.writeI32(_iter156.getValue());
+              oprot.writeString(_iter158.getKey());
+              oprot.writeI32(_iter158.getValue());
             }
             oprot.writeMapEnd();
           }
@@ -77048,10 +77052,10 @@ import org.slf4j.LoggerFactory;
         TTupleProtocol oprot = (TTupleProtocol) prot;
         {
           oprot.writeI32(struct.dataMovementPriorityMap.size());
-          for (Map.Entry<String, Integer> _iter157 : struct.dataMovementPriorityMap.entrySet())
+          for (Map.Entry<String, Integer> _iter159 : struct.dataMovementPriorityMap.entrySet())
           {
-            oprot.writeString(_iter157.getKey());
-            oprot.writeI32(_iter157.getValue());
+            oprot.writeString(_iter159.getKey());
+            oprot.writeI32(_iter159.getValue());
           }
         }
       }
@@ -77060,15 +77064,15 @@ import org.slf4j.LoggerFactory;
       public void read(org.apache.thrift.protocol.TProtocol prot, changeDataMovementPriorities_args struct) throws org.apache.thrift.TException {
         TTupleProtocol iprot = (TTupleProtocol) prot;
         {
-          org.apache.thrift.protocol.TMap _map158 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.I32, iprot.readI32());
-          struct.dataMovementPriorityMap = new HashMap<String,Integer>(2*_map158.size);
-          for (int _i159 = 0; _i159 < _map158.size; ++_i159)
+          org.apache.thrift.protocol.TMap _map160 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.I32, iprot.readI32());
+          struct.dataMovementPriorityMap = new HashMap<String,Integer>(2*_map160.size);
+          for (int _i161 = 0; _i161 < _map160.size; ++_i161)
           {
-            String _key160;
-            int _val161;
-            _key160 = iprot.readString();
-            _val161 = iprot.readI32();
-            struct.dataMovementPriorityMap.put(_key160, _val161);
+            String _key162;
+            int _val163;
+            _key162 = iprot.readString();
+            _val163 = iprot.readI32();
+            struct.dataMovementPriorityMap.put(_key162, _val163);
           }
         }
         struct.setDataMovementPriorityMapIsSet(true);
@@ -87089,14 +87093,14 @@ import org.slf4j.LoggerFactory;
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list162 = iprot.readListBegin();
-                  struct.success = new ArrayList<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference>(_list162.size);
-                  for (int _i163 = 0; _i163 < _list162.size; ++_i163)
+                  org.apache.thrift.protocol.TList _list164 = iprot.readListBegin();
+                  struct.success = new ArrayList<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference>(_list164.size);
+                  for (int _i165 = 0; _i165 < _list164.size; ++_i165)
                   {
-                    org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference _elem164;
-                    _elem164 = new org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference();
-                    _elem164.read(iprot);
-                    struct.success.add(_elem164);
+                    org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference _elem166;
+                    _elem166 = new org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference();
+                    _elem166.read(iprot);
+                    struct.success.add(_elem166);
                   }
                   iprot.readListEnd();
                 }
@@ -87151,9 +87155,9 @@ import org.slf4j.LoggerFactory;
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference _iter165 : struct.success)
+            for (org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference _iter167 : struct.success)
             {
-              _iter165.write(oprot);
+              _iter167.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -87208,9 +87212,9 @@ import org.slf4j.LoggerFactory;
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference _iter166 : struct.success)
+            for (org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference _iter168 : struct.success)
             {
-              _iter166.write(oprot);
+              _iter168.write(oprot);
             }
           }
         }
@@ -87231,14 +87235,14 @@ import org.slf4j.LoggerFactory;
         BitSet incoming = iprot.readBitSet(4);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list167 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new ArrayList<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference>(_list167.size);
-            for (int _i168 = 0; _i168 < _list167.size; ++_i168)
+            org.apache.thrift.protocol.TList _list169 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            struct.success = new ArrayList<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference>(_list169.size);
+            for (int _i170 = 0; _i170 < _list169.size; ++_i170)
             {
-              org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference _elem169;
-              _elem169 = new org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference();
-              _elem169.read(iprot);
-              struct.success.add(_elem169);
+              org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference _elem171;
+              _elem171 = new org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference();
+              _elem171.read(iprot);
+              struct.success.add(_elem171);
             }
           }
           struct.setSuccessIsSet(true);

http://git-wip-us.apache.org/repos/asf/airavata/blob/210ebad3/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/Airavata.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/Airavata.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/Airavata.cpp
index 1da4dac..96c7d0f 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/Airavata.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/Airavata.cpp
@@ -9840,19 +9840,22 @@ uint32_t Airavata_getAvailableAppInterfaceComputeResources_result::read(::apache
     switch (fid)
     {
       case 0:
-        if (ftype == ::apache::thrift::protocol::T_LIST) {
+        if (ftype == ::apache::thrift::protocol::T_MAP) {
           {
             this->success.clear();
             uint32_t _size173;
-            ::apache::thrift::protocol::TType _etype176;
-            xfer += iprot->readListBegin(_etype176, _size173);
-            this->success.resize(_size173);
+            ::apache::thrift::protocol::TType _ktype174;
+            ::apache::thrift::protocol::TType _vtype175;
+            xfer += iprot->readMapBegin(_ktype174, _vtype175, _size173);
             uint32_t _i177;
             for (_i177 = 0; _i177 < _size173; ++_i177)
             {
-              xfer += iprot->readString(this->success[_i177]);
+              std::string _key178;
+              xfer += iprot->readString(_key178);
+              std::string& _val179 = this->success[_key178];
+              xfer += iprot->readString(_val179);
             }
-            xfer += iprot->readListEnd();
+            xfer += iprot->readMapEnd();
           }
           this->__isset.success = true;
         } else {
@@ -9902,15 +9905,16 @@ uint32_t Airavata_getAvailableAppInterfaceComputeResources_result::write(::apach
   xfer += oprot->writeStructBegin("Airavata_getAvailableAppInterfaceComputeResources_result");
 
   if (this->__isset.success) {
-    xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
+    xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_MAP, 0);
     {
-      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->success.size()));
-      std::vector<std::string> ::const_iterator _iter178;
-      for (_iter178 = this->success.begin(); _iter178 != this->success.end(); ++_iter178)
+      xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->success.size()));
+      std::map<std::string, std::string> ::const_iterator _iter180;
+      for (_iter180 = this->success.begin(); _iter180 != this->success.end(); ++_iter180)
       {
-        xfer += oprot->writeString((*_iter178));
+        xfer += oprot->writeString(_iter180->first);
+        xfer += oprot->writeString(_iter180->second);
       }
-      xfer += oprot->writeListEnd();
+      xfer += oprot->writeMapEnd();
     }
     xfer += oprot->writeFieldEnd();
   } else if (this->__isset.ire) {
@@ -9952,19 +9956,22 @@ uint32_t Airavata_getAvailableAppInterfaceComputeResources_presult::read(::apach
     switch (fid)
     {
       case 0:
-        if (ftype == ::apache::thrift::protocol::T_LIST) {
+        if (ftype == ::apache::thrift::protocol::T_MAP) {
           {
             (*(this->success)).clear();
-            uint32_t _size179;
-            ::apache::thrift::protocol::TType _etype182;
-            xfer += iprot->readListBegin(_etype182, _size179);
-            (*(this->success)).resize(_size179);
-            uint32_t _i183;
-            for (_i183 = 0; _i183 < _size179; ++_i183)
+            uint32_t _size181;
+            ::apache::thrift::protocol::TType _ktype182;
+            ::apache::thrift::protocol::TType _vtype183;
+            xfer += iprot->readMapBegin(_ktype182, _vtype183, _size181);
+            uint32_t _i185;
+            for (_i185 = 0; _i185 < _size181; ++_i185)
             {
-              xfer += iprot->readString((*(this->success))[_i183]);
+              std::string _key186;
+              xfer += iprot->readString(_key186);
+              std::string& _val187 = (*(this->success))[_key186];
+              xfer += iprot->readString(_val187);
             }
-            xfer += iprot->readListEnd();
+            xfer += iprot->readMapEnd();
           }
           this->__isset.success = true;
         } else {
@@ -10526,17 +10533,17 @@ uint32_t Airavata_getAllComputeResourceNames_result::read(::apache::thrift::prot
         if (ftype == ::apache::thrift::protocol::T_MAP) {
           {
             this->success.clear();
-            uint32_t _size184;
-            ::apache::thrift::protocol::TType _ktype185;
-            ::apache::thrift::protocol::TType _vtype186;
-            xfer += iprot->readMapBegin(_ktype185, _vtype186, _size184);
-            uint32_t _i188;
-            for (_i188 = 0; _i188 < _size184; ++_i188)
+            uint32_t _size188;
+            ::apache::thrift::protocol::TType _ktype189;
+            ::apache::thrift::protocol::TType _vtype190;
+            xfer += iprot->readMapBegin(_ktype189, _vtype190, _size188);
+            uint32_t _i192;
+            for (_i192 = 0; _i192 < _size188; ++_i192)
             {
-              std::string _key189;
-              xfer += iprot->readString(_key189);
-              std::string& _val190 = this->success[_key189];
-              xfer += iprot->readString(_val190);
+              std::string _key193;
+              xfer += iprot->readString(_key193);
+              std::string& _val194 = this->success[_key193];
+              xfer += iprot->readString(_val194);
             }
             xfer += iprot->readMapEnd();
           }
@@ -10591,11 +10598,11 @@ uint32_t Airavata_getAllComputeResourceNames_result::write(::apache::thrift::pro
     xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_MAP, 0);
     {
       xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->success.size()));
-      std::map<std::string, std::string> ::const_iterator _iter191;
-      for (_iter191 = this->success.begin(); _iter191 != this->success.end(); ++_iter191)
+      std::map<std::string, std::string> ::const_iterator _iter195;
+      for (_iter195 = this->success.begin(); _iter195 != this->success.end(); ++_iter195)
       {
-        xfer += oprot->writeString(_iter191->first);
-        xfer += oprot->writeString(_iter191->second);
+        xfer += oprot->writeString(_iter195->first);
+        xfer += oprot->writeString(_iter195->second);
       }
       xfer += oprot->writeMapEnd();
     }
@@ -10642,17 +10649,17 @@ uint32_t Airavata_getAllComputeResourceNames_presult::read(::apache::thrift::pro
         if (ftype == ::apache::thrift::protocol::T_MAP) {
           {
             (*(this->success)).clear();
-            uint32_t _size192;
-            ::apache::thrift::protocol::TType _ktype193;
-            ::apache::thrift::protocol::TType _vtype194;
-            xfer += iprot->readMapBegin(_ktype193, _vtype194, _size192);
-            uint32_t _i196;
-            for (_i196 = 0; _i196 < _size192; ++_i196)
+            uint32_t _size196;
+            ::apache::thrift::protocol::TType _ktype197;
+            ::apache::thrift::protocol::TType _vtype198;
+            xfer += iprot->readMapBegin(_ktype197, _vtype198, _size196);
+            uint32_t _i200;
+            for (_i200 = 0; _i200 < _size196; ++_i200)
             {
-              std::string _key197;
-              xfer += iprot->readString(_key197);
-              std::string& _val198 = (*(this->success))[_key197];
-              xfer += iprot->readString(_val198);
+              std::string _key201;
+              xfer += iprot->readString(_key201);
+              std::string& _val202 = (*(this->success))[_key201];
+              xfer += iprot->readString(_val202);
             }
             xfer += iprot->readMapEnd();
           }
@@ -14214,17 +14221,17 @@ uint32_t Airavata_changeJobSubmissionPriorities_args::read(::apache::thrift::pro
         if (ftype == ::apache::thrift::protocol::T_MAP) {
           {
             this->jobSubmissionPriorityMap.clear();
-            uint32_t _size199;
-            ::apache::thrift::protocol::TType _ktype200;
-            ::apache::thrift::protocol::TType _vtype201;
-            xfer += iprot->readMapBegin(_ktype200, _vtype201, _size199);
-            uint32_t _i203;
-            for (_i203 = 0; _i203 < _size199; ++_i203)
+            uint32_t _size203;
+            ::apache::thrift::protocol::TType _ktype204;
+            ::apache::thrift::protocol::TType _vtype205;
+            xfer += iprot->readMapBegin(_ktype204, _vtype205, _size203);
+            uint32_t _i207;
+            for (_i207 = 0; _i207 < _size203; ++_i207)
             {
-              std::string _key204;
-              xfer += iprot->readString(_key204);
-              int32_t& _val205 = this->jobSubmissionPriorityMap[_key204];
-              xfer += iprot->readI32(_val205);
+              std::string _key208;
+              xfer += iprot->readString(_key208);
+              int32_t& _val209 = this->jobSubmissionPriorityMap[_key208];
+              xfer += iprot->readI32(_val209);
             }
             xfer += iprot->readMapEnd();
           }
@@ -14254,11 +14261,11 @@ uint32_t Airavata_changeJobSubmissionPriorities_args::write(::apache::thrift::pr
   xfer += oprot->writeFieldBegin("jobSubmissionPriorityMap", ::apache::thrift::protocol::T_MAP, 1);
   {
     xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_I32, static_cast<uint32_t>(this->jobSubmissionPriorityMap.size()));
-    std::map<std::string, int32_t> ::const_iterator _iter206;
-    for (_iter206 = this->jobSubmissionPriorityMap.begin(); _iter206 != this->jobSubmissionPriorityMap.end(); ++_iter206)
+    std::map<std::string, int32_t> ::const_iterator _iter210;
+    for (_iter210 = this->jobSubmissionPriorityMap.begin(); _iter210 != this->jobSubmissionPriorityMap.end(); ++_iter210)
     {
-      xfer += oprot->writeString(_iter206->first);
-      xfer += oprot->writeI32(_iter206->second);
+      xfer += oprot->writeString(_iter210->first);
+      xfer += oprot->writeI32(_iter210->second);
     }
     xfer += oprot->writeMapEnd();
   }
@@ -14276,11 +14283,11 @@ uint32_t Airavata_changeJobSubmissionPriorities_pargs::write(::apache::thrift::p
   xfer += oprot->writeFieldBegin("jobSubmissionPriorityMap", ::apache::thrift::protocol::T_MAP, 1);
   {
     xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_I32, static_cast<uint32_t>((*(this->jobSubmissionPriorityMap)).size()));
-    std::map<std::string, int32_t> ::const_iterator _iter207;
-    for (_iter207 = (*(this->jobSubmissionPriorityMap)).begin(); _iter207 != (*(this->jobSubmissionPriorityMap)).end(); ++_iter207)
+    std::map<std::string, int32_t> ::const_iterator _iter211;
+    for (_iter211 = (*(this->jobSubmissionPriorityMap)).begin(); _iter211 != (*(this->jobSubmissionPriorityMap)).end(); ++_iter211)
     {
-      xfer += oprot->writeString(_iter207->first);
-      xfer += oprot->writeI32(_iter207->second);
+      xfer += oprot->writeString(_iter211->first);
+      xfer += oprot->writeI32(_iter211->second);
     }
     xfer += oprot->writeMapEnd();
   }
@@ -14472,17 +14479,17 @@ uint32_t Airavata_changeDataMovementPriorities_args::read(::apache::thrift::prot
         if (ftype == ::apache::thrift::protocol::T_MAP) {
           {
             this->dataMovementPriorityMap.clear();
-            uint32_t _size208;
-            ::apache::thrift::protocol::TType _ktype209;
-            ::apache::thrift::protocol::TType _vtype210;
-            xfer += iprot->readMapBegin(_ktype209, _vtype210, _size208);
-            uint32_t _i212;
-            for (_i212 = 0; _i212 < _size208; ++_i212)
+            uint32_t _size212;
+            ::apache::thrift::protocol::TType _ktype213;
+            ::apache::thrift::protocol::TType _vtype214;
+            xfer += iprot->readMapBegin(_ktype213, _vtype214, _size212);
+            uint32_t _i216;
+            for (_i216 = 0; _i216 < _size212; ++_i216)
             {
-              std::string _key213;
-              xfer += iprot->readString(_key213);
-              int32_t& _val214 = this->dataMovementPriorityMap[_key213];
-              xfer += iprot->readI32(_val214);
+              std::string _key217;
+              xfer += iprot->readString(_key217);
+              int32_t& _val218 = this->dataMovementPriorityMap[_key217];
+              xfer += iprot->readI32(_val218);
             }
             xfer += iprot->readMapEnd();
           }
@@ -14512,11 +14519,11 @@ uint32_t Airavata_changeDataMovementPriorities_args::write(::apache::thrift::pro
   xfer += oprot->writeFieldBegin("dataMovementPriorityMap", ::apache::thrift::protocol::T_MAP, 1);
   {
     xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_I32, static_cast<uint32_t>(this->dataMovementPriorityMap.size()));
-    std::map<std::string, int32_t> ::const_iterator _iter215;
-    for (_iter215 = this->dataMovementPriorityMap.begin(); _iter215 != this->dataMovementPriorityMap.end(); ++_iter215)
+    std::map<std::string, int32_t> ::const_iterator _iter219;
+    for (_iter219 = this->dataMovementPriorityMap.begin(); _iter219 != this->dataMovementPriorityMap.end(); ++_iter219)
     {
-      xfer += oprot->writeString(_iter215->first);
-      xfer += oprot->writeI32(_iter215->second);
+      xfer += oprot->writeString(_iter219->first);
+      xfer += oprot->writeI32(_iter219->second);
     }
     xfer += oprot->writeMapEnd();
   }
@@ -14534,11 +14541,11 @@ uint32_t Airavata_changeDataMovementPriorities_pargs::write(::apache::thrift::pr
   xfer += oprot->writeFieldBegin("dataMovementPriorityMap", ::apache::thrift::protocol::T_MAP, 1);
   {
     xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_I32, static_cast<uint32_t>((*(this->dataMovementPriorityMap)).size()));
-    std::map<std::string, int32_t> ::const_iterator _iter216;
-    for (_iter216 = (*(this->dataMovementPriorityMap)).begin(); _iter216 != (*(this->dataMovementPriorityMap)).end(); ++_iter216)
+    std::map<std::string, int32_t> ::const_iterator _iter220;
+    for (_iter220 = (*(this->dataMovementPriorityMap)).begin(); _iter220 != (*(this->dataMovementPriorityMap)).end(); ++_iter220)
     {
-      xfer += oprot->writeString(_iter216->first);
-      xfer += oprot->writeI32(_iter216->second);
+      xfer += oprot->writeString(_iter220->first);
+      xfer += oprot->writeI32(_iter220->second);
     }
     xfer += oprot->writeMapEnd();
   }
@@ -16674,14 +16681,14 @@ uint32_t Airavata_getAllGatewayComputeResourcePreferences_result::read(::apache:
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->success.clear();
-            uint32_t _size217;
-            ::apache::thrift::protocol::TType _etype220;
-            xfer += iprot->readListBegin(_etype220, _size217);
-            this->success.resize(_size217);
-            uint32_t _i221;
-            for (_i221 = 0; _i221 < _size217; ++_i221)
+            uint32_t _size221;
+            ::apache::thrift::protocol::TType _etype224;
+            xfer += iprot->readListBegin(_etype224, _size221);
+            this->success.resize(_size221);
+            uint32_t _i225;
+            for (_i225 = 0; _i225 < _size221; ++_i225)
             {
-              xfer += this->success[_i221].read(iprot);
+              xfer += this->success[_i225].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -16736,10 +16743,10 @@ uint32_t Airavata_getAllGatewayComputeResourcePreferences_result::write(::apache
     xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
-      std::vector< ::apache::airavata::model::appcatalog::gatewayprofile::ComputeResourcePreference> ::const_iterator _iter222;
-      for (_iter222 = this->success.begin(); _iter222 != this->success.end(); ++_iter222)
+      std::vector< ::apache::airavata::model::appcatalog::gatewayprofile::ComputeResourcePreference> ::const_iterator _iter226;
+      for (_iter226 = this->success.begin(); _iter226 != this->success.end(); ++_iter226)
       {
-        xfer += (*_iter222).write(oprot);
+        xfer += (*_iter226).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -16786,14 +16793,14 @@ uint32_t Airavata_getAllGatewayComputeResourcePreferences_presult::read(::apache
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             (*(this->success)).clear();
-            uint32_t _size223;
-            ::apache::thrift::protocol::TType _etype226;
-            xfer += iprot->readListBegin(_etype226, _size223);
-            (*(this->success)).resize(_size223);
-            uint32_t _i227;
-            for (_i227 = 0; _i227 < _size223; ++_i227)
+            uint32_t _size227;
+            ::apache::thrift::protocol::TType _etype230;
+            xfer += iprot->readListBegin(_etype230, _size227);
+            (*(this->success)).resize(_size227);
+            uint32_t _i231;
+            for (_i231 = 0; _i231 < _size227; ++_i231)
             {
-              xfer += (*(this->success))[_i227].read(iprot);
+              xfer += (*(this->success))[_i231].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -20070,7 +20077,7 @@ void AiravataClient::recv_getApplicationOutputs(std::vector< ::apache::airavata:
   throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "getApplicationOutputs failed: unknown result");
 }
 
-void AiravataClient::getAvailableAppInterfaceComputeResources(std::vector<std::string> & _return, const std::string& appInterfaceId)
+void AiravataClient::getAvailableAppInterfaceComputeResources(std::map<std::string, std::string> & _return, const std::string& appInterfaceId)
 {
   send_getAvailableAppInterfaceComputeResources(appInterfaceId);
   recv_getAvailableAppInterfaceComputeResources(_return);
@@ -20090,7 +20097,7 @@ void AiravataClient::send_getAvailableAppInterfaceComputeResources(const std::st
   oprot_->getTransport()->flush();
 }
 
-void AiravataClient::recv_getAvailableAppInterfaceComputeResources(std::vector<std::string> & _return)
+void AiravataClient::recv_getAvailableAppInterfaceComputeResources(std::map<std::string, std::string> & _return)
 {
 
   int32_t rseqid = 0;

http://git-wip-us.apache.org/repos/asf/airavata/blob/210ebad3/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/Airavata.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/Airavata.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/Airavata.h
index e4fb55e..8dc1706 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/Airavata.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/Airavata.h
@@ -56,7 +56,7 @@ class AiravataIf {
   virtual void getAllApplicationInterfaces(std::vector< ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription> & _return) = 0;
   virtual void getApplicationInputs(std::vector< ::apache::airavata::model::appcatalog::appinterface::InputDataObjectType> & _return, const std::string& appInterfaceId) = 0;
   virtual void getApplicationOutputs(std::vector< ::apache::airavata::model::appcatalog::appinterface::OutputDataObjectType> & _return, const std::string& appInterfaceId) = 0;
-  virtual void getAvailableAppInterfaceComputeResources(std::vector<std::string> & _return, const std::string& appInterfaceId) = 0;
+  virtual void getAvailableAppInterfaceComputeResources(std::map<std::string, std::string> & _return, const std::string& appInterfaceId) = 0;
   virtual void registerComputeResource(std::string& _return, const  ::apache::airavata::model::appcatalog::computeresource::ComputeResourceDescription& computeResourceDescription) = 0;
   virtual void getComputeResource( ::apache::airavata::model::appcatalog::computeresource::ComputeResourceDescription& _return, const std::string& computeResourceId) = 0;
   virtual void getAllComputeResourceNames(std::map<std::string, std::string> & _return) = 0;
@@ -246,7 +246,7 @@ class AiravataNull : virtual public AiravataIf {
   void getApplicationOutputs(std::vector< ::apache::airavata::model::appcatalog::appinterface::OutputDataObjectType> & /* _return */, const std::string& /* appInterfaceId */) {
     return;
   }
-  void getAvailableAppInterfaceComputeResources(std::vector<std::string> & /* _return */, const std::string& /* appInterfaceId */) {
+  void getAvailableAppInterfaceComputeResources(std::map<std::string, std::string> & /* _return */, const std::string& /* appInterfaceId */) {
     return;
   }
   void registerComputeResource(std::string& /* _return */, const  ::apache::airavata::model::appcatalog::computeresource::ComputeResourceDescription& /* computeResourceDescription */) {
@@ -5848,14 +5848,14 @@ class Airavata_getAvailableAppInterfaceComputeResources_result {
 
   virtual ~Airavata_getAvailableAppInterfaceComputeResources_result() throw() {}
 
-  std::vector<std::string>  success;
+  std::map<std::string, std::string>  success;
    ::apache::airavata::api::error::InvalidRequestException ire;
    ::apache::airavata::api::error::AiravataClientException ace;
    ::apache::airavata::api::error::AiravataSystemException ase;
 
   _Airavata_getAvailableAppInterfaceComputeResources_result__isset __isset;
 
-  void __set_success(const std::vector<std::string> & val) {
+  void __set_success(const std::map<std::string, std::string> & val) {
     success = val;
   }
 
@@ -5908,7 +5908,7 @@ class Airavata_getAvailableAppInterfaceComputeResources_presult {
 
   virtual ~Airavata_getAvailableAppInterfaceComputeResources_presult() throw() {}
 
-  std::vector<std::string> * success;
+  std::map<std::string, std::string> * success;
    ::apache::airavata::api::error::InvalidRequestException ire;
    ::apache::airavata::api::error::AiravataClientException ace;
    ::apache::airavata::api::error::AiravataSystemException ase;
@@ -10214,9 +10214,9 @@ class AiravataClient : virtual public AiravataIf {
   void getApplicationOutputs(std::vector< ::apache::airavata::model::appcatalog::appinterface::OutputDataObjectType> & _return, const std::string& appInterfaceId);
   void send_getApplicationOutputs(const std::string& appInterfaceId);
   void recv_getApplicationOutputs(std::vector< ::apache::airavata::model::appcatalog::appinterface::OutputDataObjectType> & _return);
-  void getAvailableAppInterfaceComputeResources(std::vector<std::string> & _return, const std::string& appInterfaceId);
+  void getAvailableAppInterfaceComputeResources(std::map<std::string, std::string> & _return, const std::string& appInterfaceId);
   void send_getAvailableAppInterfaceComputeResources(const std::string& appInterfaceId);
-  void recv_getAvailableAppInterfaceComputeResources(std::vector<std::string> & _return);
+  void recv_getAvailableAppInterfaceComputeResources(std::map<std::string, std::string> & _return);
   void registerComputeResource(std::string& _return, const  ::apache::airavata::model::appcatalog::computeresource::ComputeResourceDescription& computeResourceDescription);
   void send_registerComputeResource(const  ::apache::airavata::model::appcatalog::computeresource::ComputeResourceDescription& computeResourceDescription);
   void recv_registerComputeResource(std::string& _return);
@@ -10894,7 +10894,7 @@ class AiravataMultiface : virtual public AiravataIf {
     return;
   }
 
-  void getAvailableAppInterfaceComputeResources(std::vector<std::string> & _return, const std::string& appInterfaceId) {
+  void getAvailableAppInterfaceComputeResources(std::map<std::string, std::string> & _return, const std::string& appInterfaceId) {
     size_t sz = ifaces_.size();
     size_t i = 0;
     for (; i < (sz - 1); ++i) {

http://git-wip-us.apache.org/repos/asf/airavata/blob/210ebad3/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/Airavata_server.skeleton.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/Airavata_server.skeleton.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/Airavata_server.skeleton.cpp
index 0f4931b..51390b2 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/Airavata_server.skeleton.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/Airavata_server.skeleton.cpp
@@ -227,7 +227,7 @@ class AiravataHandler : virtual public AiravataIf {
     printf("getApplicationOutputs\n");
   }
 
-  void getAvailableAppInterfaceComputeResources(std::vector<std::string> & _return, const std::string& appInterfaceId) {
+  void getAvailableAppInterfaceComputeResources(std::map<std::string, std::string> & _return, const std::string& appInterfaceId) {
     // Your implementation goes here
     printf("getAvailableAppInterfaceComputeResources\n");
   }

http://git-wip-us.apache.org/repos/asf/airavata/blob/210ebad3/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php
index 40ca7d8..5200e42 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php
@@ -13725,9 +13725,13 @@ class Airavata_getAvailableAppInterfaceComputeResources_result {
       self::$_TSPEC = array(
         0 => array(
           'var' => 'success',
-          'type' => TType::LST,
-          'etype' => TType::STRING,
-          'elem' => array(
+          'type' => TType::MAP,
+          'ktype' => TType::STRING,
+          'vtype' => TType::STRING,
+          'key' => array(
+            'type' => TType::STRING,
+          ),
+          'val' => array(
             'type' => TType::STRING,
             ),
           ),
@@ -13784,18 +13788,21 @@ class Airavata_getAvailableAppInterfaceComputeResources_result {
       switch ($fid)
       {
         case 0:
-          if ($ftype == TType::LST) {
+          if ($ftype == TType::MAP) {
             $this->success = array();
             $_size109 = 0;
-            $_etype112 = 0;
-            $xfer += $input->readListBegin($_etype112, $_size109);
+            $_ktype110 = 0;
+            $_vtype111 = 0;
+            $xfer += $input->readMapBegin($_ktype110, $_vtype111, $_size109);
             for ($_i113 = 0; $_i113 < $_size109; ++$_i113)
             {
-              $elem114 = null;
-              $xfer += $input->readString($elem114);
-              $this->success []= $elem114;
+              $key114 = '';
+              $val115 = '';
+              $xfer += $input->readString($key114);
+              $xfer += $input->readString($val115);
+              $this->success[$key114] = $val115;
             }
-            $xfer += $input->readListEnd();
+            $xfer += $input->readMapEnd();
           } else {
             $xfer += $input->skip($ftype);
           }
@@ -13841,16 +13848,17 @@ class Airavata_getAvailableAppInterfaceComputeResources_result {
       if (!is_array($this->success)) {
         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
       }
-      $xfer += $output->writeFieldBegin('success', TType::LST, 0);
+      $xfer += $output->writeFieldBegin('success', TType::MAP, 0);
       {
-        $output->writeListBegin(TType::STRING, count($this->success));
+        $output->writeMapBegin(TType::STRING, TType::STRING, count($this->success));
         {
-          foreach ($this->success as $iter115)
+          foreach ($this->success as $kiter116 => $viter117)
           {
-            $xfer += $output->writeString($iter115);
+            $xfer += $output->writeString($kiter116);
+            $xfer += $output->writeString($viter117);
           }
         }
-        $output->writeListEnd();
+        $output->writeMapEnd();
       }
       $xfer += $output->writeFieldEnd();
     }
@@ -14434,17 +14442,17 @@ class Airavata_getAllComputeResourceNames_result {
         case 0:
           if ($ftype == TType::MAP) {
             $this->success = array();
-            $_size116 = 0;
-            $_ktype117 = 0;
-            $_vtype118 = 0;
-            $xfer += $input->readMapBegin($_ktype117, $_vtype118, $_size116);
-            for ($_i120 = 0; $_i120 < $_size116; ++$_i120)
+            $_size118 = 0;
+            $_ktype119 = 0;
+            $_vtype120 = 0;
+            $xfer += $input->readMapBegin($_ktype119, $_vtype120, $_size118);
+            for ($_i122 = 0; $_i122 < $_size118; ++$_i122)
             {
-              $key121 = '';
-              $val122 = '';
-              $xfer += $input->readString($key121);
-              $xfer += $input->readString($val122);
-              $this->success[$key121] = $val122;
+              $key123 = '';
+              $val124 = '';
+              $xfer += $input->readString($key123);
+              $xfer += $input->readString($val124);
+              $this->success[$key123] = $val124;
             }
             $xfer += $input->readMapEnd();
           } else {
@@ -14496,10 +14504,10 @@ class Airavata_getAllComputeResourceNames_result {
       {
         $output->writeMapBegin(TType::STRING, TType::STRING, count($this->success));
         {
-          foreach ($this->success as $kiter123 => $viter124)
+          foreach ($this->success as $kiter125 => $viter126)
           {
-            $xfer += $output->writeString($kiter123);
-            $xfer += $output->writeString($viter124);
+            $xfer += $output->writeString($kiter125);
+            $xfer += $output->writeString($viter126);
           }
         }
         $output->writeMapEnd();
@@ -17934,17 +17942,17 @@ class Airavata_changeJobSubmissionPriorities_args {
         case 1:
           if ($ftype == TType::MAP) {
             $this->jobSubmissionPriorityMap = array();
-            $_size125 = 0;
-            $_ktype126 = 0;
-            $_vtype127 = 0;
-            $xfer += $input->readMapBegin($_ktype126, $_vtype127, $_size125);
-            for ($_i129 = 0; $_i129 < $_size125; ++$_i129)
+            $_size127 = 0;
+            $_ktype128 = 0;
+            $_vtype129 = 0;
+            $xfer += $input->readMapBegin($_ktype128, $_vtype129, $_size127);
+            for ($_i131 = 0; $_i131 < $_size127; ++$_i131)
             {
-              $key130 = '';
-              $val131 = 0;
-              $xfer += $input->readString($key130);
-              $xfer += $input->readI32($val131);
-              $this->jobSubmissionPriorityMap[$key130] = $val131;
+              $key132 = '';
+              $val133 = 0;
+              $xfer += $input->readString($key132);
+              $xfer += $input->readI32($val133);
+              $this->jobSubmissionPriorityMap[$key132] = $val133;
             }
             $xfer += $input->readMapEnd();
           } else {
@@ -17972,10 +17980,10 @@ class Airavata_changeJobSubmissionPriorities_args {
       {
         $output->writeMapBegin(TType::STRING, TType::I32, count($this->jobSubmissionPriorityMap));
         {
-          foreach ($this->jobSubmissionPriorityMap as $kiter132 => $viter133)
+          foreach ($this->jobSubmissionPriorityMap as $kiter134 => $viter135)
           {
-            $xfer += $output->writeString($kiter132);
-            $xfer += $output->writeI32($viter133);
+            $xfer += $output->writeString($kiter134);
+            $xfer += $output->writeI32($viter135);
           }
         }
         $output->writeMapEnd();
@@ -18178,17 +18186,17 @@ class Airavata_changeDataMovementPriorities_args {
         case 1:
           if ($ftype == TType::MAP) {
             $this->dataMovementPriorityMap = array();
-            $_size134 = 0;
-            $_ktype135 = 0;
-            $_vtype136 = 0;
-            $xfer += $input->readMapBegin($_ktype135, $_vtype136, $_size134);
-            for ($_i138 = 0; $_i138 < $_size134; ++$_i138)
+            $_size136 = 0;
+            $_ktype137 = 0;
+            $_vtype138 = 0;
+            $xfer += $input->readMapBegin($_ktype137, $_vtype138, $_size136);
+            for ($_i140 = 0; $_i140 < $_size136; ++$_i140)
             {
-              $key139 = '';
-              $val140 = 0;
-              $xfer += $input->readString($key139);
-              $xfer += $input->readI32($val140);
-              $this->dataMovementPriorityMap[$key139] = $val140;
+              $key141 = '';
+              $val142 = 0;
+              $xfer += $input->readString($key141);
+              $xfer += $input->readI32($val142);
+              $this->dataMovementPriorityMap[$key141] = $val142;
             }
             $xfer += $input->readMapEnd();
           } else {
@@ -18216,10 +18224,10 @@ class Airavata_changeDataMovementPriorities_args {
       {
         $output->writeMapBegin(TType::STRING, TType::I32, count($this->dataMovementPriorityMap));
         {
-          foreach ($this->dataMovementPriorityMap as $kiter141 => $viter142)
+          foreach ($this->dataMovementPriorityMap as $kiter143 => $viter144)
           {
-            $xfer += $output->writeString($kiter141);
-            $xfer += $output->writeI32($viter142);
+            $xfer += $output->writeString($kiter143);
+            $xfer += $output->writeI32($viter144);
           }
         }
         $output->writeMapEnd();
@@ -20303,15 +20311,15 @@ class Airavata_getAllGatewayComputeResourcePreferences_result {
         case 0:
           if ($ftype == TType::LST) {
             $this->success = array();
-            $_size143 = 0;
-            $_etype146 = 0;
-            $xfer += $input->readListBegin($_etype146, $_size143);
-            for ($_i147 = 0; $_i147 < $_size143; ++$_i147)
+            $_size145 = 0;
+            $_etype148 = 0;
+            $xfer += $input->readListBegin($_etype148, $_size145);
+            for ($_i149 = 0; $_i149 < $_size145; ++$_i149)
             {
-              $elem148 = null;
-              $elem148 = new \Airavata\Model\AppCatalog\GatewayProfile\ComputeResourcePreference();
-              $xfer += $elem148->read($input);
-              $this->success []= $elem148;
+              $elem150 = null;
+              $elem150 = new \Airavata\Model\AppCatalog\GatewayProfile\ComputeResourcePreference();
+              $xfer += $elem150->read($input);
+              $this->success []= $elem150;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -20363,9 +20371,9 @@ class Airavata_getAllGatewayComputeResourcePreferences_result {
       {
         $output->writeListBegin(TType::STRUCT, count($this->success));
         {
-          foreach ($this->success as $iter149)
+          foreach ($this->success as $iter151)
           {
-            $xfer += $iter149->write($output);
+            $xfer += $iter151->write($output);
           }
         }
         $output->writeListEnd();

http://git-wip-us.apache.org/repos/asf/airavata/blob/210ebad3/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/TestCreateLaunchExperiment.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/TestCreateLaunchExperiment.java b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/TestCreateLaunchExperiment.java
index b74f683..9f17835 100644
--- a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/TestCreateLaunchExperiment.java
+++ b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/TestCreateLaunchExperiment.java
@@ -170,9 +170,9 @@ public class TestCreateLaunchExperiment {
 
     public static void getAVailableComputeResourcesForApp (Airavata.Client client, String applicationName){
         try {
-            List<String> resources = client.getAvailableAppInterfaceComputeResources(applicationName);
-            for (String id : resources){
-                System.out.println("resource id : " + id);
+            Map<String, String> resources = client.getAvailableAppInterfaceComputeResources(applicationName);
+            for (Map.Entry<String, String> entry : resources.entrySet()) {
+                System.out.println("resource id : = " + entry.getKey() + ", resource name : = " + entry.getValue());
             }
         } catch (AiravataSystemException e) {
             e.printStackTrace();

http://git-wip-us.apache.org/repos/asf/airavata/blob/210ebad3/airavata-api/thrift-interface-descriptions/airavataAPI.thrift
----------------------------------------------------------------------
diff --git a/airavata-api/thrift-interface-descriptions/airavataAPI.thrift b/airavata-api/thrift-interface-descriptions/airavataAPI.thrift
index 50d020d..c90f1be 100644
--- a/airavata-api/thrift-interface-descriptions/airavataAPI.thrift
+++ b/airavata-api/thrift-interface-descriptions/airavataAPI.thrift
@@ -764,11 +764,12 @@ service Airavata {
    * @param appInterfaceId
    *   The identifier for the requested application interface
    *
-   * @return list<string>
-   *   Returns a list of available Resources. Deployments of each modules listed within the interfaces will be listed.
+   * @return map<computeResourceId, computeResourceName>
+   *   A map of registered compute resource id's and their corresponding hostnames.
+   *    Deployments of each modules listed within the interfaces will be listed.
    *
   */
-  list<string> getAvailableAppInterfaceComputeResources(1: required string appInterfaceId)
+  map<string, string> getAvailableAppInterfaceComputeResources(1: required string appInterfaceId)
       	throws (1: airavataErrors.InvalidRequestException ire,
                 2: airavataErrors.AiravataClientException ace,
                 3: airavataErrors.AiravataSystemException ase)