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 2017/05/16 15:49:50 UTC

[01/50] [abbrv] airavata git commit: AIRAVATA-2371 Adding profile service to api-orch, ansible

Repository: airavata
Updated Branches:
  refs/heads/registry-refactoring e43905cb1 -> a98d7fc35


AIRAVATA-2371 Adding profile service to api-orch, ansible


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

Branch: refs/heads/registry-refactoring
Commit: 57dc7672e43cb433ba0cae1d1db7519441c20a07
Parents: 81a5f2b
Author: Marcus Christie <ma...@apache.org>
Authored: Tue May 2 15:55:39 2017 -0400
Committer: Marcus Christie <ma...@apache.org>
Committed: Tue May 2 15:55:39 2017 -0400

----------------------------------------------------------------------
 .../testing-0.17/group_vars/all/vars.yml        |  1 +
 .../templates/airavata-server.properties.j2     | 26 +++++++++++++++++++-
 dev-tools/ansible/roles/database/vars/main.yml  |  2 ++
 .../main/resources/airavata-server.properties   |  2 ++
 .../org/apache/airavata/server/ServerMain.java  |  2 +-
 5 files changed, 31 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/57dc7672/dev-tools/ansible/inventories/testing-0.17/group_vars/all/vars.yml
----------------------------------------------------------------------
diff --git a/dev-tools/ansible/inventories/testing-0.17/group_vars/all/vars.yml b/dev-tools/ansible/inventories/testing-0.17/group_vars/all/vars.yml
index 71f8dad..c541548 100644
--- a/dev-tools/ansible/inventories/testing-0.17/group_vars/all/vars.yml
+++ b/dev-tools/ansible/inventories/testing-0.17/group_vars/all/vars.yml
@@ -44,6 +44,7 @@ replica_catalog: "master_replica_catalog"
 sharing_catalog: "sharing_catalog"
 workflow_catalog: "master_wf_catalog"
 credential_store: "master_credential_store"
+profile_service: "profile_service"
 
 mysql_connector_jar: "mysql-connector-java-5.1.37-bin.jar"
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/57dc7672/dev-tools/ansible/roles/api-orch/templates/airavata-server.properties.j2
----------------------------------------------------------------------
diff --git a/dev-tools/ansible/roles/api-orch/templates/airavata-server.properties.j2 b/dev-tools/ansible/roles/api-orch/templates/airavata-server.properties.j2
index f7ffb67..ffdb1a0 100644
--- a/dev-tools/ansible/roles/api-orch/templates/airavata-server.properties.j2
+++ b/dev-tools/ansible/roles/api-orch/templates/airavata-server.properties.j2
@@ -301,6 +301,30 @@ trust.store.password=airavata
 authz.cache.enabled=true
 authz.cache.manager.class=org.apache.airavata.api.server.security.authzcache.DefaultAuthzCacheManager
 in.memory.cache.size=1000
-
 #### remote idp service url for KeyCloak based setup####
 remote.idp.service.url={{ remote_idp_service_url }}
+
+# Kafka Logging related configuration
+isRunningOnAws=false
+kafka.broker.list=localhost:9092
+kafka.topic.prefix=local
+enable.kafka.logging=false
+
+###########################################################################
+# Profile Service Configuration
+###########################################################################
+profile.service.server.host=localhost
+profile.service.server.port=8962
+profile_service=org.apache.airavata.service.profile.server.ProfileServiceServer
+# mysql properties
+credential.store.jdbc.url=jdbc:mysql://{{ db_server }}:3306/{{ profile_service }}
+credential.store.jdbc.user={{ db_user }}
+credential.store.jdbc.password={{ db_password }}
+credential.store.jdbc.driver=com.mysql.jdbc.Driver
+profile.service.validationQuery=SELECT 1
+
+###########################################################################
+# Iam Admin services Configuration
+###########################################################################
+iam.server.url=https://iam.scigap.org/auth
+new.gateway.admin.temp.password=Password@123

http://git-wip-us.apache.org/repos/asf/airavata/blob/57dc7672/dev-tools/ansible/roles/database/vars/main.yml
----------------------------------------------------------------------
diff --git a/dev-tools/ansible/roles/database/vars/main.yml b/dev-tools/ansible/roles/database/vars/main.yml
index ad2ea43..1cc1ff2 100644
--- a/dev-tools/ansible/roles/database/vars/main.yml
+++ b/dev-tools/ansible/roles/database/vars/main.yml
@@ -30,6 +30,7 @@ mysql_databases:
     - "{{ workflow_catalog }}"
     - "{{ credential_store }}"
     - "{{ sharing_catalog }}"
+    - "{{ profile_service }}"
 
 mysql_privs:
     - "{{ app_catalog }}.*:ALL"
@@ -38,5 +39,6 @@ mysql_privs:
     - "{{ workflow_catalog }}.*:ALL"
     - "{{ credential_store }}.*:ALL"
     - "{{ sharing_catalog }}.*:ALL"
+    - "{{ profile_service }}.*:ALL"
 
 ...

http://git-wip-us.apache.org/repos/asf/airavata/blob/57dc7672/modules/configuration/server/src/main/resources/airavata-server.properties
----------------------------------------------------------------------
diff --git a/modules/configuration/server/src/main/resources/airavata-server.properties b/modules/configuration/server/src/main/resources/airavata-server.properties
index 30518f1..9d0a9f3 100644
--- a/modules/configuration/server/src/main/resources/airavata-server.properties
+++ b/modules/configuration/server/src/main/resources/airavata-server.properties
@@ -325,6 +325,8 @@ authorization.policy=airavata-default-xacml-policy
 authz.cache.enabled=true
 authz.cache.manager.class=org.apache.airavata.api.server.security.authzcache.DefaultAuthzCacheManager
 in.memory.cache.size=1000
+#### remote idp service url for KeyCloak based setup####
+remote.idp.service.url={{ remote_idp_service_url }}
 
 # Kafka Logging related configuration
 isRunningOnAws=false

http://git-wip-us.apache.org/repos/asf/airavata/blob/57dc7672/modules/server/src/main/java/org/apache/airavata/server/ServerMain.java
----------------------------------------------------------------------
diff --git a/modules/server/src/main/java/org/apache/airavata/server/ServerMain.java b/modules/server/src/main/java/org/apache/airavata/server/ServerMain.java
index 45b5164..c041622 100644
--- a/modules/server/src/main/java/org/apache/airavata/server/ServerMain.java
+++ b/modules/server/src/main/java/org/apache/airavata/server/ServerMain.java
@@ -119,7 +119,6 @@ public class ServerMain {
 			serverList.add(API_SERVER);
 			serverList.add(ORCHESTRATOR);
 			serverList.add(GFAC_SERVER);
-			serverList.add(USER_PROFILE);
 			serverList.add(PROFILE_SERVICE);
 		} else if (serverList.indexOf(API_ORCH) > -1) {
 			serverList.clear();
@@ -128,6 +127,7 @@ public class ServerMain {
 			serverList.add(SHARING_SERVER);
 			serverList.add(API_SERVER);
 			serverList.add(ORCHESTRATOR);
+			serverList.add(PROFILE_SERVICE);
 		} else if (serverList.indexOf(EXECUTION) > -1) {
 			serverList.clear();
 			serverList.add(GFAC_SERVER);


[39/50] [abbrv] airavata git commit: Fix LSF walltime calculation when taken from JobSubmissionTaskModel

Posted by sm...@apache.org.
Fix LSF walltime calculation when taken from JobSubmissionTaskModel


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

Branch: refs/heads/registry-refactoring
Commit: 7b48f15144022a9dba850d1e9ad77ff098efe8f3
Parents: 9ef0820
Author: Marcus Christie <ma...@apache.org>
Authored: Tue May 9 13:10:14 2017 -0400
Committer: Marcus Christie <ma...@apache.org>
Committed: Tue May 9 13:10:14 2017 -0400

----------------------------------------------------------------------
 .../src/main/java/org/apache/airavata/gfac/core/GFacUtils.java | 6 ++++++
 1 file changed, 6 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/7b48f151/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/GFacUtils.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/GFacUtils.java b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/GFacUtils.java
index 19a94d6..358d6a1 100644
--- a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/GFacUtils.java
+++ b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/GFacUtils.java
@@ -522,6 +522,12 @@ public class GFacUtils {
                 if (jobSubmissionTaskModel.getWallTime() > 0) {
                     groovyMap.add(Script.MAX_WALL_TIME,
                             GFacUtils.maxWallTimeCalculator(jobSubmissionTaskModel.getWallTime()));
+                    if (resourceJobManager != null) {
+                        if (resourceJobManager.getResourceJobManagerType().equals(ResourceJobManagerType.LSF)) {
+                            groovyMap.add(Script.MAX_WALL_TIME,
+                                    GFacUtils.maxWallTimeCalculatorForLSF(jobSubmissionTaskModel.getWallTime()));
+                        }
+                    }
                 }
             } catch (TException e) {
                 log.error("Error while getting job submission sub task model", e);


[04/50] [abbrv] airavata git commit: Add Tenant Profile Thrift Model

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/tenant/Tenant.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/tenant/Tenant.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/tenant/Tenant.java
new file mode 100644
index 0000000..77dd186
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/tenant/Tenant.java
@@ -0,0 +1,2322 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.3)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+package org.apache.airavata.model.tenant;
+
+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;
+
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)")
+public class Tenant implements org.apache.thrift.TBase<Tenant, Tenant._Fields>, java.io.Serializable, Cloneable, Comparable<Tenant> {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Tenant");
+
+  private static final org.apache.thrift.protocol.TField TENANT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("tenantId", org.apache.thrift.protocol.TType.STRING, (short)1);
+  private static final org.apache.thrift.protocol.TField TENANT_APPROVAL_STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("tenantApprovalStatus", org.apache.thrift.protocol.TType.I32, (short)2);
+  private static final org.apache.thrift.protocol.TField TENANT_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("tenantName", org.apache.thrift.protocol.TType.STRING, (short)3);
+  private static final org.apache.thrift.protocol.TField DOMAIN_FIELD_DESC = new org.apache.thrift.protocol.TField("domain", org.apache.thrift.protocol.TType.STRING, (short)4);
+  private static final org.apache.thrift.protocol.TField EMAIL_ADDRESS_FIELD_DESC = new org.apache.thrift.protocol.TField("emailAddress", org.apache.thrift.protocol.TType.STRING, (short)5);
+  private static final org.apache.thrift.protocol.TField TENANT_ACRONYM_FIELD_DESC = new org.apache.thrift.protocol.TField("tenantAcronym", org.apache.thrift.protocol.TType.STRING, (short)6);
+  private static final org.apache.thrift.protocol.TField TENANT_URL_FIELD_DESC = new org.apache.thrift.protocol.TField("tenantURL", org.apache.thrift.protocol.TType.STRING, (short)7);
+  private static final org.apache.thrift.protocol.TField TENANT_PUBLIC_ABSTRACT_FIELD_DESC = new org.apache.thrift.protocol.TField("tenantPublicAbstract", org.apache.thrift.protocol.TType.STRING, (short)8);
+  private static final org.apache.thrift.protocol.TField REVIEW_PROPOSAL_DESCRIPTION_FIELD_DESC = new org.apache.thrift.protocol.TField("reviewProposalDescription", org.apache.thrift.protocol.TType.STRING, (short)9);
+  private static final org.apache.thrift.protocol.TField TENANT_ADMIN_FIRST_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("tenantAdminFirstName", org.apache.thrift.protocol.TType.STRING, (short)10);
+  private static final org.apache.thrift.protocol.TField TENANT_ADMIN_LAST_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("tenantAdminLastName", org.apache.thrift.protocol.TType.STRING, (short)11);
+  private static final org.apache.thrift.protocol.TField TENANT_ADMIN_EMAIL_FIELD_DESC = new org.apache.thrift.protocol.TField("tenantAdminEmail", org.apache.thrift.protocol.TType.STRING, (short)12);
+  private static final org.apache.thrift.protocol.TField IDENTITY_SERVER_USER_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("identityServerUserName", org.apache.thrift.protocol.TType.STRING, (short)13);
+  private static final org.apache.thrift.protocol.TField IDENTITY_SERVER_PASSWORD_TOKEN_FIELD_DESC = new org.apache.thrift.protocol.TField("identityServerPasswordToken", org.apache.thrift.protocol.TType.STRING, (short)14);
+  private static final org.apache.thrift.protocol.TField DECLINED_REASON_FIELD_DESC = new org.apache.thrift.protocol.TField("declinedReason", org.apache.thrift.protocol.TType.STRING, (short)15);
+  private static final org.apache.thrift.protocol.TField OAUTH_CLIENT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("oauthClientId", org.apache.thrift.protocol.TType.STRING, (short)16);
+  private static final org.apache.thrift.protocol.TField OAUTH_CLIENT_SECRET_FIELD_DESC = new org.apache.thrift.protocol.TField("oauthClientSecret", org.apache.thrift.protocol.TType.STRING, (short)17);
+  private static final org.apache.thrift.protocol.TField REQUEST_CREATION_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("requestCreationTime", org.apache.thrift.protocol.TType.I64, (short)18);
+  private static final org.apache.thrift.protocol.TField REQUESTER_USERNAME_FIELD_DESC = new org.apache.thrift.protocol.TField("requesterUsername", org.apache.thrift.protocol.TType.STRING, (short)19);
+
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new TenantStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new TenantTupleSchemeFactory());
+  }
+
+  private String tenantId; // required
+  private TenantApprovalStatus tenantApprovalStatus; // required
+  private String tenantName; // optional
+  private String domain; // optional
+  private String emailAddress; // optional
+  private String tenantAcronym; // optional
+  private String tenantURL; // optional
+  private String tenantPublicAbstract; // optional
+  private String reviewProposalDescription; // optional
+  private String tenantAdminFirstName; // optional
+  private String tenantAdminLastName; // optional
+  private String tenantAdminEmail; // optional
+  private String identityServerUserName; // optional
+  private String identityServerPasswordToken; // optional
+  private String declinedReason; // optional
+  private String oauthClientId; // optional
+  private String oauthClientSecret; // optional
+  private long requestCreationTime; // optional
+  private String requesterUsername; // 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 {
+    TENANT_ID((short)1, "tenantId"),
+    /**
+     * 
+     * @see TenantApprovalStatus
+     */
+    TENANT_APPROVAL_STATUS((short)2, "tenantApprovalStatus"),
+    TENANT_NAME((short)3, "tenantName"),
+    DOMAIN((short)4, "domain"),
+    EMAIL_ADDRESS((short)5, "emailAddress"),
+    TENANT_ACRONYM((short)6, "tenantAcronym"),
+    TENANT_URL((short)7, "tenantURL"),
+    TENANT_PUBLIC_ABSTRACT((short)8, "tenantPublicAbstract"),
+    REVIEW_PROPOSAL_DESCRIPTION((short)9, "reviewProposalDescription"),
+    TENANT_ADMIN_FIRST_NAME((short)10, "tenantAdminFirstName"),
+    TENANT_ADMIN_LAST_NAME((short)11, "tenantAdminLastName"),
+    TENANT_ADMIN_EMAIL((short)12, "tenantAdminEmail"),
+    IDENTITY_SERVER_USER_NAME((short)13, "identityServerUserName"),
+    IDENTITY_SERVER_PASSWORD_TOKEN((short)14, "identityServerPasswordToken"),
+    DECLINED_REASON((short)15, "declinedReason"),
+    OAUTH_CLIENT_ID((short)16, "oauthClientId"),
+    OAUTH_CLIENT_SECRET((short)17, "oauthClientSecret"),
+    REQUEST_CREATION_TIME((short)18, "requestCreationTime"),
+    REQUESTER_USERNAME((short)19, "requesterUsername");
+
+    private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+
+    static {
+      for (_Fields field : EnumSet.allOf(_Fields.class)) {
+        byName.put(field.getFieldName(), field);
+      }
+    }
+
+    /**
+     * Find the _Fields constant that matches fieldId, or null if its not found.
+     */
+    public static _Fields findByThriftId(int fieldId) {
+      switch(fieldId) {
+        case 1: // TENANT_ID
+          return TENANT_ID;
+        case 2: // TENANT_APPROVAL_STATUS
+          return TENANT_APPROVAL_STATUS;
+        case 3: // TENANT_NAME
+          return TENANT_NAME;
+        case 4: // DOMAIN
+          return DOMAIN;
+        case 5: // EMAIL_ADDRESS
+          return EMAIL_ADDRESS;
+        case 6: // TENANT_ACRONYM
+          return TENANT_ACRONYM;
+        case 7: // TENANT_URL
+          return TENANT_URL;
+        case 8: // TENANT_PUBLIC_ABSTRACT
+          return TENANT_PUBLIC_ABSTRACT;
+        case 9: // REVIEW_PROPOSAL_DESCRIPTION
+          return REVIEW_PROPOSAL_DESCRIPTION;
+        case 10: // TENANT_ADMIN_FIRST_NAME
+          return TENANT_ADMIN_FIRST_NAME;
+        case 11: // TENANT_ADMIN_LAST_NAME
+          return TENANT_ADMIN_LAST_NAME;
+        case 12: // TENANT_ADMIN_EMAIL
+          return TENANT_ADMIN_EMAIL;
+        case 13: // IDENTITY_SERVER_USER_NAME
+          return IDENTITY_SERVER_USER_NAME;
+        case 14: // IDENTITY_SERVER_PASSWORD_TOKEN
+          return IDENTITY_SERVER_PASSWORD_TOKEN;
+        case 15: // DECLINED_REASON
+          return DECLINED_REASON;
+        case 16: // OAUTH_CLIENT_ID
+          return OAUTH_CLIENT_ID;
+        case 17: // OAUTH_CLIENT_SECRET
+          return OAUTH_CLIENT_SECRET;
+        case 18: // REQUEST_CREATION_TIME
+          return REQUEST_CREATION_TIME;
+        case 19: // REQUESTER_USERNAME
+          return REQUESTER_USERNAME;
+        default:
+          return null;
+      }
+    }
+
+    /**
+     * Find the _Fields constant that matches fieldId, throwing an exception
+     * if it is not found.
+     */
+    public static _Fields findByThriftIdOrThrow(int fieldId) {
+      _Fields fields = findByThriftId(fieldId);
+      if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+      return fields;
+    }
+
+    /**
+     * Find the _Fields constant that matches name, or null if its not found.
+     */
+    public static _Fields findByName(String name) {
+      return byName.get(name);
+    }
+
+    private final short _thriftId;
+    private final String _fieldName;
+
+    _Fields(short thriftId, String fieldName) {
+      _thriftId = thriftId;
+      _fieldName = fieldName;
+    }
+
+    public short getThriftFieldId() {
+      return _thriftId;
+    }
+
+    public String getFieldName() {
+      return _fieldName;
+    }
+  }
+
+  // isset id assignments
+  private static final int __REQUESTCREATIONTIME_ISSET_ID = 0;
+  private byte __isset_bitfield = 0;
+  private static final _Fields optionals[] = {_Fields.TENANT_NAME,_Fields.DOMAIN,_Fields.EMAIL_ADDRESS,_Fields.TENANT_ACRONYM,_Fields.TENANT_URL,_Fields.TENANT_PUBLIC_ABSTRACT,_Fields.REVIEW_PROPOSAL_DESCRIPTION,_Fields.TENANT_ADMIN_FIRST_NAME,_Fields.TENANT_ADMIN_LAST_NAME,_Fields.TENANT_ADMIN_EMAIL,_Fields.IDENTITY_SERVER_USER_NAME,_Fields.IDENTITY_SERVER_PASSWORD_TOKEN,_Fields.DECLINED_REASON,_Fields.OAUTH_CLIENT_ID,_Fields.OAUTH_CLIENT_SECRET,_Fields.REQUEST_CREATION_TIME,_Fields.REQUESTER_USERNAME};
+  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);
+    tmpMap.put(_Fields.TENANT_ID, new org.apache.thrift.meta_data.FieldMetaData("tenantId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.TENANT_APPROVAL_STATUS, new org.apache.thrift.meta_data.FieldMetaData("tenantApprovalStatus", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, TenantApprovalStatus.class)));
+    tmpMap.put(_Fields.TENANT_NAME, new org.apache.thrift.meta_data.FieldMetaData("tenantName", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.DOMAIN, new org.apache.thrift.meta_data.FieldMetaData("domain", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.EMAIL_ADDRESS, new org.apache.thrift.meta_data.FieldMetaData("emailAddress", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.TENANT_ACRONYM, new org.apache.thrift.meta_data.FieldMetaData("tenantAcronym", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.TENANT_URL, new org.apache.thrift.meta_data.FieldMetaData("tenantURL", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.TENANT_PUBLIC_ABSTRACT, new org.apache.thrift.meta_data.FieldMetaData("tenantPublicAbstract", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.REVIEW_PROPOSAL_DESCRIPTION, new org.apache.thrift.meta_data.FieldMetaData("reviewProposalDescription", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.TENANT_ADMIN_FIRST_NAME, new org.apache.thrift.meta_data.FieldMetaData("tenantAdminFirstName", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.TENANT_ADMIN_LAST_NAME, new org.apache.thrift.meta_data.FieldMetaData("tenantAdminLastName", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.TENANT_ADMIN_EMAIL, new org.apache.thrift.meta_data.FieldMetaData("tenantAdminEmail", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.IDENTITY_SERVER_USER_NAME, new org.apache.thrift.meta_data.FieldMetaData("identityServerUserName", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.IDENTITY_SERVER_PASSWORD_TOKEN, new org.apache.thrift.meta_data.FieldMetaData("identityServerPasswordToken", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.DECLINED_REASON, new org.apache.thrift.meta_data.FieldMetaData("declinedReason", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.OAUTH_CLIENT_ID, new org.apache.thrift.meta_data.FieldMetaData("oauthClientId", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.OAUTH_CLIENT_SECRET, new org.apache.thrift.meta_data.FieldMetaData("oauthClientSecret", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.REQUEST_CREATION_TIME, new org.apache.thrift.meta_data.FieldMetaData("requestCreationTime", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
+    tmpMap.put(_Fields.REQUESTER_USERNAME, new org.apache.thrift.meta_data.FieldMetaData("requesterUsername", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(Tenant.class, metaDataMap);
+  }
+
+  public Tenant() {
+  }
+
+  public Tenant(
+    String tenantId,
+    TenantApprovalStatus tenantApprovalStatus)
+  {
+    this();
+    this.tenantId = tenantId;
+    this.tenantApprovalStatus = tenantApprovalStatus;
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public Tenant(Tenant other) {
+    __isset_bitfield = other.__isset_bitfield;
+    if (other.isSetTenantId()) {
+      this.tenantId = other.tenantId;
+    }
+    if (other.isSetTenantApprovalStatus()) {
+      this.tenantApprovalStatus = other.tenantApprovalStatus;
+    }
+    if (other.isSetTenantName()) {
+      this.tenantName = other.tenantName;
+    }
+    if (other.isSetDomain()) {
+      this.domain = other.domain;
+    }
+    if (other.isSetEmailAddress()) {
+      this.emailAddress = other.emailAddress;
+    }
+    if (other.isSetTenantAcronym()) {
+      this.tenantAcronym = other.tenantAcronym;
+    }
+    if (other.isSetTenantURL()) {
+      this.tenantURL = other.tenantURL;
+    }
+    if (other.isSetTenantPublicAbstract()) {
+      this.tenantPublicAbstract = other.tenantPublicAbstract;
+    }
+    if (other.isSetReviewProposalDescription()) {
+      this.reviewProposalDescription = other.reviewProposalDescription;
+    }
+    if (other.isSetTenantAdminFirstName()) {
+      this.tenantAdminFirstName = other.tenantAdminFirstName;
+    }
+    if (other.isSetTenantAdminLastName()) {
+      this.tenantAdminLastName = other.tenantAdminLastName;
+    }
+    if (other.isSetTenantAdminEmail()) {
+      this.tenantAdminEmail = other.tenantAdminEmail;
+    }
+    if (other.isSetIdentityServerUserName()) {
+      this.identityServerUserName = other.identityServerUserName;
+    }
+    if (other.isSetIdentityServerPasswordToken()) {
+      this.identityServerPasswordToken = other.identityServerPasswordToken;
+    }
+    if (other.isSetDeclinedReason()) {
+      this.declinedReason = other.declinedReason;
+    }
+    if (other.isSetOauthClientId()) {
+      this.oauthClientId = other.oauthClientId;
+    }
+    if (other.isSetOauthClientSecret()) {
+      this.oauthClientSecret = other.oauthClientSecret;
+    }
+    this.requestCreationTime = other.requestCreationTime;
+    if (other.isSetRequesterUsername()) {
+      this.requesterUsername = other.requesterUsername;
+    }
+  }
+
+  public Tenant deepCopy() {
+    return new Tenant(this);
+  }
+
+  @Override
+  public void clear() {
+    this.tenantId = null;
+    this.tenantApprovalStatus = null;
+    this.tenantName = null;
+    this.domain = null;
+    this.emailAddress = null;
+    this.tenantAcronym = null;
+    this.tenantURL = null;
+    this.tenantPublicAbstract = null;
+    this.reviewProposalDescription = null;
+    this.tenantAdminFirstName = null;
+    this.tenantAdminLastName = null;
+    this.tenantAdminEmail = null;
+    this.identityServerUserName = null;
+    this.identityServerPasswordToken = null;
+    this.declinedReason = null;
+    this.oauthClientId = null;
+    this.oauthClientSecret = null;
+    setRequestCreationTimeIsSet(false);
+    this.requestCreationTime = 0;
+    this.requesterUsername = null;
+  }
+
+  public String getTenantId() {
+    return this.tenantId;
+  }
+
+  public void setTenantId(String tenantId) {
+    this.tenantId = tenantId;
+  }
+
+  public void unsetTenantId() {
+    this.tenantId = null;
+  }
+
+  /** Returns true if field tenantId is set (has been assigned a value) and false otherwise */
+  public boolean isSetTenantId() {
+    return this.tenantId != null;
+  }
+
+  public void setTenantIdIsSet(boolean value) {
+    if (!value) {
+      this.tenantId = null;
+    }
+  }
+
+  /**
+   * 
+   * @see TenantApprovalStatus
+   */
+  public TenantApprovalStatus getTenantApprovalStatus() {
+    return this.tenantApprovalStatus;
+  }
+
+  /**
+   * 
+   * @see TenantApprovalStatus
+   */
+  public void setTenantApprovalStatus(TenantApprovalStatus tenantApprovalStatus) {
+    this.tenantApprovalStatus = tenantApprovalStatus;
+  }
+
+  public void unsetTenantApprovalStatus() {
+    this.tenantApprovalStatus = null;
+  }
+
+  /** Returns true if field tenantApprovalStatus is set (has been assigned a value) and false otherwise */
+  public boolean isSetTenantApprovalStatus() {
+    return this.tenantApprovalStatus != null;
+  }
+
+  public void setTenantApprovalStatusIsSet(boolean value) {
+    if (!value) {
+      this.tenantApprovalStatus = null;
+    }
+  }
+
+  public String getTenantName() {
+    return this.tenantName;
+  }
+
+  public void setTenantName(String tenantName) {
+    this.tenantName = tenantName;
+  }
+
+  public void unsetTenantName() {
+    this.tenantName = null;
+  }
+
+  /** Returns true if field tenantName is set (has been assigned a value) and false otherwise */
+  public boolean isSetTenantName() {
+    return this.tenantName != null;
+  }
+
+  public void setTenantNameIsSet(boolean value) {
+    if (!value) {
+      this.tenantName = null;
+    }
+  }
+
+  public String getDomain() {
+    return this.domain;
+  }
+
+  public void setDomain(String domain) {
+    this.domain = domain;
+  }
+
+  public void unsetDomain() {
+    this.domain = null;
+  }
+
+  /** Returns true if field domain is set (has been assigned a value) and false otherwise */
+  public boolean isSetDomain() {
+    return this.domain != null;
+  }
+
+  public void setDomainIsSet(boolean value) {
+    if (!value) {
+      this.domain = null;
+    }
+  }
+
+  public String getEmailAddress() {
+    return this.emailAddress;
+  }
+
+  public void setEmailAddress(String emailAddress) {
+    this.emailAddress = emailAddress;
+  }
+
+  public void unsetEmailAddress() {
+    this.emailAddress = null;
+  }
+
+  /** Returns true if field emailAddress is set (has been assigned a value) and false otherwise */
+  public boolean isSetEmailAddress() {
+    return this.emailAddress != null;
+  }
+
+  public void setEmailAddressIsSet(boolean value) {
+    if (!value) {
+      this.emailAddress = null;
+    }
+  }
+
+  public String getTenantAcronym() {
+    return this.tenantAcronym;
+  }
+
+  public void setTenantAcronym(String tenantAcronym) {
+    this.tenantAcronym = tenantAcronym;
+  }
+
+  public void unsetTenantAcronym() {
+    this.tenantAcronym = null;
+  }
+
+  /** Returns true if field tenantAcronym is set (has been assigned a value) and false otherwise */
+  public boolean isSetTenantAcronym() {
+    return this.tenantAcronym != null;
+  }
+
+  public void setTenantAcronymIsSet(boolean value) {
+    if (!value) {
+      this.tenantAcronym = null;
+    }
+  }
+
+  public String getTenantURL() {
+    return this.tenantURL;
+  }
+
+  public void setTenantURL(String tenantURL) {
+    this.tenantURL = tenantURL;
+  }
+
+  public void unsetTenantURL() {
+    this.tenantURL = null;
+  }
+
+  /** Returns true if field tenantURL is set (has been assigned a value) and false otherwise */
+  public boolean isSetTenantURL() {
+    return this.tenantURL != null;
+  }
+
+  public void setTenantURLIsSet(boolean value) {
+    if (!value) {
+      this.tenantURL = null;
+    }
+  }
+
+  public String getTenantPublicAbstract() {
+    return this.tenantPublicAbstract;
+  }
+
+  public void setTenantPublicAbstract(String tenantPublicAbstract) {
+    this.tenantPublicAbstract = tenantPublicAbstract;
+  }
+
+  public void unsetTenantPublicAbstract() {
+    this.tenantPublicAbstract = null;
+  }
+
+  /** Returns true if field tenantPublicAbstract is set (has been assigned a value) and false otherwise */
+  public boolean isSetTenantPublicAbstract() {
+    return this.tenantPublicAbstract != null;
+  }
+
+  public void setTenantPublicAbstractIsSet(boolean value) {
+    if (!value) {
+      this.tenantPublicAbstract = null;
+    }
+  }
+
+  public String getReviewProposalDescription() {
+    return this.reviewProposalDescription;
+  }
+
+  public void setReviewProposalDescription(String reviewProposalDescription) {
+    this.reviewProposalDescription = reviewProposalDescription;
+  }
+
+  public void unsetReviewProposalDescription() {
+    this.reviewProposalDescription = null;
+  }
+
+  /** Returns true if field reviewProposalDescription is set (has been assigned a value) and false otherwise */
+  public boolean isSetReviewProposalDescription() {
+    return this.reviewProposalDescription != null;
+  }
+
+  public void setReviewProposalDescriptionIsSet(boolean value) {
+    if (!value) {
+      this.reviewProposalDescription = null;
+    }
+  }
+
+  public String getTenantAdminFirstName() {
+    return this.tenantAdminFirstName;
+  }
+
+  public void setTenantAdminFirstName(String tenantAdminFirstName) {
+    this.tenantAdminFirstName = tenantAdminFirstName;
+  }
+
+  public void unsetTenantAdminFirstName() {
+    this.tenantAdminFirstName = null;
+  }
+
+  /** Returns true if field tenantAdminFirstName is set (has been assigned a value) and false otherwise */
+  public boolean isSetTenantAdminFirstName() {
+    return this.tenantAdminFirstName != null;
+  }
+
+  public void setTenantAdminFirstNameIsSet(boolean value) {
+    if (!value) {
+      this.tenantAdminFirstName = null;
+    }
+  }
+
+  public String getTenantAdminLastName() {
+    return this.tenantAdminLastName;
+  }
+
+  public void setTenantAdminLastName(String tenantAdminLastName) {
+    this.tenantAdminLastName = tenantAdminLastName;
+  }
+
+  public void unsetTenantAdminLastName() {
+    this.tenantAdminLastName = null;
+  }
+
+  /** Returns true if field tenantAdminLastName is set (has been assigned a value) and false otherwise */
+  public boolean isSetTenantAdminLastName() {
+    return this.tenantAdminLastName != null;
+  }
+
+  public void setTenantAdminLastNameIsSet(boolean value) {
+    if (!value) {
+      this.tenantAdminLastName = null;
+    }
+  }
+
+  public String getTenantAdminEmail() {
+    return this.tenantAdminEmail;
+  }
+
+  public void setTenantAdminEmail(String tenantAdminEmail) {
+    this.tenantAdminEmail = tenantAdminEmail;
+  }
+
+  public void unsetTenantAdminEmail() {
+    this.tenantAdminEmail = null;
+  }
+
+  /** Returns true if field tenantAdminEmail is set (has been assigned a value) and false otherwise */
+  public boolean isSetTenantAdminEmail() {
+    return this.tenantAdminEmail != null;
+  }
+
+  public void setTenantAdminEmailIsSet(boolean value) {
+    if (!value) {
+      this.tenantAdminEmail = null;
+    }
+  }
+
+  public String getIdentityServerUserName() {
+    return this.identityServerUserName;
+  }
+
+  public void setIdentityServerUserName(String identityServerUserName) {
+    this.identityServerUserName = identityServerUserName;
+  }
+
+  public void unsetIdentityServerUserName() {
+    this.identityServerUserName = null;
+  }
+
+  /** Returns true if field identityServerUserName is set (has been assigned a value) and false otherwise */
+  public boolean isSetIdentityServerUserName() {
+    return this.identityServerUserName != null;
+  }
+
+  public void setIdentityServerUserNameIsSet(boolean value) {
+    if (!value) {
+      this.identityServerUserName = null;
+    }
+  }
+
+  public String getIdentityServerPasswordToken() {
+    return this.identityServerPasswordToken;
+  }
+
+  public void setIdentityServerPasswordToken(String identityServerPasswordToken) {
+    this.identityServerPasswordToken = identityServerPasswordToken;
+  }
+
+  public void unsetIdentityServerPasswordToken() {
+    this.identityServerPasswordToken = null;
+  }
+
+  /** Returns true if field identityServerPasswordToken is set (has been assigned a value) and false otherwise */
+  public boolean isSetIdentityServerPasswordToken() {
+    return this.identityServerPasswordToken != null;
+  }
+
+  public void setIdentityServerPasswordTokenIsSet(boolean value) {
+    if (!value) {
+      this.identityServerPasswordToken = null;
+    }
+  }
+
+  public String getDeclinedReason() {
+    return this.declinedReason;
+  }
+
+  public void setDeclinedReason(String declinedReason) {
+    this.declinedReason = declinedReason;
+  }
+
+  public void unsetDeclinedReason() {
+    this.declinedReason = null;
+  }
+
+  /** Returns true if field declinedReason is set (has been assigned a value) and false otherwise */
+  public boolean isSetDeclinedReason() {
+    return this.declinedReason != null;
+  }
+
+  public void setDeclinedReasonIsSet(boolean value) {
+    if (!value) {
+      this.declinedReason = null;
+    }
+  }
+
+  public String getOauthClientId() {
+    return this.oauthClientId;
+  }
+
+  public void setOauthClientId(String oauthClientId) {
+    this.oauthClientId = oauthClientId;
+  }
+
+  public void unsetOauthClientId() {
+    this.oauthClientId = null;
+  }
+
+  /** Returns true if field oauthClientId is set (has been assigned a value) and false otherwise */
+  public boolean isSetOauthClientId() {
+    return this.oauthClientId != null;
+  }
+
+  public void setOauthClientIdIsSet(boolean value) {
+    if (!value) {
+      this.oauthClientId = null;
+    }
+  }
+
+  public String getOauthClientSecret() {
+    return this.oauthClientSecret;
+  }
+
+  public void setOauthClientSecret(String oauthClientSecret) {
+    this.oauthClientSecret = oauthClientSecret;
+  }
+
+  public void unsetOauthClientSecret() {
+    this.oauthClientSecret = null;
+  }
+
+  /** Returns true if field oauthClientSecret is set (has been assigned a value) and false otherwise */
+  public boolean isSetOauthClientSecret() {
+    return this.oauthClientSecret != null;
+  }
+
+  public void setOauthClientSecretIsSet(boolean value) {
+    if (!value) {
+      this.oauthClientSecret = null;
+    }
+  }
+
+  public long getRequestCreationTime() {
+    return this.requestCreationTime;
+  }
+
+  public void setRequestCreationTime(long requestCreationTime) {
+    this.requestCreationTime = requestCreationTime;
+    setRequestCreationTimeIsSet(true);
+  }
+
+  public void unsetRequestCreationTime() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __REQUESTCREATIONTIME_ISSET_ID);
+  }
+
+  /** Returns true if field requestCreationTime is set (has been assigned a value) and false otherwise */
+  public boolean isSetRequestCreationTime() {
+    return EncodingUtils.testBit(__isset_bitfield, __REQUESTCREATIONTIME_ISSET_ID);
+  }
+
+  public void setRequestCreationTimeIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __REQUESTCREATIONTIME_ISSET_ID, value);
+  }
+
+  public String getRequesterUsername() {
+    return this.requesterUsername;
+  }
+
+  public void setRequesterUsername(String requesterUsername) {
+    this.requesterUsername = requesterUsername;
+  }
+
+  public void unsetRequesterUsername() {
+    this.requesterUsername = null;
+  }
+
+  /** Returns true if field requesterUsername is set (has been assigned a value) and false otherwise */
+  public boolean isSetRequesterUsername() {
+    return this.requesterUsername != null;
+  }
+
+  public void setRequesterUsernameIsSet(boolean value) {
+    if (!value) {
+      this.requesterUsername = null;
+    }
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case TENANT_ID:
+      if (value == null) {
+        unsetTenantId();
+      } else {
+        setTenantId((String)value);
+      }
+      break;
+
+    case TENANT_APPROVAL_STATUS:
+      if (value == null) {
+        unsetTenantApprovalStatus();
+      } else {
+        setTenantApprovalStatus((TenantApprovalStatus)value);
+      }
+      break;
+
+    case TENANT_NAME:
+      if (value == null) {
+        unsetTenantName();
+      } else {
+        setTenantName((String)value);
+      }
+      break;
+
+    case DOMAIN:
+      if (value == null) {
+        unsetDomain();
+      } else {
+        setDomain((String)value);
+      }
+      break;
+
+    case EMAIL_ADDRESS:
+      if (value == null) {
+        unsetEmailAddress();
+      } else {
+        setEmailAddress((String)value);
+      }
+      break;
+
+    case TENANT_ACRONYM:
+      if (value == null) {
+        unsetTenantAcronym();
+      } else {
+        setTenantAcronym((String)value);
+      }
+      break;
+
+    case TENANT_URL:
+      if (value == null) {
+        unsetTenantURL();
+      } else {
+        setTenantURL((String)value);
+      }
+      break;
+
+    case TENANT_PUBLIC_ABSTRACT:
+      if (value == null) {
+        unsetTenantPublicAbstract();
+      } else {
+        setTenantPublicAbstract((String)value);
+      }
+      break;
+
+    case REVIEW_PROPOSAL_DESCRIPTION:
+      if (value == null) {
+        unsetReviewProposalDescription();
+      } else {
+        setReviewProposalDescription((String)value);
+      }
+      break;
+
+    case TENANT_ADMIN_FIRST_NAME:
+      if (value == null) {
+        unsetTenantAdminFirstName();
+      } else {
+        setTenantAdminFirstName((String)value);
+      }
+      break;
+
+    case TENANT_ADMIN_LAST_NAME:
+      if (value == null) {
+        unsetTenantAdminLastName();
+      } else {
+        setTenantAdminLastName((String)value);
+      }
+      break;
+
+    case TENANT_ADMIN_EMAIL:
+      if (value == null) {
+        unsetTenantAdminEmail();
+      } else {
+        setTenantAdminEmail((String)value);
+      }
+      break;
+
+    case IDENTITY_SERVER_USER_NAME:
+      if (value == null) {
+        unsetIdentityServerUserName();
+      } else {
+        setIdentityServerUserName((String)value);
+      }
+      break;
+
+    case IDENTITY_SERVER_PASSWORD_TOKEN:
+      if (value == null) {
+        unsetIdentityServerPasswordToken();
+      } else {
+        setIdentityServerPasswordToken((String)value);
+      }
+      break;
+
+    case DECLINED_REASON:
+      if (value == null) {
+        unsetDeclinedReason();
+      } else {
+        setDeclinedReason((String)value);
+      }
+      break;
+
+    case OAUTH_CLIENT_ID:
+      if (value == null) {
+        unsetOauthClientId();
+      } else {
+        setOauthClientId((String)value);
+      }
+      break;
+
+    case OAUTH_CLIENT_SECRET:
+      if (value == null) {
+        unsetOauthClientSecret();
+      } else {
+        setOauthClientSecret((String)value);
+      }
+      break;
+
+    case REQUEST_CREATION_TIME:
+      if (value == null) {
+        unsetRequestCreationTime();
+      } else {
+        setRequestCreationTime((Long)value);
+      }
+      break;
+
+    case REQUESTER_USERNAME:
+      if (value == null) {
+        unsetRequesterUsername();
+      } else {
+        setRequesterUsername((String)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case TENANT_ID:
+      return getTenantId();
+
+    case TENANT_APPROVAL_STATUS:
+      return getTenantApprovalStatus();
+
+    case TENANT_NAME:
+      return getTenantName();
+
+    case DOMAIN:
+      return getDomain();
+
+    case EMAIL_ADDRESS:
+      return getEmailAddress();
+
+    case TENANT_ACRONYM:
+      return getTenantAcronym();
+
+    case TENANT_URL:
+      return getTenantURL();
+
+    case TENANT_PUBLIC_ABSTRACT:
+      return getTenantPublicAbstract();
+
+    case REVIEW_PROPOSAL_DESCRIPTION:
+      return getReviewProposalDescription();
+
+    case TENANT_ADMIN_FIRST_NAME:
+      return getTenantAdminFirstName();
+
+    case TENANT_ADMIN_LAST_NAME:
+      return getTenantAdminLastName();
+
+    case TENANT_ADMIN_EMAIL:
+      return getTenantAdminEmail();
+
+    case IDENTITY_SERVER_USER_NAME:
+      return getIdentityServerUserName();
+
+    case IDENTITY_SERVER_PASSWORD_TOKEN:
+      return getIdentityServerPasswordToken();
+
+    case DECLINED_REASON:
+      return getDeclinedReason();
+
+    case OAUTH_CLIENT_ID:
+      return getOauthClientId();
+
+    case OAUTH_CLIENT_SECRET:
+      return getOauthClientSecret();
+
+    case REQUEST_CREATION_TIME:
+      return getRequestCreationTime();
+
+    case REQUESTER_USERNAME:
+      return getRequesterUsername();
+
+    }
+    throw new IllegalStateException();
+  }
+
+  /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  public boolean isSet(_Fields field) {
+    if (field == null) {
+      throw new IllegalArgumentException();
+    }
+
+    switch (field) {
+    case TENANT_ID:
+      return isSetTenantId();
+    case TENANT_APPROVAL_STATUS:
+      return isSetTenantApprovalStatus();
+    case TENANT_NAME:
+      return isSetTenantName();
+    case DOMAIN:
+      return isSetDomain();
+    case EMAIL_ADDRESS:
+      return isSetEmailAddress();
+    case TENANT_ACRONYM:
+      return isSetTenantAcronym();
+    case TENANT_URL:
+      return isSetTenantURL();
+    case TENANT_PUBLIC_ABSTRACT:
+      return isSetTenantPublicAbstract();
+    case REVIEW_PROPOSAL_DESCRIPTION:
+      return isSetReviewProposalDescription();
+    case TENANT_ADMIN_FIRST_NAME:
+      return isSetTenantAdminFirstName();
+    case TENANT_ADMIN_LAST_NAME:
+      return isSetTenantAdminLastName();
+    case TENANT_ADMIN_EMAIL:
+      return isSetTenantAdminEmail();
+    case IDENTITY_SERVER_USER_NAME:
+      return isSetIdentityServerUserName();
+    case IDENTITY_SERVER_PASSWORD_TOKEN:
+      return isSetIdentityServerPasswordToken();
+    case DECLINED_REASON:
+      return isSetDeclinedReason();
+    case OAUTH_CLIENT_ID:
+      return isSetOauthClientId();
+    case OAUTH_CLIENT_SECRET:
+      return isSetOauthClientSecret();
+    case REQUEST_CREATION_TIME:
+      return isSetRequestCreationTime();
+    case REQUESTER_USERNAME:
+      return isSetRequesterUsername();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof Tenant)
+      return this.equals((Tenant)that);
+    return false;
+  }
+
+  public boolean equals(Tenant that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_tenantId = true && this.isSetTenantId();
+    boolean that_present_tenantId = true && that.isSetTenantId();
+    if (this_present_tenantId || that_present_tenantId) {
+      if (!(this_present_tenantId && that_present_tenantId))
+        return false;
+      if (!this.tenantId.equals(that.tenantId))
+        return false;
+    }
+
+    boolean this_present_tenantApprovalStatus = true && this.isSetTenantApprovalStatus();
+    boolean that_present_tenantApprovalStatus = true && that.isSetTenantApprovalStatus();
+    if (this_present_tenantApprovalStatus || that_present_tenantApprovalStatus) {
+      if (!(this_present_tenantApprovalStatus && that_present_tenantApprovalStatus))
+        return false;
+      if (!this.tenantApprovalStatus.equals(that.tenantApprovalStatus))
+        return false;
+    }
+
+    boolean this_present_tenantName = true && this.isSetTenantName();
+    boolean that_present_tenantName = true && that.isSetTenantName();
+    if (this_present_tenantName || that_present_tenantName) {
+      if (!(this_present_tenantName && that_present_tenantName))
+        return false;
+      if (!this.tenantName.equals(that.tenantName))
+        return false;
+    }
+
+    boolean this_present_domain = true && this.isSetDomain();
+    boolean that_present_domain = true && that.isSetDomain();
+    if (this_present_domain || that_present_domain) {
+      if (!(this_present_domain && that_present_domain))
+        return false;
+      if (!this.domain.equals(that.domain))
+        return false;
+    }
+
+    boolean this_present_emailAddress = true && this.isSetEmailAddress();
+    boolean that_present_emailAddress = true && that.isSetEmailAddress();
+    if (this_present_emailAddress || that_present_emailAddress) {
+      if (!(this_present_emailAddress && that_present_emailAddress))
+        return false;
+      if (!this.emailAddress.equals(that.emailAddress))
+        return false;
+    }
+
+    boolean this_present_tenantAcronym = true && this.isSetTenantAcronym();
+    boolean that_present_tenantAcronym = true && that.isSetTenantAcronym();
+    if (this_present_tenantAcronym || that_present_tenantAcronym) {
+      if (!(this_present_tenantAcronym && that_present_tenantAcronym))
+        return false;
+      if (!this.tenantAcronym.equals(that.tenantAcronym))
+        return false;
+    }
+
+    boolean this_present_tenantURL = true && this.isSetTenantURL();
+    boolean that_present_tenantURL = true && that.isSetTenantURL();
+    if (this_present_tenantURL || that_present_tenantURL) {
+      if (!(this_present_tenantURL && that_present_tenantURL))
+        return false;
+      if (!this.tenantURL.equals(that.tenantURL))
+        return false;
+    }
+
+    boolean this_present_tenantPublicAbstract = true && this.isSetTenantPublicAbstract();
+    boolean that_present_tenantPublicAbstract = true && that.isSetTenantPublicAbstract();
+    if (this_present_tenantPublicAbstract || that_present_tenantPublicAbstract) {
+      if (!(this_present_tenantPublicAbstract && that_present_tenantPublicAbstract))
+        return false;
+      if (!this.tenantPublicAbstract.equals(that.tenantPublicAbstract))
+        return false;
+    }
+
+    boolean this_present_reviewProposalDescription = true && this.isSetReviewProposalDescription();
+    boolean that_present_reviewProposalDescription = true && that.isSetReviewProposalDescription();
+    if (this_present_reviewProposalDescription || that_present_reviewProposalDescription) {
+      if (!(this_present_reviewProposalDescription && that_present_reviewProposalDescription))
+        return false;
+      if (!this.reviewProposalDescription.equals(that.reviewProposalDescription))
+        return false;
+    }
+
+    boolean this_present_tenantAdminFirstName = true && this.isSetTenantAdminFirstName();
+    boolean that_present_tenantAdminFirstName = true && that.isSetTenantAdminFirstName();
+    if (this_present_tenantAdminFirstName || that_present_tenantAdminFirstName) {
+      if (!(this_present_tenantAdminFirstName && that_present_tenantAdminFirstName))
+        return false;
+      if (!this.tenantAdminFirstName.equals(that.tenantAdminFirstName))
+        return false;
+    }
+
+    boolean this_present_tenantAdminLastName = true && this.isSetTenantAdminLastName();
+    boolean that_present_tenantAdminLastName = true && that.isSetTenantAdminLastName();
+    if (this_present_tenantAdminLastName || that_present_tenantAdminLastName) {
+      if (!(this_present_tenantAdminLastName && that_present_tenantAdminLastName))
+        return false;
+      if (!this.tenantAdminLastName.equals(that.tenantAdminLastName))
+        return false;
+    }
+
+    boolean this_present_tenantAdminEmail = true && this.isSetTenantAdminEmail();
+    boolean that_present_tenantAdminEmail = true && that.isSetTenantAdminEmail();
+    if (this_present_tenantAdminEmail || that_present_tenantAdminEmail) {
+      if (!(this_present_tenantAdminEmail && that_present_tenantAdminEmail))
+        return false;
+      if (!this.tenantAdminEmail.equals(that.tenantAdminEmail))
+        return false;
+    }
+
+    boolean this_present_identityServerUserName = true && this.isSetIdentityServerUserName();
+    boolean that_present_identityServerUserName = true && that.isSetIdentityServerUserName();
+    if (this_present_identityServerUserName || that_present_identityServerUserName) {
+      if (!(this_present_identityServerUserName && that_present_identityServerUserName))
+        return false;
+      if (!this.identityServerUserName.equals(that.identityServerUserName))
+        return false;
+    }
+
+    boolean this_present_identityServerPasswordToken = true && this.isSetIdentityServerPasswordToken();
+    boolean that_present_identityServerPasswordToken = true && that.isSetIdentityServerPasswordToken();
+    if (this_present_identityServerPasswordToken || that_present_identityServerPasswordToken) {
+      if (!(this_present_identityServerPasswordToken && that_present_identityServerPasswordToken))
+        return false;
+      if (!this.identityServerPasswordToken.equals(that.identityServerPasswordToken))
+        return false;
+    }
+
+    boolean this_present_declinedReason = true && this.isSetDeclinedReason();
+    boolean that_present_declinedReason = true && that.isSetDeclinedReason();
+    if (this_present_declinedReason || that_present_declinedReason) {
+      if (!(this_present_declinedReason && that_present_declinedReason))
+        return false;
+      if (!this.declinedReason.equals(that.declinedReason))
+        return false;
+    }
+
+    boolean this_present_oauthClientId = true && this.isSetOauthClientId();
+    boolean that_present_oauthClientId = true && that.isSetOauthClientId();
+    if (this_present_oauthClientId || that_present_oauthClientId) {
+      if (!(this_present_oauthClientId && that_present_oauthClientId))
+        return false;
+      if (!this.oauthClientId.equals(that.oauthClientId))
+        return false;
+    }
+
+    boolean this_present_oauthClientSecret = true && this.isSetOauthClientSecret();
+    boolean that_present_oauthClientSecret = true && that.isSetOauthClientSecret();
+    if (this_present_oauthClientSecret || that_present_oauthClientSecret) {
+      if (!(this_present_oauthClientSecret && that_present_oauthClientSecret))
+        return false;
+      if (!this.oauthClientSecret.equals(that.oauthClientSecret))
+        return false;
+    }
+
+    boolean this_present_requestCreationTime = true && this.isSetRequestCreationTime();
+    boolean that_present_requestCreationTime = true && that.isSetRequestCreationTime();
+    if (this_present_requestCreationTime || that_present_requestCreationTime) {
+      if (!(this_present_requestCreationTime && that_present_requestCreationTime))
+        return false;
+      if (this.requestCreationTime != that.requestCreationTime)
+        return false;
+    }
+
+    boolean this_present_requesterUsername = true && this.isSetRequesterUsername();
+    boolean that_present_requesterUsername = true && that.isSetRequesterUsername();
+    if (this_present_requesterUsername || that_present_requesterUsername) {
+      if (!(this_present_requesterUsername && that_present_requesterUsername))
+        return false;
+      if (!this.requesterUsername.equals(that.requesterUsername))
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    List<Object> list = new ArrayList<Object>();
+
+    boolean present_tenantId = true && (isSetTenantId());
+    list.add(present_tenantId);
+    if (present_tenantId)
+      list.add(tenantId);
+
+    boolean present_tenantApprovalStatus = true && (isSetTenantApprovalStatus());
+    list.add(present_tenantApprovalStatus);
+    if (present_tenantApprovalStatus)
+      list.add(tenantApprovalStatus.getValue());
+
+    boolean present_tenantName = true && (isSetTenantName());
+    list.add(present_tenantName);
+    if (present_tenantName)
+      list.add(tenantName);
+
+    boolean present_domain = true && (isSetDomain());
+    list.add(present_domain);
+    if (present_domain)
+      list.add(domain);
+
+    boolean present_emailAddress = true && (isSetEmailAddress());
+    list.add(present_emailAddress);
+    if (present_emailAddress)
+      list.add(emailAddress);
+
+    boolean present_tenantAcronym = true && (isSetTenantAcronym());
+    list.add(present_tenantAcronym);
+    if (present_tenantAcronym)
+      list.add(tenantAcronym);
+
+    boolean present_tenantURL = true && (isSetTenantURL());
+    list.add(present_tenantURL);
+    if (present_tenantURL)
+      list.add(tenantURL);
+
+    boolean present_tenantPublicAbstract = true && (isSetTenantPublicAbstract());
+    list.add(present_tenantPublicAbstract);
+    if (present_tenantPublicAbstract)
+      list.add(tenantPublicAbstract);
+
+    boolean present_reviewProposalDescription = true && (isSetReviewProposalDescription());
+    list.add(present_reviewProposalDescription);
+    if (present_reviewProposalDescription)
+      list.add(reviewProposalDescription);
+
+    boolean present_tenantAdminFirstName = true && (isSetTenantAdminFirstName());
+    list.add(present_tenantAdminFirstName);
+    if (present_tenantAdminFirstName)
+      list.add(tenantAdminFirstName);
+
+    boolean present_tenantAdminLastName = true && (isSetTenantAdminLastName());
+    list.add(present_tenantAdminLastName);
+    if (present_tenantAdminLastName)
+      list.add(tenantAdminLastName);
+
+    boolean present_tenantAdminEmail = true && (isSetTenantAdminEmail());
+    list.add(present_tenantAdminEmail);
+    if (present_tenantAdminEmail)
+      list.add(tenantAdminEmail);
+
+    boolean present_identityServerUserName = true && (isSetIdentityServerUserName());
+    list.add(present_identityServerUserName);
+    if (present_identityServerUserName)
+      list.add(identityServerUserName);
+
+    boolean present_identityServerPasswordToken = true && (isSetIdentityServerPasswordToken());
+    list.add(present_identityServerPasswordToken);
+    if (present_identityServerPasswordToken)
+      list.add(identityServerPasswordToken);
+
+    boolean present_declinedReason = true && (isSetDeclinedReason());
+    list.add(present_declinedReason);
+    if (present_declinedReason)
+      list.add(declinedReason);
+
+    boolean present_oauthClientId = true && (isSetOauthClientId());
+    list.add(present_oauthClientId);
+    if (present_oauthClientId)
+      list.add(oauthClientId);
+
+    boolean present_oauthClientSecret = true && (isSetOauthClientSecret());
+    list.add(present_oauthClientSecret);
+    if (present_oauthClientSecret)
+      list.add(oauthClientSecret);
+
+    boolean present_requestCreationTime = true && (isSetRequestCreationTime());
+    list.add(present_requestCreationTime);
+    if (present_requestCreationTime)
+      list.add(requestCreationTime);
+
+    boolean present_requesterUsername = true && (isSetRequesterUsername());
+    list.add(present_requesterUsername);
+    if (present_requesterUsername)
+      list.add(requesterUsername);
+
+    return list.hashCode();
+  }
+
+  @Override
+  public int compareTo(Tenant other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+
+    lastComparison = Boolean.valueOf(isSetTenantId()).compareTo(other.isSetTenantId());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetTenantId()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.tenantId, other.tenantId);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetTenantApprovalStatus()).compareTo(other.isSetTenantApprovalStatus());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetTenantApprovalStatus()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.tenantApprovalStatus, other.tenantApprovalStatus);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetTenantName()).compareTo(other.isSetTenantName());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetTenantName()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.tenantName, other.tenantName);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetDomain()).compareTo(other.isSetDomain());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetDomain()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.domain, other.domain);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetEmailAddress()).compareTo(other.isSetEmailAddress());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetEmailAddress()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.emailAddress, other.emailAddress);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetTenantAcronym()).compareTo(other.isSetTenantAcronym());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetTenantAcronym()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.tenantAcronym, other.tenantAcronym);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetTenantURL()).compareTo(other.isSetTenantURL());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetTenantURL()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.tenantURL, other.tenantURL);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetTenantPublicAbstract()).compareTo(other.isSetTenantPublicAbstract());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetTenantPublicAbstract()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.tenantPublicAbstract, other.tenantPublicAbstract);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetReviewProposalDescription()).compareTo(other.isSetReviewProposalDescription());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetReviewProposalDescription()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.reviewProposalDescription, other.reviewProposalDescription);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetTenantAdminFirstName()).compareTo(other.isSetTenantAdminFirstName());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetTenantAdminFirstName()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.tenantAdminFirstName, other.tenantAdminFirstName);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetTenantAdminLastName()).compareTo(other.isSetTenantAdminLastName());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetTenantAdminLastName()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.tenantAdminLastName, other.tenantAdminLastName);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetTenantAdminEmail()).compareTo(other.isSetTenantAdminEmail());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetTenantAdminEmail()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.tenantAdminEmail, other.tenantAdminEmail);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetIdentityServerUserName()).compareTo(other.isSetIdentityServerUserName());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetIdentityServerUserName()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.identityServerUserName, other.identityServerUserName);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetIdentityServerPasswordToken()).compareTo(other.isSetIdentityServerPasswordToken());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetIdentityServerPasswordToken()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.identityServerPasswordToken, other.identityServerPasswordToken);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetDeclinedReason()).compareTo(other.isSetDeclinedReason());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetDeclinedReason()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.declinedReason, other.declinedReason);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetOauthClientId()).compareTo(other.isSetOauthClientId());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetOauthClientId()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.oauthClientId, other.oauthClientId);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetOauthClientSecret()).compareTo(other.isSetOauthClientSecret());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetOauthClientSecret()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.oauthClientSecret, other.oauthClientSecret);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetRequestCreationTime()).compareTo(other.isSetRequestCreationTime());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetRequestCreationTime()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.requestCreationTime, other.requestCreationTime);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetRequesterUsername()).compareTo(other.isSetRequesterUsername());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetRequesterUsername()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.requesterUsername, other.requesterUsername);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    return 0;
+  }
+
+  public _Fields fieldForId(int fieldId) {
+    return _Fields.findByThriftId(fieldId);
+  }
+
+  public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+    schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
+  }
+
+  public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+    schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
+  }
+
+  @Override
+  public String toString() {
+    StringBuilder sb = new StringBuilder("Tenant(");
+    boolean first = true;
+
+    sb.append("tenantId:");
+    if (this.tenantId == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.tenantId);
+    }
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("tenantApprovalStatus:");
+    if (this.tenantApprovalStatus == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.tenantApprovalStatus);
+    }
+    first = false;
+    if (isSetTenantName()) {
+      if (!first) sb.append(", ");
+      sb.append("tenantName:");
+      if (this.tenantName == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.tenantName);
+      }
+      first = false;
+    }
+    if (isSetDomain()) {
+      if (!first) sb.append(", ");
+      sb.append("domain:");
+      if (this.domain == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.domain);
+      }
+      first = false;
+    }
+    if (isSetEmailAddress()) {
+      if (!first) sb.append(", ");
+      sb.append("emailAddress:");
+      if (this.emailAddress == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.emailAddress);
+      }
+      first = false;
+    }
+    if (isSetTenantAcronym()) {
+      if (!first) sb.append(", ");
+      sb.append("tenantAcronym:");
+      if (this.tenantAcronym == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.tenantAcronym);
+      }
+      first = false;
+    }
+    if (isSetTenantURL()) {
+      if (!first) sb.append(", ");
+      sb.append("tenantURL:");
+      if (this.tenantURL == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.tenantURL);
+      }
+      first = false;
+    }
+    if (isSetTenantPublicAbstract()) {
+      if (!first) sb.append(", ");
+      sb.append("tenantPublicAbstract:");
+      if (this.tenantPublicAbstract == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.tenantPublicAbstract);
+      }
+      first = false;
+    }
+    if (isSetReviewProposalDescription()) {
+      if (!first) sb.append(", ");
+      sb.append("reviewProposalDescription:");
+      if (this.reviewProposalDescription == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.reviewProposalDescription);
+      }
+      first = false;
+    }
+    if (isSetTenantAdminFirstName()) {
+      if (!first) sb.append(", ");
+      sb.append("tenantAdminFirstName:");
+      if (this.tenantAdminFirstName == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.tenantAdminFirstName);
+      }
+      first = false;
+    }
+    if (isSetTenantAdminLastName()) {
+      if (!first) sb.append(", ");
+      sb.append("tenantAdminLastName:");
+      if (this.tenantAdminLastName == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.tenantAdminLastName);
+      }
+      first = false;
+    }
+    if (isSetTenantAdminEmail()) {
+      if (!first) sb.append(", ");
+      sb.append("tenantAdminEmail:");
+      if (this.tenantAdminEmail == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.tenantAdminEmail);
+      }
+      first = false;
+    }
+    if (isSetIdentityServerUserName()) {
+      if (!first) sb.append(", ");
+      sb.append("identityServerUserName:");
+      if (this.identityServerUserName == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.identityServerUserName);
+      }
+      first = false;
+    }
+    if (isSetIdentityServerPasswordToken()) {
+      if (!first) sb.append(", ");
+      sb.append("identityServerPasswordToken:");
+      if (this.identityServerPasswordToken == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.identityServerPasswordToken);
+      }
+      first = false;
+    }
+    if (isSetDeclinedReason()) {
+      if (!first) sb.append(", ");
+      sb.append("declinedReason:");
+      if (this.declinedReason == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.declinedReason);
+      }
+      first = false;
+    }
+    if (isSetOauthClientId()) {
+      if (!first) sb.append(", ");
+      sb.append("oauthClientId:");
+      if (this.oauthClientId == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.oauthClientId);
+      }
+      first = false;
+    }
+    if (isSetOauthClientSecret()) {
+      if (!first) sb.append(", ");
+      sb.append("oauthClientSecret:");
+      if (this.oauthClientSecret == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.oauthClientSecret);
+      }
+      first = false;
+    }
+    if (isSetRequestCreationTime()) {
+      if (!first) sb.append(", ");
+      sb.append("requestCreationTime:");
+      sb.append(this.requestCreationTime);
+      first = false;
+    }
+    if (isSetRequesterUsername()) {
+      if (!first) sb.append(", ");
+      sb.append("requesterUsername:");
+      if (this.requesterUsername == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.requesterUsername);
+      }
+      first = false;
+    }
+    sb.append(")");
+    return sb.toString();
+  }
+
+  public void validate() throws org.apache.thrift.TException {
+    // check for required fields
+    if (!isSetTenantId()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'tenantId' is unset! Struct:" + toString());
+    }
+
+    if (!isSetTenantApprovalStatus()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'tenantApprovalStatus' is unset! Struct:" + toString());
+    }
+
+    // check for sub-struct validity
+  }
+
+  private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+    try {
+      write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+    } catch (org.apache.thrift.TException te) {
+      throw new java.io.IOException(te);
+    }
+  }
+
+  private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
+    try {
+      // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
+      __isset_bitfield = 0;
+      read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+    } catch (org.apache.thrift.TException te) {
+      throw new java.io.IOException(te);
+    }
+  }
+
+  private static class TenantStandardSchemeFactory implements SchemeFactory {
+    public TenantStandardScheme getScheme() {
+      return new TenantStandardScheme();
+    }
+  }
+
+  private static class TenantStandardScheme extends StandardScheme<Tenant> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, Tenant struct) throws org.apache.thrift.TException {
+      org.apache.thrift.protocol.TField schemeField;
+      iprot.readStructBegin();
+      while (true)
+      {
+        schemeField = iprot.readFieldBegin();
+        if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+          break;
+        }
+        switch (schemeField.id) {
+          case 1: // TENANT_ID
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.tenantId = iprot.readString();
+              struct.setTenantIdIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // TENANT_APPROVAL_STATUS
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.tenantApprovalStatus = org.apache.airavata.model.tenant.TenantApprovalStatus.findByValue(iprot.readI32());
+              struct.setTenantApprovalStatusIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 3: // TENANT_NAME
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.tenantName = iprot.readString();
+              struct.setTenantNameIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 4: // DOMAIN
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.domain = iprot.readString();
+              struct.setDomainIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 5: // EMAIL_ADDRESS
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.emailAddress = iprot.readString();
+              struct.setEmailAddressIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 6: // TENANT_ACRONYM
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.tenantAcronym = iprot.readString();
+              struct.setTenantAcronymIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 7: // TENANT_URL
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.tenantURL = iprot.readString();
+              struct.setTenantURLIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 8: // TENANT_PUBLIC_ABSTRACT
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.tenantPublicAbstract = iprot.readString();
+              struct.setTenantPublicAbstractIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 9: // REVIEW_PROPOSAL_DESCRIPTION
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.reviewProposalDescription = iprot.readString();
+              struct.setReviewProposalDescriptionIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 10: // TENANT_ADMIN_FIRST_NAME
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.tenantAdminFirstName = iprot.readString();
+              struct.setTenantAdminFirstNameIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 11: // TENANT_ADMIN_LAST_NAME
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.tenantAdminLastName = iprot.readString();
+              struct.setTenantAdminLastNameIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 12: // TENANT_ADMIN_EMAIL
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.tenantAdminEmail = iprot.readString();
+              struct.setTenantAdminEmailIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 13: // IDENTITY_SERVER_USER_NAME
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.identityServerUserName = iprot.readString();
+              struct.setIdentityServerUserNameIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 14: // IDENTITY_SERVER_PASSWORD_TOKEN
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.identityServerPasswordToken = iprot.readString();
+              struct.setIdentityServerPasswordTokenIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 15: // DECLINED_REASON
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.declinedReason = iprot.readString();
+              struct.setDeclinedReasonIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 16: // OAUTH_CLIENT_ID
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.oauthClientId = iprot.readString();
+              struct.setOauthClientIdIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 17: // OAUTH_CLIENT_SECRET
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.oauthClientSecret = iprot.readString();
+              struct.setOauthClientSecretIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 18: // REQUEST_CREATION_TIME
+            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
+              struct.requestCreationTime = iprot.readI64();
+              struct.setRequestCreationTimeIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 19: // REQUESTER_USERNAME
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.requesterUsername = iprot.readString();
+              struct.setRequesterUsernameIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          default:
+            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+        }
+        iprot.readFieldEnd();
+      }
+      iprot.readStructEnd();
+      struct.validate();
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot, Tenant struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.tenantId != null) {
+        oprot.writeFieldBegin(TENANT_ID_FIELD_DESC);
+        oprot.writeString(struct.tenantId);
+        oprot.writeFieldEnd();
+      }
+      if (struct.tenantApprovalStatus != null) {
+        oprot.writeFieldBegin(TENANT_APPROVAL_STATUS_FIELD_DESC);
+        oprot.writeI32(struct.tenantApprovalStatus.getValue());
+        oprot.writeFieldEnd();
+      }
+      if (struct.tenantName != null) {
+        if (struct.isSetTenantName()) {
+          oprot.writeFieldBegin(TENANT_NAME_FIELD_DESC);
+          oprot.writeString(struct.tenantName);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.domain != null) {
+        if (struct.isSetDomain()) {
+          oprot.writeFieldBegin(DOMAIN_FIELD_DESC);
+          oprot.writeString(struct.domain);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.emailAddress != null) {
+        if (struct.isSetEmailAddress()) {
+          oprot.writeFieldBegin(EMAIL_ADDRESS_FIELD_DESC);
+          oprot.writeString(struct.emailAddress);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.tenantAcronym != null) {
+        if (struct.isSetTenantAcronym()) {
+          oprot.writeFieldBegin(TENANT_ACRONYM_FIELD_DESC);
+          oprot.writeString(struct.tenantAcronym);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.tenantURL != null) {
+        if (struct.isSetTenantURL()) {
+          oprot.writeFieldBegin(TENANT_URL_FIELD_DESC);
+          oprot.writeString(struct.tenantURL);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.tenantPublicAbstract != null) {
+        if (struct.isSetTenantPublicAbstract()) {
+          oprot.writeFieldBegin(TENANT_PUBLIC_ABSTRACT_FIELD_DESC);
+          oprot.writeString(struct.tenantPublicAbstract);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.reviewProposalDescription != null) {
+        if (struct.isSetReviewProposalDescription()) {
+          oprot.writeFieldBegin(REVIEW_PROPOSAL_DESCRIPTION_FIELD_DESC);
+          oprot.writeString(struct.reviewProposalDescription);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.tenantAdminFirstName != null) {
+        if (struct.isSetTenantAdminFirstName()) {
+          oprot.writeFieldBegin(TENANT_ADMIN_FIRST_NAME_FIELD_DESC);
+          oprot.writeString(struct.tenantAdminFirstName);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.tenantAdminLastName != null) {
+        if (struct.isSetTenantAdminLastName()) {
+          oprot.writeFieldBegin(TENANT_ADMIN_LAST_NAME_FIELD_DESC);
+          oprot.writeString(struct.tenantAdminLastName);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.tenantAdminEmail != null) {
+        if (struct.isSetTenantAdminEmail()) {
+          oprot.writeFieldBegin(TENANT_ADMIN_EMAIL_FIELD_DESC);
+          oprot.writeString(struct.tenantAdminEmail);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.identityServerUserName != null) {
+        if (struct.isSetIdentityServerUserName()) {
+          oprot.writeFieldBegin(IDENTITY_SERVER_USER_NAME_FIELD_DESC);
+          oprot.writeString(struct.identityServerUserName);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.identityServerPasswordToken != null) {
+        if (struct.isSetIdentityServerPasswordToken()) {
+          oprot.writeFieldBegin(IDENTITY_SERVER_PASSWORD_TOKEN_FIELD_DESC);
+          oprot.writeString(struct.identityServerPasswordToken);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.declinedReason != null) {
+        if (struct.isSetDeclinedReason()) {
+          oprot.writeFieldBegin(DECLINED_REASON_FIELD_DESC);
+          oprot.writeString(struct.declinedReason);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.oauthClientId != null) {
+        if (struct.isSetOauthClientId()) {
+          oprot.writeFieldBegin(OAUTH_CLIENT_ID_FIELD_DESC);
+          oprot.writeString(struct.oauthClientId);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.oauthClientSecret != null) {
+        if (struct.isSetOauthClientSecret()) {
+          oprot.writeFieldBegin(OAUTH_CLIENT_SECRET_FIELD_DESC);
+          oprot.writeString(struct.oauthClientSecret);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.isSetRequestCreationTime()) {
+        oprot.writeFieldBegin(REQUEST_CREATION_TIME_FIELD_DESC);
+        oprot.writeI64(struct.requestCreationTime);
+        oprot.writeFieldEnd();
+      }
+      if (struct.requesterUsername != null) {
+        if (struct.isSetRequesterUsername()) {
+          oprot.writeFieldBegin(REQUESTER_USERNAME_FIELD_DESC);
+          oprot.writeString(struct.requesterUsername);
+          oprot.writeFieldEnd();
+        }
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class TenantTupleSchemeFactory implements SchemeFactory {
+    public TenantTupleScheme getScheme() {
+      return new TenantTupleScheme();
+    }
+  }
+
+  private static class TenantTupleScheme extends TupleScheme<Tenant> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, Tenant struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      oprot.writeString(struct.tenantId);
+      oprot.writeI32(struct.tenantApprovalStatus.getValue());
+      BitSet optionals = new BitSet();
+      if (struct.isSetTenantName()) {
+        optionals.set(0);
+      }
+      if (struct.isSetDomain()) {
+        optionals.set(1);
+      }
+      if (struct.isSetEmailAddress()) {
+        optionals.set(2);
+      }
+      if (struct.isSetTenantAcronym()) {
+        optionals.set(3);
+      }
+      if (struct.isSetTenantURL()) {
+        optionals.set(4);
+      }
+      if (struct.isSetTenantPublicAbstract()) {
+        optionals.set(5);
+      }
+      if (struct.isSetReviewProposalDescription()) {
+        optionals.set(6);
+      }
+      if (struct.isSetTenantAdminFirstName()) {
+        optionals.set(7);
+      }
+      if (struct.isSetTenantAdminLastName()) {
+        optionals.set(8);
+      }
+      if (struct.isSetTenantAdminEmail()) {
+        optionals.set(9);
+      }
+      if (struct.isSetIdentityServerUserName()) {
+        optionals.set(10);
+      }
+      if (struct.isSetIdentityServerPasswordToken()) {
+        optionals.set(11);
+      }
+      if (struct.isSetDeclinedReason()) {
+        optionals.set(12);
+      }
+      if (struct.isSetOauthClientId()) {
+        optionals.set(13);
+      }
+      if (struct.isSetOauthClientSecret()) {
+        optionals.set(14);
+      }
+      if (struct.isSetRequestCreationTime()) {
+        optionals.set(15);
+      }
+      if (struct.isSetRequesterUsername()) {
+        optionals.set(16);
+      }
+      oprot.writeBitSet(optionals, 17);
+      if (struct.isSetTenantName()) {
+        oprot.writeString(struct.tenantName);
+      }
+      if (struct.isSetDomain()) {
+        oprot.writeString(struct.domain);
+      }
+      if (struct.isSetEmailAddress()) {
+        oprot.writeString(struct.emailAddress);
+      }
+      if (struct.isSetTenantAcronym()) {
+        oprot.writeString(struct.tenantAcronym);
+      }
+      if (struct.isSetTenantURL()) {
+        oprot.writeString(struct.tenantURL);
+      }
+      if (struct.isSetTenantPublicAbstract()) {
+        oprot.writeString(struct.tenantPublicAbstract);
+      }
+      if (struct.isSetReviewProposalDescription()) {
+        oprot.writeString(struct.reviewProposalDescription);
+      }
+      if (struct.isSetTenantAdminFirstName()) {
+        oprot.writeString(struct.tenantAdminFirstName);
+      }
+      if (struct.isSetTenantAdminLastName()) {
+        oprot.writeString(struct.tenantAdminLastName);
+      }
+      if (struct.isSetTenantAdminEmail()) {
+        oprot.writeString(struct.tenantAdminEmail);
+      }
+      if (struct.isSetIdentityServerUserName()) {
+        oprot.writeString(struct.identityServerUserName);
+      }
+      if (struct.isSetIdentityServerPasswordToken()) {
+        oprot.writeString(struct.identityServerPasswordToken);
+      }
+      if (struct.isSetDeclinedReason()) {
+        oprot.writeString(struct.declinedReason);
+      }
+      if (struct.isSetOauthClientId()) {
+        oprot.writeString(struct.oauthClientId);
+      }
+      if (struct.isSetOauthClientSecret()) {
+        oprot.writeString(struct.oauthClientSecret);
+      }
+      if (struct.isSetRequestCreationTime()) {
+        oprot.writeI64(struct.requestCreationTime);
+      }
+      if (struct.isSetRequesterUsername()) {
+        oprot.writeString(struct.requesterUsername);
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, Tenant struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      struct.tenantId = iprot.readString();
+      struct.setTenantIdIsSet(true);
+      struct.tenantApprovalStatus = org.apache.airavata.model.tenant.TenantApprovalStatus.findByValue(iprot.readI32());
+      struct.setTenantApprovalStatusIsSet(true);
+      BitSet incoming = iprot.readBitSet(17);
+      if (incoming.get(0)) {
+        struct.tenantName = iprot.readString();
+        struct.setTenantNameIsSet(true);
+      }
+      if (incoming.get(1)) {
+        struct.domain = iprot.readString();
+        struct.setDomainIsSet(true);
+      }
+      if (incoming.get(2)) {
+        struct.emailAddress = iprot.readString();
+        struct.setEmailAddressIsSet(true);
+      }
+      if (incoming.get(3)) {
+        struct.tenantAcronym = iprot.readString();
+        struct.setTenantAcronymIsSet(true);
+      }
+      if (incoming.get(4)) {
+        struct.tenantURL = iprot.readString();
+        struct.setTenantURLIsSet(true);
+      }
+      if (incoming.get(5)) {
+        struct.tenantPublicAbstract = iprot.readString();
+        struct.setTenantPublicAbstractIsSet(true);
+      }
+      if (incoming.get(6)) {
+        struct.reviewProposalDescription = iprot.readString();
+        struct.setReviewProposalDescriptionIsSet(true);
+      }
+      if (incoming.get(7)) {
+        struct.tenantAdminFirstName = iprot.readString();
+        struct.setTenantAdminFirstNameIsSet(true);
+      }
+      if (incoming.get(8)) {
+        struct.tenantAdminLastName = iprot.readString();
+        struct.setTenantAdminLastNameIsSet(true);
+      }
+      if (incoming.get(9)) {
+        struct.tenantAdminEmail = iprot.readString();
+        struct.setTenantAdminEmailIsSet(true);
+      }
+      if (incoming.get(10)) {
+        struct.identityServerUserName = iprot.readString();
+        struct.setIdentityServerUserNameIsSet(true);
+      }
+      if (incoming.get(11)) {
+        struct.identityServerPasswordToken = iprot.readString();
+        struct.setIdentityServerPasswordTokenIsSet(true);
+      }
+      if (incoming.get(12)) {
+        struct.declinedReason = iprot.readString();
+        struct.setDeclinedReasonIsSet(true);
+      }
+      if (incoming.get(13)) {
+        struct.oauthClientId = iprot.readString();
+        struct.setOauthClientIdIsSet(true);
+      }
+      if (incoming.get(14)) {
+        struct.oauthClientSecret = iprot.readString();
+        struct.setOauthClientSecretIsSet(true);
+      }
+      if (incoming.get(15)) {
+        struct.requestCreationTime = iprot.readI64();
+        struct.setRequestCreationTimeIsSet(true);
+      }
+      if (incoming.get(16)) {
+        struct.requesterUsername = iprot.readString();
+        struct.setRequesterUsernameIsSet(true);
+      }
+    }
+  }
+
+}
+


[46/50] [abbrv] airavata git commit: making database level changes for supporting custom node/cpu/walltime configurations

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/56bc4bee/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 23df7a4..9c20f39 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
@@ -4206,74 +4206,7 @@ interface AiravataIf {
   public function getAllUserProfilesInGateway(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $offset, $limit);
   /**
    * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $userName
-   * @param string $gatewayId
-   * @return \Airavata\Model\User\UserProfile * A structure holding the user profile and its child models.
-   * *
-   * * Notes:
-   * *  The model does not include passwords as it is assumed an external identity provider is used to authenticate user.
-   * *  References:
-   * *     NSF Demographic Information - http://www.nsf.gov/pubs/2000/00form1225/00form1225.doc
-   * *     LDAP Schema - https://tools.ietf.org/html/rfc4519
-   * *     SCIM 2.0 - https://tools.ietf.org/html/rfc7643
-   * *
-   * * userModelVersion:
-   * *  Version number of profile
-   * *
-   * * airavataInternalUserId:
-   * *  internal to Airavata, not intended to be used outside of the Airavata platform or possibly by gateways
-   * *  (that is, never shown to users), never reassigned, REQUIRED
-   * *
-   * * userId:
-   * *  Externally assertable unique identifier. SAML (primarly in higher education, academic) tends to keep
-   * *   user name less opaque. OpenID Connect maintains them to be opaque.
-   * *
-   * * firstName, middleName, lastName:
-   * *  First and Last names as assertede by the user
-   * *
-   * * namePrefix, nameSuffix:
-   * *  prefix and suffix to the users name as asserted by the user
-   * *
-   * * emails:
-   * *   Email identifier are Verified, REQUIRED and MULTIVALUED
-   * *
-   * * userName:
-   * *  Name-based identifiers can be multivalues. To keep it simple, Airavata will make it a string.
-   * *   In the future these can be enumerated as:
-   *     *   Official name (as asserted possibly by some external identity provider)
-   *     *   Prefered name (as asserted or suggested by user directly)
-   *     *   Components:
-   *     *      givenName
-   *     *      surname (familyName)
-   *     *      displayName (often asserted by user to handle things like middle names, suffix, prefix, and the like)
-   * *
-   * * orcidId: ORCID ID - http://orcid.org/about/what-is-orcid)
-   * *
-   * * phones: Telephone MULTIVALUED
-   * *
-   * * country: Country of Residance
-   * *
-   * * nationality Countries of citizenship
-   * *
-   * * comments:
-   * *   Free-form information (treated as opaque by Airavata and simply passed to resource).
-   * *
-   * * labeledURI:
-   *   * Google Scholar, Web of Science, ACS, e.t.c
-   * *
-   * * timeZone:
-   * *  User’s preferred timezone - IANA Timezone Databases - http://www.iana.org/time-zones.
-   * *
-   * 
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function getUserProfileByName(\Airavata\Model\Security\AuthzToken $authzToken, $userName, $gatewayId);
-  /**
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $userName
+   * @param string $userId
    * @param string $gatewayId
    * @return bool
    * @throws \Airavata\API\Error\InvalidRequestException
@@ -4281,7 +4214,7 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\AiravataSystemException
    * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function doesUserProfileExist(\Airavata\Model\Security\AuthzToken $authzToken, $userName, $gatewayId);
+  public function doesUserProfileExist(\Airavata\Model\Security\AuthzToken $authzToken, $userId, $gatewayId);
 }
 
 class AiravataClient implements \Airavata\API\AiravataIf {
@@ -15565,82 +15498,17 @@ class AiravataClient implements \Airavata\API\AiravataIf {
     throw new \Exception("getAllUserProfilesInGateway failed: unknown result");
   }
 
-  public function getUserProfileByName(\Airavata\Model\Security\AuthzToken $authzToken, $userName, $gatewayId)
-  {
-    $this->send_getUserProfileByName($authzToken, $userName, $gatewayId);
-    return $this->recv_getUserProfileByName();
-  }
-
-  public function send_getUserProfileByName(\Airavata\Model\Security\AuthzToken $authzToken, $userName, $gatewayId)
-  {
-    $args = new \Airavata\API\Airavata_getUserProfileByName_args();
-    $args->authzToken = $authzToken;
-    $args->userName = $userName;
-    $args->gatewayId = $gatewayId;
-    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
-    if ($bin_accel)
-    {
-      thrift_protocol_write_binary($this->output_, 'getUserProfileByName', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
-    }
-    else
-    {
-      $this->output_->writeMessageBegin('getUserProfileByName', TMessageType::CALL, $this->seqid_);
-      $args->write($this->output_);
-      $this->output_->writeMessageEnd();
-      $this->output_->getTransport()->flush();
-    }
-  }
-
-  public function recv_getUserProfileByName()
-  {
-    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
-    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_getUserProfileByName_result', $this->input_->isStrictRead());
-    else
-    {
-      $rseqid = 0;
-      $fname = null;
-      $mtype = 0;
-
-      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
-      if ($mtype == TMessageType::EXCEPTION) {
-        $x = new TApplicationException();
-        $x->read($this->input_);
-        $this->input_->readMessageEnd();
-        throw $x;
-      }
-      $result = new \Airavata\API\Airavata_getUserProfileByName_result();
-      $result->read($this->input_);
-      $this->input_->readMessageEnd();
-    }
-    if ($result->success !== null) {
-      return $result->success;
-    }
-    if ($result->ire !== null) {
-      throw $result->ire;
-    }
-    if ($result->ace !== null) {
-      throw $result->ace;
-    }
-    if ($result->ase !== null) {
-      throw $result->ase;
-    }
-    if ($result->ae !== null) {
-      throw $result->ae;
-    }
-    throw new \Exception("getUserProfileByName failed: unknown result");
-  }
-
-  public function doesUserProfileExist(\Airavata\Model\Security\AuthzToken $authzToken, $userName, $gatewayId)
+  public function doesUserProfileExist(\Airavata\Model\Security\AuthzToken $authzToken, $userId, $gatewayId)
   {
-    $this->send_doesUserProfileExist($authzToken, $userName, $gatewayId);
+    $this->send_doesUserProfileExist($authzToken, $userId, $gatewayId);
     return $this->recv_doesUserProfileExist();
   }
 
-  public function send_doesUserProfileExist(\Airavata\Model\Security\AuthzToken $authzToken, $userName, $gatewayId)
+  public function send_doesUserProfileExist(\Airavata\Model\Security\AuthzToken $authzToken, $userId, $gatewayId)
   {
     $args = new \Airavata\API\Airavata_doesUserProfileExist_args();
     $args->authzToken = $authzToken;
-    $args->userName = $userName;
+    $args->userId = $userId;
     $args->gatewayId = $gatewayId;
     $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
     if ($bin_accel)
@@ -69065,312 +68933,6 @@ class Airavata_getAllUserProfilesInGateway_result {
 
 }
 
-class Airavata_getUserProfileByName_args {
-  static $_TSPEC;
-
-  /**
-   * @var \Airavata\Model\Security\AuthzToken
-   */
-  public $authzToken = null;
-  /**
-   * @var string
-   */
-  public $userName = null;
-  /**
-   * @var string
-   */
-  public $gatewayId = null;
-
-  public function __construct($vals=null) {
-    if (!isset(self::$_TSPEC)) {
-      self::$_TSPEC = array(
-        1 => array(
-          'var' => 'authzToken',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\Model\Security\AuthzToken',
-          ),
-        2 => array(
-          'var' => 'userName',
-          'type' => TType::STRING,
-          ),
-        3 => array(
-          'var' => 'gatewayId',
-          'type' => TType::STRING,
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['authzToken'])) {
-        $this->authzToken = $vals['authzToken'];
-      }
-      if (isset($vals['userName'])) {
-        $this->userName = $vals['userName'];
-      }
-      if (isset($vals['gatewayId'])) {
-        $this->gatewayId = $vals['gatewayId'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'Airavata_getUserProfileByName_args';
-  }
-
-  public function read($input)
-  {
-    $xfer = 0;
-    $fname = null;
-    $ftype = 0;
-    $fid = 0;
-    $xfer += $input->readStructBegin($fname);
-    while (true)
-    {
-      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
-      if ($ftype == TType::STOP) {
-        break;
-      }
-      switch ($fid)
-      {
-        case 1:
-          if ($ftype == TType::STRUCT) {
-            $this->authzToken = new \Airavata\Model\Security\AuthzToken();
-            $xfer += $this->authzToken->read($input);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 2:
-          if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->userName);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 3:
-          if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->gatewayId);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        default:
-          $xfer += $input->skip($ftype);
-          break;
-      }
-      $xfer += $input->readFieldEnd();
-    }
-    $xfer += $input->readStructEnd();
-    return $xfer;
-  }
-
-  public function write($output) {
-    $xfer = 0;
-    $xfer += $output->writeStructBegin('Airavata_getUserProfileByName_args');
-    if ($this->authzToken !== null) {
-      if (!is_object($this->authzToken)) {
-        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
-      }
-      $xfer += $output->writeFieldBegin('authzToken', TType::STRUCT, 1);
-      $xfer += $this->authzToken->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->userName !== null) {
-      $xfer += $output->writeFieldBegin('userName', TType::STRING, 2);
-      $xfer += $output->writeString($this->userName);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->gatewayId !== null) {
-      $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 3);
-      $xfer += $output->writeString($this->gatewayId);
-      $xfer += $output->writeFieldEnd();
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
-
-class Airavata_getUserProfileByName_result {
-  static $_TSPEC;
-
-  /**
-   * @var \Airavata\Model\User\UserProfile
-   */
-  public $success = null;
-  /**
-   * @var \Airavata\API\Error\InvalidRequestException
-   */
-  public $ire = null;
-  /**
-   * @var \Airavata\API\Error\AiravataClientException
-   */
-  public $ace = null;
-  /**
-   * @var \Airavata\API\Error\AiravataSystemException
-   */
-  public $ase = null;
-  /**
-   * @var \Airavata\API\Error\AuthorizationException
-   */
-  public $ae = null;
-
-  public function __construct($vals=null) {
-    if (!isset(self::$_TSPEC)) {
-      self::$_TSPEC = array(
-        0 => array(
-          'var' => 'success',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\Model\User\UserProfile',
-          ),
-        1 => array(
-          'var' => 'ire',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\API\Error\InvalidRequestException',
-          ),
-        2 => array(
-          'var' => 'ace',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\API\Error\AiravataClientException',
-          ),
-        3 => array(
-          'var' => 'ase',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\API\Error\AiravataSystemException',
-          ),
-        4 => array(
-          'var' => 'ae',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\API\Error\AuthorizationException',
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['success'])) {
-        $this->success = $vals['success'];
-      }
-      if (isset($vals['ire'])) {
-        $this->ire = $vals['ire'];
-      }
-      if (isset($vals['ace'])) {
-        $this->ace = $vals['ace'];
-      }
-      if (isset($vals['ase'])) {
-        $this->ase = $vals['ase'];
-      }
-      if (isset($vals['ae'])) {
-        $this->ae = $vals['ae'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'Airavata_getUserProfileByName_result';
-  }
-
-  public function read($input)
-  {
-    $xfer = 0;
-    $fname = null;
-    $ftype = 0;
-    $fid = 0;
-    $xfer += $input->readStructBegin($fname);
-    while (true)
-    {
-      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
-      if ($ftype == TType::STOP) {
-        break;
-      }
-      switch ($fid)
-      {
-        case 0:
-          if ($ftype == TType::STRUCT) {
-            $this->success = new \Airavata\Model\User\UserProfile();
-            $xfer += $this->success->read($input);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 1:
-          if ($ftype == TType::STRUCT) {
-            $this->ire = new \Airavata\API\Error\InvalidRequestException();
-            $xfer += $this->ire->read($input);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 2:
-          if ($ftype == TType::STRUCT) {
-            $this->ace = new \Airavata\API\Error\AiravataClientException();
-            $xfer += $this->ace->read($input);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 3:
-          if ($ftype == TType::STRUCT) {
-            $this->ase = new \Airavata\API\Error\AiravataSystemException();
-            $xfer += $this->ase->read($input);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 4:
-          if ($ftype == TType::STRUCT) {
-            $this->ae = new \Airavata\API\Error\AuthorizationException();
-            $xfer += $this->ae->read($input);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        default:
-          $xfer += $input->skip($ftype);
-          break;
-      }
-      $xfer += $input->readFieldEnd();
-    }
-    $xfer += $input->readStructEnd();
-    return $xfer;
-  }
-
-  public function write($output) {
-    $xfer = 0;
-    $xfer += $output->writeStructBegin('Airavata_getUserProfileByName_result');
-    if ($this->success !== null) {
-      if (!is_object($this->success)) {
-        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
-      }
-      $xfer += $output->writeFieldBegin('success', TType::STRUCT, 0);
-      $xfer += $this->success->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->ire !== null) {
-      $xfer += $output->writeFieldBegin('ire', TType::STRUCT, 1);
-      $xfer += $this->ire->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->ace !== null) {
-      $xfer += $output->writeFieldBegin('ace', TType::STRUCT, 2);
-      $xfer += $this->ace->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->ase !== null) {
-      $xfer += $output->writeFieldBegin('ase', TType::STRUCT, 3);
-      $xfer += $this->ase->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->ae !== null) {
-      $xfer += $output->writeFieldBegin('ae', TType::STRUCT, 4);
-      $xfer += $this->ae->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
-
 class Airavata_doesUserProfileExist_args {
   static $_TSPEC;
 
@@ -69381,7 +68943,7 @@ class Airavata_doesUserProfileExist_args {
   /**
    * @var string
    */
-  public $userName = null;
+  public $userId = null;
   /**
    * @var string
    */
@@ -69396,7 +68958,7 @@ class Airavata_doesUserProfileExist_args {
           'class' => '\Airavata\Model\Security\AuthzToken',
           ),
         2 => array(
-          'var' => 'userName',
+          'var' => 'userId',
           'type' => TType::STRING,
           ),
         3 => array(
@@ -69409,8 +68971,8 @@ class Airavata_doesUserProfileExist_args {
       if (isset($vals['authzToken'])) {
         $this->authzToken = $vals['authzToken'];
       }
-      if (isset($vals['userName'])) {
-        $this->userName = $vals['userName'];
+      if (isset($vals['userId'])) {
+        $this->userId = $vals['userId'];
       }
       if (isset($vals['gatewayId'])) {
         $this->gatewayId = $vals['gatewayId'];
@@ -69447,7 +69009,7 @@ class Airavata_doesUserProfileExist_args {
           break;
         case 2:
           if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->userName);
+            $xfer += $input->readString($this->userId);
           } else {
             $xfer += $input->skip($ftype);
           }
@@ -69480,9 +69042,9 @@ class Airavata_doesUserProfileExist_args {
       $xfer += $this->authzToken->write($output);
       $xfer += $output->writeFieldEnd();
     }
-    if ($this->userName !== null) {
-      $xfer += $output->writeFieldBegin('userName', TType::STRING, 2);
-      $xfer += $output->writeString($this->userName);
+    if ($this->userId !== null) {
+      $xfer += $output->writeFieldBegin('userId', TType::STRING, 2);
+      $xfer += $output->writeString($this->userId);
       $xfer += $output->writeFieldEnd();
     }
     if ($this->gatewayId !== null) {

http://git-wip-us.apache.org/repos/asf/airavata/blob/56bc4bee/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/AppDeployment/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/AppDeployment/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/AppDeployment/Types.php
index 03d1121..abcb322 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/AppDeployment/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/AppDeployment/Types.php
@@ -506,6 +506,10 @@ class ApplicationDeploymentDescription {
    */
   public $defaultCPUCount = null;
   /**
+   * @var int
+   */
+  public $defaultWalltime = null;
+  /**
    * @var bool
    */
   public $editableByUser = null;
@@ -604,6 +608,10 @@ class ApplicationDeploymentDescription {
           'type' => TType::I32,
           ),
         16 => array(
+          'var' => 'defaultWalltime',
+          'type' => TType::I32,
+          ),
+        17 => array(
           'var' => 'editableByUser',
           'type' => TType::BOOL,
           ),
@@ -655,6 +663,9 @@ class ApplicationDeploymentDescription {
       if (isset($vals['defaultCPUCount'])) {
         $this->defaultCPUCount = $vals['defaultCPUCount'];
       }
+      if (isset($vals['defaultWalltime'])) {
+        $this->defaultWalltime = $vals['defaultWalltime'];
+      }
       if (isset($vals['editableByUser'])) {
         $this->editableByUser = $vals['editableByUser'];
       }
@@ -852,6 +863,13 @@ class ApplicationDeploymentDescription {
           }
           break;
         case 16:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->defaultWalltime);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 17:
           if ($ftype == TType::BOOL) {
             $xfer += $input->readBool($this->editableByUser);
           } else {
@@ -1018,8 +1036,13 @@ class ApplicationDeploymentDescription {
       $xfer += $output->writeI32($this->defaultCPUCount);
       $xfer += $output->writeFieldEnd();
     }
+    if ($this->defaultWalltime !== null) {
+      $xfer += $output->writeFieldBegin('defaultWalltime', TType::I32, 16);
+      $xfer += $output->writeI32($this->defaultWalltime);
+      $xfer += $output->writeFieldEnd();
+    }
     if ($this->editableByUser !== null) {
-      $xfer += $output->writeFieldBegin('editableByUser', TType::BOOL, 16);
+      $xfer += $output->writeFieldBegin('editableByUser', TType::BOOL, 17);
       $xfer += $output->writeBool($this->editableByUser);
       $xfer += $output->writeFieldEnd();
     }

http://git-wip-us.apache.org/repos/asf/airavata/blob/56bc4bee/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php
index 86e6c5d..e250c65 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php
@@ -1885,6 +1885,22 @@ class ComputeResourceDescription {
    * @var string
    */
   public $gatewayUsageExecutable = null;
+  /**
+   * @var int
+   */
+  public $cpusPerNode = null;
+  /**
+   * @var int
+   */
+  public $defaultNodeCount = null;
+  /**
+   * @var int
+   */
+  public $defaultCPUCount = null;
+  /**
+   * @var int
+   */
+  public $defaultWallltime = null;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
@@ -1976,6 +1992,22 @@ class ComputeResourceDescription {
           'var' => 'gatewayUsageExecutable',
           'type' => TType::STRING,
           ),
+        15 => array(
+          'var' => 'cpusPerNode',
+          'type' => TType::I32,
+          ),
+        16 => array(
+          'var' => 'defaultNodeCount',
+          'type' => TType::I32,
+          ),
+        17 => array(
+          'var' => 'defaultCPUCount',
+          'type' => TType::I32,
+          ),
+        18 => array(
+          'var' => 'defaultWallltime',
+          'type' => TType::I32,
+          ),
         );
     }
     if (is_array($vals)) {
@@ -2021,6 +2053,18 @@ class ComputeResourceDescription {
       if (isset($vals['gatewayUsageExecutable'])) {
         $this->gatewayUsageExecutable = $vals['gatewayUsageExecutable'];
       }
+      if (isset($vals['cpusPerNode'])) {
+        $this->cpusPerNode = $vals['cpusPerNode'];
+      }
+      if (isset($vals['defaultNodeCount'])) {
+        $this->defaultNodeCount = $vals['defaultNodeCount'];
+      }
+      if (isset($vals['defaultCPUCount'])) {
+        $this->defaultCPUCount = $vals['defaultCPUCount'];
+      }
+      if (isset($vals['defaultWallltime'])) {
+        $this->defaultWallltime = $vals['defaultWallltime'];
+      }
     }
   }
 
@@ -2207,6 +2251,34 @@ class ComputeResourceDescription {
             $xfer += $input->skip($ftype);
           }
           break;
+        case 15:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->cpusPerNode);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 16:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->defaultNodeCount);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 17:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->defaultCPUCount);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 18:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->defaultWallltime);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
         default:
           $xfer += $input->skip($ftype);
           break;
@@ -2363,6 +2435,26 @@ class ComputeResourceDescription {
       $xfer += $output->writeString($this->gatewayUsageExecutable);
       $xfer += $output->writeFieldEnd();
     }
+    if ($this->cpusPerNode !== null) {
+      $xfer += $output->writeFieldBegin('cpusPerNode', TType::I32, 15);
+      $xfer += $output->writeI32($this->cpusPerNode);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->defaultNodeCount !== null) {
+      $xfer += $output->writeFieldBegin('defaultNodeCount', TType::I32, 16);
+      $xfer += $output->writeI32($this->defaultNodeCount);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->defaultCPUCount !== null) {
+      $xfer += $output->writeFieldBegin('defaultCPUCount', TType::I32, 17);
+      $xfer += $output->writeI32($this->defaultCPUCount);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->defaultWallltime !== null) {
+      $xfer += $output->writeFieldBegin('defaultWallltime', TType::I32, 18);
+      $xfer += $output->writeI32($this->defaultWallltime);
+      $xfer += $output->writeFieldEnd();
+    }
     $xfer += $output->writeFieldStop();
     $xfer += $output->writeStructEnd();
     return $xfer;

http://git-wip-us.apache.org/repos/asf/airavata/blob/56bc4bee/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/User/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/User/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/User/Types.php
index 1ebd5db..493b615 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/User/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/User/Types.php
@@ -499,10 +499,6 @@ class UserProfile {
   /**
    * @var string
    */
-  public $userName = null;
-  /**
-   * @var string
-   */
   public $orcidId = null;
   /**
    * @var string[]
@@ -609,14 +605,10 @@ class UserProfile {
           'type' => TType::STRING,
           ),
         11 => array(
-          'var' => 'userName',
-          'type' => TType::STRING,
-          ),
-        12 => array(
           'var' => 'orcidId',
           'type' => TType::STRING,
           ),
-        13 => array(
+        12 => array(
           'var' => 'phones',
           'type' => TType::LST,
           'etype' => TType::STRING,
@@ -624,11 +616,11 @@ class UserProfile {
             'type' => TType::STRING,
             ),
           ),
-        14 => array(
+        13 => array(
           'var' => 'country',
           'type' => TType::STRING,
           ),
-        15 => array(
+        14 => array(
           'var' => 'nationality',
           'type' => TType::LST,
           'etype' => TType::STRING,
@@ -636,35 +628,35 @@ class UserProfile {
             'type' => TType::STRING,
             ),
           ),
-        16 => array(
+        15 => array(
           'var' => 'homeOrganization',
           'type' => TType::STRING,
           ),
-        17 => array(
+        16 => array(
           'var' => 'orginationAffiliation',
           'type' => TType::STRING,
           ),
-        18 => array(
+        17 => array(
           'var' => 'creationTime',
           'type' => TType::I64,
           ),
-        19 => array(
+        18 => array(
           'var' => 'lastAccessTime',
           'type' => TType::I64,
           ),
-        20 => array(
+        19 => array(
           'var' => 'validUntil',
           'type' => TType::I64,
           ),
-        21 => array(
+        20 => array(
           'var' => 'State',
           'type' => TType::I32,
           ),
-        22 => array(
+        21 => array(
           'var' => 'comments',
           'type' => TType::STRING,
           ),
-        23 => array(
+        22 => array(
           'var' => 'labeledURI',
           'type' => TType::LST,
           'etype' => TType::STRING,
@@ -672,15 +664,15 @@ class UserProfile {
             'type' => TType::STRING,
             ),
           ),
-        24 => array(
+        23 => array(
           'var' => 'gpgKey',
           'type' => TType::STRING,
           ),
-        25 => array(
+        24 => array(
           'var' => 'timeZone',
           'type' => TType::STRING,
           ),
-        26 => array(
+        25 => array(
           'var' => 'nsfDemographics',
           'type' => TType::STRUCT,
           'class' => '\Airavata\Model\User\NSFDemographics',
@@ -718,9 +710,6 @@ class UserProfile {
       if (isset($vals['nameSuffix'])) {
         $this->nameSuffix = $vals['nameSuffix'];
       }
-      if (isset($vals['userName'])) {
-        $this->userName = $vals['userName'];
-      }
       if (isset($vals['orcidId'])) {
         $this->orcidId = $vals['orcidId'];
       }
@@ -870,19 +859,12 @@ class UserProfile {
           break;
         case 11:
           if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->userName);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 12:
-          if ($ftype == TType::STRING) {
             $xfer += $input->readString($this->orcidId);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 13:
+        case 12:
           if ($ftype == TType::LST) {
             $this->phones = array();
             $_size27 = 0;
@@ -899,14 +881,14 @@ class UserProfile {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 14:
+        case 13:
           if ($ftype == TType::STRING) {
             $xfer += $input->readString($this->country);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 15:
+        case 14:
           if ($ftype == TType::LST) {
             $this->nationality = array();
             $_size33 = 0;
@@ -923,56 +905,56 @@ class UserProfile {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 16:
+        case 15:
           if ($ftype == TType::STRING) {
             $xfer += $input->readString($this->homeOrganization);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 17:
+        case 16:
           if ($ftype == TType::STRING) {
             $xfer += $input->readString($this->orginationAffiliation);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 18:
+        case 17:
           if ($ftype == TType::I64) {
             $xfer += $input->readI64($this->creationTime);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 19:
+        case 18:
           if ($ftype == TType::I64) {
             $xfer += $input->readI64($this->lastAccessTime);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 20:
+        case 19:
           if ($ftype == TType::I64) {
             $xfer += $input->readI64($this->validUntil);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 21:
+        case 20:
           if ($ftype == TType::I32) {
             $xfer += $input->readI32($this->State);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 22:
+        case 21:
           if ($ftype == TType::STRING) {
             $xfer += $input->readString($this->comments);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 23:
+        case 22:
           if ($ftype == TType::LST) {
             $this->labeledURI = array();
             $_size39 = 0;
@@ -989,21 +971,21 @@ class UserProfile {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 24:
+        case 23:
           if ($ftype == TType::STRING) {
             $xfer += $input->readString($this->gpgKey);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 25:
+        case 24:
           if ($ftype == TType::STRING) {
             $xfer += $input->readString($this->timeZone);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 26:
+        case 25:
           if ($ftype == TType::STRUCT) {
             $this->nsfDemographics = new \Airavata\Model\User\NSFDemographics();
             $xfer += $this->nsfDemographics->read($input);
@@ -1086,13 +1068,8 @@ class UserProfile {
       $xfer += $output->writeString($this->nameSuffix);
       $xfer += $output->writeFieldEnd();
     }
-    if ($this->userName !== null) {
-      $xfer += $output->writeFieldBegin('userName', TType::STRING, 11);
-      $xfer += $output->writeString($this->userName);
-      $xfer += $output->writeFieldEnd();
-    }
     if ($this->orcidId !== null) {
-      $xfer += $output->writeFieldBegin('orcidId', TType::STRING, 12);
+      $xfer += $output->writeFieldBegin('orcidId', TType::STRING, 11);
       $xfer += $output->writeString($this->orcidId);
       $xfer += $output->writeFieldEnd();
     }
@@ -1100,7 +1077,7 @@ class UserProfile {
       if (!is_array($this->phones)) {
         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
       }
-      $xfer += $output->writeFieldBegin('phones', TType::LST, 13);
+      $xfer += $output->writeFieldBegin('phones', TType::LST, 12);
       {
         $output->writeListBegin(TType::STRING, count($this->phones));
         {
@@ -1114,7 +1091,7 @@ class UserProfile {
       $xfer += $output->writeFieldEnd();
     }
     if ($this->country !== null) {
-      $xfer += $output->writeFieldBegin('country', TType::STRING, 14);
+      $xfer += $output->writeFieldBegin('country', TType::STRING, 13);
       $xfer += $output->writeString($this->country);
       $xfer += $output->writeFieldEnd();
     }
@@ -1122,7 +1099,7 @@ class UserProfile {
       if (!is_array($this->nationality)) {
         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
       }
-      $xfer += $output->writeFieldBegin('nationality', TType::LST, 15);
+      $xfer += $output->writeFieldBegin('nationality', TType::LST, 14);
       {
         $output->writeListBegin(TType::STRING, count($this->nationality));
         {
@@ -1136,37 +1113,37 @@ class UserProfile {
       $xfer += $output->writeFieldEnd();
     }
     if ($this->homeOrganization !== null) {
-      $xfer += $output->writeFieldBegin('homeOrganization', TType::STRING, 16);
+      $xfer += $output->writeFieldBegin('homeOrganization', TType::STRING, 15);
       $xfer += $output->writeString($this->homeOrganization);
       $xfer += $output->writeFieldEnd();
     }
     if ($this->orginationAffiliation !== null) {
-      $xfer += $output->writeFieldBegin('orginationAffiliation', TType::STRING, 17);
+      $xfer += $output->writeFieldBegin('orginationAffiliation', TType::STRING, 16);
       $xfer += $output->writeString($this->orginationAffiliation);
       $xfer += $output->writeFieldEnd();
     }
     if ($this->creationTime !== null) {
-      $xfer += $output->writeFieldBegin('creationTime', TType::I64, 18);
+      $xfer += $output->writeFieldBegin('creationTime', TType::I64, 17);
       $xfer += $output->writeI64($this->creationTime);
       $xfer += $output->writeFieldEnd();
     }
     if ($this->lastAccessTime !== null) {
-      $xfer += $output->writeFieldBegin('lastAccessTime', TType::I64, 19);
+      $xfer += $output->writeFieldBegin('lastAccessTime', TType::I64, 18);
       $xfer += $output->writeI64($this->lastAccessTime);
       $xfer += $output->writeFieldEnd();
     }
     if ($this->validUntil !== null) {
-      $xfer += $output->writeFieldBegin('validUntil', TType::I64, 20);
+      $xfer += $output->writeFieldBegin('validUntil', TType::I64, 19);
       $xfer += $output->writeI64($this->validUntil);
       $xfer += $output->writeFieldEnd();
     }
     if ($this->State !== null) {
-      $xfer += $output->writeFieldBegin('State', TType::I32, 21);
+      $xfer += $output->writeFieldBegin('State', TType::I32, 20);
       $xfer += $output->writeI32($this->State);
       $xfer += $output->writeFieldEnd();
     }
     if ($this->comments !== null) {
-      $xfer += $output->writeFieldBegin('comments', TType::STRING, 22);
+      $xfer += $output->writeFieldBegin('comments', TType::STRING, 21);
       $xfer += $output->writeString($this->comments);
       $xfer += $output->writeFieldEnd();
     }
@@ -1174,7 +1151,7 @@ class UserProfile {
       if (!is_array($this->labeledURI)) {
         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
       }
-      $xfer += $output->writeFieldBegin('labeledURI', TType::LST, 23);
+      $xfer += $output->writeFieldBegin('labeledURI', TType::LST, 22);
       {
         $output->writeListBegin(TType::STRING, count($this->labeledURI));
         {
@@ -1188,12 +1165,12 @@ class UserProfile {
       $xfer += $output->writeFieldEnd();
     }
     if ($this->gpgKey !== null) {
-      $xfer += $output->writeFieldBegin('gpgKey', TType::STRING, 24);
+      $xfer += $output->writeFieldBegin('gpgKey', TType::STRING, 23);
       $xfer += $output->writeString($this->gpgKey);
       $xfer += $output->writeFieldEnd();
     }
     if ($this->timeZone !== null) {
-      $xfer += $output->writeFieldBegin('timeZone', TType::STRING, 25);
+      $xfer += $output->writeFieldBegin('timeZone', TType::STRING, 24);
       $xfer += $output->writeString($this->timeZone);
       $xfer += $output->writeFieldEnd();
     }
@@ -1201,7 +1178,7 @@ class UserProfile {
       if (!is_object($this->nsfDemographics)) {
         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
       }
-      $xfer += $output->writeFieldBegin('nsfDemographics', TType::STRUCT, 26);
+      $xfer += $output->writeFieldBegin('nsfDemographics', TType::STRUCT, 25);
       $xfer += $this->nsfDemographics->write($output);
       $xfer += $output->writeFieldEnd();
     }

http://git-wip-us.apache.org/repos/asf/airavata/blob/56bc4bee/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Types.php
index 0e8e23c..19d9d61 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Types.php
@@ -15,4 +15,17 @@ use Thrift\Protocol\TBinaryProtocolAccelerated;
 use Thrift\Exception\TApplicationException;
 
 
+final class Constant extends \Thrift\Type\TConstant {
+  static protected $TENANT_PROFILE_CPI_VERSION;
+  static protected $TENANT_PROFILE_CPI_NAME;
+
+  static protected function init_TENANT_PROFILE_CPI_VERSION() {
+    return "0.17";
+  }
+
+  static protected function init_TENANT_PROFILE_CPI_NAME() {
+    return "TenantProfileService";
+  }
+}
+
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/56bc4bee/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata-remote
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata-remote b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata-remote
index 622df08..96f0e6f 100755
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata-remote
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata-remote
@@ -198,8 +198,7 @@ if len(sys.argv) <= 1 or sys.argv[1] == '--help':
   print('  UserProfile getUserProfileById(AuthzToken authzToken, string userId, string gatewayId)')
   print('  bool deleteUserProfile(AuthzToken authzToken, string userId)')
   print('   getAllUserProfilesInGateway(AuthzToken authzToken, string gatewayId, i32 offset, i32 limit)')
-  print('  UserProfile getUserProfileByName(AuthzToken authzToken, string userName, string gatewayId)')
-  print('  bool doesUserProfileExist(AuthzToken authzToken, string userName, string gatewayId)')
+  print('  bool doesUserProfileExist(AuthzToken authzToken, string userId, string gatewayId)')
   print('')
   sys.exit(0)
 
@@ -1300,12 +1299,6 @@ elif cmd == 'getAllUserProfilesInGateway':
     sys.exit(1)
   pp.pprint(client.getAllUserProfilesInGateway(eval(args[0]),args[1],eval(args[2]),eval(args[3]),))
 
-elif cmd == 'getUserProfileByName':
-  if len(args) != 3:
-    print('getUserProfileByName requires 3 args')
-    sys.exit(1)
-  pp.pprint(client.getUserProfileByName(eval(args[0]),args[1],args[2],))
-
 elif cmd == 'doesUserProfileExist':
   if len(args) != 3:
     print('doesUserProfileExist requires 3 args')

http://git-wip-us.apache.org/repos/asf/airavata/blob/56bc4bee/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py
index 6712bf7..e195f71 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py
@@ -3499,20 +3499,11 @@ class Iface:
     """
     pass
 
-  def getUserProfileByName(self, authzToken, userName, gatewayId):
+  def doesUserProfileExist(self, authzToken, userId, gatewayId):
     """
     Parameters:
      - authzToken
-     - userName
-     - gatewayId
-    """
-    pass
-
-  def doesUserProfileExist(self, authzToken, userName, gatewayId):
-    """
-    Parameters:
-     - authzToken
-     - userName
+     - userId
      - gatewayId
     """
     pass
@@ -12884,64 +12875,21 @@ class Client(Iface):
       raise result.ae
     raise TApplicationException(TApplicationException.MISSING_RESULT, "getAllUserProfilesInGateway failed: unknown result")
 
-  def getUserProfileByName(self, authzToken, userName, gatewayId):
-    """
-    Parameters:
-     - authzToken
-     - userName
-     - gatewayId
-    """
-    self.send_getUserProfileByName(authzToken, userName, gatewayId)
-    return self.recv_getUserProfileByName()
-
-  def send_getUserProfileByName(self, authzToken, userName, gatewayId):
-    self._oprot.writeMessageBegin('getUserProfileByName', TMessageType.CALL, self._seqid)
-    args = getUserProfileByName_args()
-    args.authzToken = authzToken
-    args.userName = userName
-    args.gatewayId = gatewayId
-    args.write(self._oprot)
-    self._oprot.writeMessageEnd()
-    self._oprot.trans.flush()
-
-  def recv_getUserProfileByName(self):
-    iprot = self._iprot
-    (fname, mtype, rseqid) = iprot.readMessageBegin()
-    if mtype == TMessageType.EXCEPTION:
-      x = TApplicationException()
-      x.read(iprot)
-      iprot.readMessageEnd()
-      raise x
-    result = getUserProfileByName_result()
-    result.read(iprot)
-    iprot.readMessageEnd()
-    if result.success is not None:
-      return result.success
-    if result.ire is not None:
-      raise result.ire
-    if result.ace is not None:
-      raise result.ace
-    if result.ase is not None:
-      raise result.ase
-    if result.ae is not None:
-      raise result.ae
-    raise TApplicationException(TApplicationException.MISSING_RESULT, "getUserProfileByName failed: unknown result")
-
-  def doesUserProfileExist(self, authzToken, userName, gatewayId):
+  def doesUserProfileExist(self, authzToken, userId, gatewayId):
     """
     Parameters:
      - authzToken
-     - userName
+     - userId
      - gatewayId
     """
-    self.send_doesUserProfileExist(authzToken, userName, gatewayId)
+    self.send_doesUserProfileExist(authzToken, userId, gatewayId)
     return self.recv_doesUserProfileExist()
 
-  def send_doesUserProfileExist(self, authzToken, userName, gatewayId):
+  def send_doesUserProfileExist(self, authzToken, userId, gatewayId):
     self._oprot.writeMessageBegin('doesUserProfileExist', TMessageType.CALL, self._seqid)
     args = doesUserProfileExist_args()
     args.authzToken = authzToken
-    args.userName = userName
+    args.userId = userId
     args.gatewayId = gatewayId
     args.write(self._oprot)
     self._oprot.writeMessageEnd()
@@ -13149,7 +13097,6 @@ class Processor(Iface, TProcessor):
     self._processMap["getUserProfileById"] = Processor.process_getUserProfileById
     self._processMap["deleteUserProfile"] = Processor.process_deleteUserProfile
     self._processMap["getAllUserProfilesInGateway"] = Processor.process_getAllUserProfilesInGateway
-    self._processMap["getUserProfileByName"] = Processor.process_getUserProfileByName
     self._processMap["doesUserProfileExist"] = Processor.process_doesUserProfileExist
 
   def process(self, iprot, oprot):
@@ -18576,44 +18523,13 @@ class Processor(Iface, TProcessor):
     oprot.writeMessageEnd()
     oprot.trans.flush()
 
-  def process_getUserProfileByName(self, seqid, iprot, oprot):
-    args = getUserProfileByName_args()
-    args.read(iprot)
-    iprot.readMessageEnd()
-    result = getUserProfileByName_result()
-    try:
-      result.success = self._handler.getUserProfileByName(args.authzToken, args.userName, args.gatewayId)
-      msg_type = TMessageType.REPLY
-    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
-      raise
-    except apache.airavata.api.error.ttypes.InvalidRequestException as ire:
-      msg_type = TMessageType.REPLY
-      result.ire = ire
-    except apache.airavata.api.error.ttypes.AiravataClientException as ace:
-      msg_type = TMessageType.REPLY
-      result.ace = ace
-    except apache.airavata.api.error.ttypes.AiravataSystemException as ase:
-      msg_type = TMessageType.REPLY
-      result.ase = ase
-    except apache.airavata.api.error.ttypes.AuthorizationException as ae:
-      msg_type = TMessageType.REPLY
-      result.ae = ae
-    except Exception as ex:
-      msg_type = TMessageType.EXCEPTION
-      logging.exception(ex)
-      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
-    oprot.writeMessageBegin("getUserProfileByName", msg_type, seqid)
-    result.write(oprot)
-    oprot.writeMessageEnd()
-    oprot.trans.flush()
-
   def process_doesUserProfileExist(self, seqid, iprot, oprot):
     args = doesUserProfileExist_args()
     args.read(iprot)
     iprot.readMessageEnd()
     result = doesUserProfileExist_result()
     try:
-      result.success = self._handler.doesUserProfileExist(args.authzToken, args.userName, args.gatewayId)
+      result.success = self._handler.doesUserProfileExist(args.authzToken, args.userId, args.gatewayId)
       msg_type = TMessageType.REPLY
     except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
       raise
@@ -56540,243 +56456,24 @@ class getAllUserProfilesInGateway_result:
   def __ne__(self, other):
     return not (self == other)
 
-class getUserProfileByName_args:
-  """
-  Attributes:
-   - authzToken
-   - userName
-   - gatewayId
-  """
-
-  thrift_spec = (
-    None, # 0
-    (1, TType.STRUCT, 'authzToken', (apache.airavata.model.security.ttypes.AuthzToken, apache.airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ), # 1
-    (2, TType.STRING, 'userName', None, None, ), # 2
-    (3, TType.STRING, 'gatewayId', None, None, ), # 3
-  )
-
-  def __init__(self, authzToken=None, userName=None, gatewayId=None,):
-    self.authzToken = authzToken
-    self.userName = userName
-    self.gatewayId = gatewayId
-
-  def read(self, iprot):
-    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
-      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
-      return
-    iprot.readStructBegin()
-    while True:
-      (fname, ftype, fid) = iprot.readFieldBegin()
-      if ftype == TType.STOP:
-        break
-      if fid == 1:
-        if ftype == TType.STRUCT:
-          self.authzToken = apache.airavata.model.security.ttypes.AuthzToken()
-          self.authzToken.read(iprot)
-        else:
-          iprot.skip(ftype)
-      elif fid == 2:
-        if ftype == TType.STRING:
-          self.userName = iprot.readString()
-        else:
-          iprot.skip(ftype)
-      elif fid == 3:
-        if ftype == TType.STRING:
-          self.gatewayId = iprot.readString()
-        else:
-          iprot.skip(ftype)
-      else:
-        iprot.skip(ftype)
-      iprot.readFieldEnd()
-    iprot.readStructEnd()
-
-  def write(self, oprot):
-    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
-      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
-      return
-    oprot.writeStructBegin('getUserProfileByName_args')
-    if self.authzToken is not None:
-      oprot.writeFieldBegin('authzToken', TType.STRUCT, 1)
-      self.authzToken.write(oprot)
-      oprot.writeFieldEnd()
-    if self.userName is not None:
-      oprot.writeFieldBegin('userName', TType.STRING, 2)
-      oprot.writeString(self.userName)
-      oprot.writeFieldEnd()
-    if self.gatewayId is not None:
-      oprot.writeFieldBegin('gatewayId', TType.STRING, 3)
-      oprot.writeString(self.gatewayId)
-      oprot.writeFieldEnd()
-    oprot.writeFieldStop()
-    oprot.writeStructEnd()
-
-  def validate(self):
-    if self.authzToken is None:
-      raise TProtocol.TProtocolException(message='Required field authzToken is unset!')
-    if self.userName is None:
-      raise TProtocol.TProtocolException(message='Required field userName is unset!')
-    if self.gatewayId is None:
-      raise TProtocol.TProtocolException(message='Required field gatewayId is unset!')
-    return
-
-
-  def __hash__(self):
-    value = 17
-    value = (value * 31) ^ hash(self.authzToken)
-    value = (value * 31) ^ hash(self.userName)
-    value = (value * 31) ^ hash(self.gatewayId)
-    return value
-
-  def __repr__(self):
-    L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
-    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
-
-  def __eq__(self, other):
-    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
-
-  def __ne__(self, other):
-    return not (self == other)
-
-class getUserProfileByName_result:
-  """
-  Attributes:
-   - success
-   - ire
-   - ace
-   - ase
-   - ae
-  """
-
-  thrift_spec = (
-    (0, TType.STRUCT, 'success', (apache.airavata.model.user.ttypes.UserProfile, apache.airavata.model.user.ttypes.UserProfile.thrift_spec), None, ), # 0
-    (1, TType.STRUCT, 'ire', (apache.airavata.api.error.ttypes.InvalidRequestException, apache.airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ), # 1
-    (2, TType.STRUCT, 'ace', (apache.airavata.api.error.ttypes.AiravataClientException, apache.airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ), # 2
-    (3, TType.STRUCT, 'ase', (apache.airavata.api.error.ttypes.AiravataSystemException, apache.airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ), # 3
-    (4, TType.STRUCT, 'ae', (apache.airavata.api.error.ttypes.AuthorizationException, apache.airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ), # 4
-  )
-
-  def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
-    self.success = success
-    self.ire = ire
-    self.ace = ace
-    self.ase = ase
-    self.ae = ae
-
-  def read(self, iprot):
-    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
-      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
-      return
-    iprot.readStructBegin()
-    while True:
-      (fname, ftype, fid) = iprot.readFieldBegin()
-      if ftype == TType.STOP:
-        break
-      if fid == 0:
-        if ftype == TType.STRUCT:
-          self.success = apache.airavata.model.user.ttypes.UserProfile()
-          self.success.read(iprot)
-        else:
-          iprot.skip(ftype)
-      elif fid == 1:
-        if ftype == TType.STRUCT:
-          self.ire = apache.airavata.api.error.ttypes.InvalidRequestException()
-          self.ire.read(iprot)
-        else:
-          iprot.skip(ftype)
-      elif fid == 2:
-        if ftype == TType.STRUCT:
-          self.ace = apache.airavata.api.error.ttypes.AiravataClientException()
-          self.ace.read(iprot)
-        else:
-          iprot.skip(ftype)
-      elif fid == 3:
-        if ftype == TType.STRUCT:
-          self.ase = apache.airavata.api.error.ttypes.AiravataSystemException()
-          self.ase.read(iprot)
-        else:
-          iprot.skip(ftype)
-      elif fid == 4:
-        if ftype == TType.STRUCT:
-          self.ae = apache.airavata.api.error.ttypes.AuthorizationException()
-          self.ae.read(iprot)
-        else:
-          iprot.skip(ftype)
-      else:
-        iprot.skip(ftype)
-      iprot.readFieldEnd()
-    iprot.readStructEnd()
-
-  def write(self, oprot):
-    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
-      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
-      return
-    oprot.writeStructBegin('getUserProfileByName_result')
-    if self.success is not None:
-      oprot.writeFieldBegin('success', TType.STRUCT, 0)
-      self.success.write(oprot)
-      oprot.writeFieldEnd()
-    if self.ire is not None:
-      oprot.writeFieldBegin('ire', TType.STRUCT, 1)
-      self.ire.write(oprot)
-      oprot.writeFieldEnd()
-    if self.ace is not None:
-      oprot.writeFieldBegin('ace', TType.STRUCT, 2)
-      self.ace.write(oprot)
-      oprot.writeFieldEnd()
-    if self.ase is not None:
-      oprot.writeFieldBegin('ase', TType.STRUCT, 3)
-      self.ase.write(oprot)
-      oprot.writeFieldEnd()
-    if self.ae is not None:
-      oprot.writeFieldBegin('ae', TType.STRUCT, 4)
-      self.ae.write(oprot)
-      oprot.writeFieldEnd()
-    oprot.writeFieldStop()
-    oprot.writeStructEnd()
-
-  def validate(self):
-    return
-
-
-  def __hash__(self):
-    value = 17
-    value = (value * 31) ^ hash(self.success)
-    value = (value * 31) ^ hash(self.ire)
-    value = (value * 31) ^ hash(self.ace)
-    value = (value * 31) ^ hash(self.ase)
-    value = (value * 31) ^ hash(self.ae)
-    return value
-
-  def __repr__(self):
-    L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
-    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
-
-  def __eq__(self, other):
-    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
-
-  def __ne__(self, other):
-    return not (self == other)
-
 class doesUserProfileExist_args:
   """
   Attributes:
    - authzToken
-   - userName
+   - userId
    - gatewayId
   """
 
   thrift_spec = (
     None, # 0
     (1, TType.STRUCT, 'authzToken', (apache.airavata.model.security.ttypes.AuthzToken, apache.airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ), # 1
-    (2, TType.STRING, 'userName', None, None, ), # 2
+    (2, TType.STRING, 'userId', None, None, ), # 2
     (3, TType.STRING, 'gatewayId', None, None, ), # 3
   )
 
-  def __init__(self, authzToken=None, userName=None, gatewayId=None,):
+  def __init__(self, authzToken=None, userId=None, gatewayId=None,):
     self.authzToken = authzToken
-    self.userName = userName
+    self.userId = userId
     self.gatewayId = gatewayId
 
   def read(self, iprot):
@@ -56796,7 +56493,7 @@ class doesUserProfileExist_args:
           iprot.skip(ftype)
       elif fid == 2:
         if ftype == TType.STRING:
-          self.userName = iprot.readString()
+          self.userId = iprot.readString()
         else:
           iprot.skip(ftype)
       elif fid == 3:
@@ -56818,9 +56515,9 @@ class doesUserProfileExist_args:
       oprot.writeFieldBegin('authzToken', TType.STRUCT, 1)
       self.authzToken.write(oprot)
       oprot.writeFieldEnd()
-    if self.userName is not None:
-      oprot.writeFieldBegin('userName', TType.STRING, 2)
-      oprot.writeString(self.userName)
+    if self.userId is not None:
+      oprot.writeFieldBegin('userId', TType.STRING, 2)
+      oprot.writeString(self.userId)
       oprot.writeFieldEnd()
     if self.gatewayId is not None:
       oprot.writeFieldBegin('gatewayId', TType.STRING, 3)
@@ -56832,8 +56529,8 @@ class doesUserProfileExist_args:
   def validate(self):
     if self.authzToken is None:
       raise TProtocol.TProtocolException(message='Required field authzToken is unset!')
-    if self.userName is None:
-      raise TProtocol.TProtocolException(message='Required field userName is unset!')
+    if self.userId is None:
+      raise TProtocol.TProtocolException(message='Required field userId is unset!')
     if self.gatewayId is None:
       raise TProtocol.TProtocolException(message='Required field gatewayId is unset!')
     return
@@ -56842,7 +56539,7 @@ class doesUserProfileExist_args:
   def __hash__(self):
     value = 17
     value = (value * 31) ^ hash(self.authzToken)
-    value = (value * 31) ^ hash(self.userName)
+    value = (value * 31) ^ hash(self.userId)
     value = (value * 31) ^ hash(self.gatewayId)
     return value
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/56bc4bee/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/appdeployment/ttypes.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/appdeployment/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/appdeployment/ttypes.py
index 12dfca0..fd2e305 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/appdeployment/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/appdeployment/ttypes.py
@@ -379,6 +379,7 @@ class ApplicationDeploymentDescription:
    - defaultQueueName
    - defaultNodeCount
    - defaultCPUCount
+   - defaultWalltime
    - editableByUser
   """
 
@@ -399,10 +400,11 @@ class ApplicationDeploymentDescription:
     (13, TType.STRING, 'defaultQueueName', None, None, ), # 13
     (14, TType.I32, 'defaultNodeCount', None, None, ), # 14
     (15, TType.I32, 'defaultCPUCount', None, None, ), # 15
-    (16, TType.BOOL, 'editableByUser', None, None, ), # 16
+    (16, TType.I32, 'defaultWalltime', None, None, ), # 16
+    (17, TType.BOOL, 'editableByUser', None, None, ), # 17
   )
 
-  def __init__(self, appDeploymentId=thrift_spec[1][4], appModuleId=None, computeHostId=None, executablePath=None, parallelism=thrift_spec[5][4], appDeploymentDescription=None, moduleLoadCmds=None, libPrependPaths=None, libAppendPaths=None, setEnvironment=None, preJobCommands=None, postJobCommands=None, defaultQueueName=None, defaultNodeCount=None, defaultCPUCount=None, editableByUser=None,):
+  def __init__(self, appDeploymentId=thrift_spec[1][4], appModuleId=None, computeHostId=None, executablePath=None, parallelism=thrift_spec[5][4], appDeploymentDescription=None, moduleLoadCmds=None, libPrependPaths=None, libAppendPaths=None, setEnvironment=None, preJobCommands=None, postJobCommands=None, defaultQueueName=None, defaultNodeCount=None, defaultCPUCount=None, defaultWalltime=None, editableByUser=None,):
     self.appDeploymentId = appDeploymentId
     self.appModuleId = appModuleId
     self.computeHostId = computeHostId
@@ -418,6 +420,7 @@ class ApplicationDeploymentDescription:
     self.defaultQueueName = defaultQueueName
     self.defaultNodeCount = defaultNodeCount
     self.defaultCPUCount = defaultCPUCount
+    self.defaultWalltime = defaultWalltime
     self.editableByUser = editableByUser
 
   def read(self, iprot):
@@ -541,6 +544,11 @@ class ApplicationDeploymentDescription:
         else:
           iprot.skip(ftype)
       elif fid == 16:
+        if ftype == TType.I32:
+          self.defaultWalltime = iprot.readI32()
+        else:
+          iprot.skip(ftype)
+      elif fid == 17:
         if ftype == TType.BOOL:
           self.editableByUser = iprot.readBool()
         else:
@@ -633,8 +641,12 @@ class ApplicationDeploymentDescription:
       oprot.writeFieldBegin('defaultCPUCount', TType.I32, 15)
       oprot.writeI32(self.defaultCPUCount)
       oprot.writeFieldEnd()
+    if self.defaultWalltime is not None:
+      oprot.writeFieldBegin('defaultWalltime', TType.I32, 16)
+      oprot.writeI32(self.defaultWalltime)
+      oprot.writeFieldEnd()
     if self.editableByUser is not None:
-      oprot.writeFieldBegin('editableByUser', TType.BOOL, 16)
+      oprot.writeFieldBegin('editableByUser', TType.BOOL, 17)
       oprot.writeBool(self.editableByUser)
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
@@ -671,6 +683,7 @@ class ApplicationDeploymentDescription:
     value = (value * 31) ^ hash(self.defaultQueueName)
     value = (value * 31) ^ hash(self.defaultNodeCount)
     value = (value * 31) ^ hash(self.defaultCPUCount)
+    value = (value * 31) ^ hash(self.defaultWalltime)
     value = (value * 31) ^ hash(self.editableByUser)
     return value
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/56bc4bee/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/computeresource/ttypes.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/computeresource/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/computeresource/ttypes.py
index dfc0cca..b2fcc2e 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/computeresource/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/computeresource/ttypes.py
@@ -1431,6 +1431,10 @@ class ComputeResourceDescription:
    - gatewayUsageReporting
    - gatewayUsageModuleLoadCommand
    - gatewayUsageExecutable
+   - cpusPerNode
+   - defaultNodeCount
+   - defaultCPUCount
+   - defaultWallltime
   """
 
   thrift_spec = (
@@ -1449,9 +1453,13 @@ class ComputeResourceDescription:
     (12, TType.BOOL, 'gatewayUsageReporting', None, None, ), # 12
     (13, TType.STRING, 'gatewayUsageModuleLoadCommand', None, None, ), # 13
     (14, TType.STRING, 'gatewayUsageExecutable', None, None, ), # 14
+    (15, TType.I32, 'cpusPerNode', None, None, ), # 15
+    (16, TType.I32, 'defaultNodeCount', None, None, ), # 16
+    (17, TType.I32, 'defaultCPUCount', None, None, ), # 17
+    (18, TType.I32, 'defaultWallltime', None, None, ), # 18
   )
 
-  def __init__(self, computeResourceId=thrift_spec[1][4], hostName=None, hostAliases=None, ipAddresses=None, resourceDescription=None, enabled=None, batchQueues=None, fileSystems=None, jobSubmissionInterfaces=None, dataMovementInterfaces=None, maxMemoryPerNode=None, gatewayUsageReporting=None, gatewayUsageModuleLoadCommand=None, gatewayUsageExecutable=None,):
+  def __init__(self, computeResourceId=thrift_spec[1][4], hostName=None, hostAliases=None, ipAddresses=None, resourceDescription=None, enabled=None, batchQueues=None, fileSystems=None, jobSubmissionInterfaces=None, dataMovementInterfaces=None, maxMemoryPerNode=None, gatewayUsageReporting=None, gatewayUsageModuleLoadCommand=None, gatewayUsageExecutable=None, cpusPerNode=None, defaultNodeCount=None, defaultCPUCount=None, defaultWallltime=None,):
     self.computeResourceId = computeResourceId
     self.hostName = hostName
     self.hostAliases = hostAliases
@@ -1466,6 +1474,10 @@ class ComputeResourceDescription:
     self.gatewayUsageReporting = gatewayUsageReporting
     self.gatewayUsageModuleLoadCommand = gatewayUsageModuleLoadCommand
     self.gatewayUsageExecutable = gatewayUsageExecutable
+    self.cpusPerNode = cpusPerNode
+    self.defaultNodeCount = defaultNodeCount
+    self.defaultCPUCount = defaultCPUCount
+    self.defaultWallltime = defaultWallltime
 
   def read(self, iprot):
     if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
@@ -1580,6 +1592,26 @@ class ComputeResourceDescription:
           self.gatewayUsageExecutable = iprot.readString()
         else:
           iprot.skip(ftype)
+      elif fid == 15:
+        if ftype == TType.I32:
+          self.cpusPerNode = iprot.readI32()
+        else:
+          iprot.skip(ftype)
+      elif fid == 16:
+        if ftype == TType.I32:
+          self.defaultNodeCount = iprot.readI32()
+        else:
+          iprot.skip(ftype)
+      elif fid == 17:
+        if ftype == TType.I32:
+          self.defaultCPUCount = iprot.readI32()
+        else:
+          iprot.skip(ftype)
+      elif fid == 18:
+        if ftype == TType.I32:
+          self.defaultWallltime = iprot.readI32()
+        else:
+          iprot.skip(ftype)
       else:
         iprot.skip(ftype)
       iprot.readFieldEnd()
@@ -1665,6 +1697,22 @@ class ComputeResourceDescription:
       oprot.writeFieldBegin('gatewayUsageExecutable', TType.STRING, 14)
       oprot.writeString(self.gatewayUsageExecutable)
       oprot.writeFieldEnd()
+    if self.cpusPerNode is not None:
+      oprot.writeFieldBegin('cpusPerNode', TType.I32, 15)
+      oprot.writeI32(self.cpusPerNode)
+      oprot.writeFieldEnd()
+    if self.defaultNodeCount is not None:
+      oprot.writeFieldBegin('defaultNodeCount', TType.I32, 16)
+      oprot.writeI32(self.defaultNodeCount)
+      oprot.writeFieldEnd()
+    if self.defaultCPUCount is not None:
+      oprot.writeFieldBegin('defaultCPUCount', TType.I32, 17)
+      oprot.writeI32(self.defaultCPUCount)
+      oprot.writeFieldEnd()
+    if self.defaultWallltime is not None:
+      oprot.writeFieldBegin('defaultWallltime', TType.I32, 18)
+      oprot.writeI32(self.defaultWallltime)
+      oprot.writeFieldEnd()
     oprot.writeFieldStop()
     oprot.writeStructEnd()
 
@@ -1692,6 +1740,10 @@ class ComputeResourceDescription:
     value = (value * 31) ^ hash(self.gatewayUsageReporting)
     value = (value * 31) ^ hash(self.gatewayUsageModuleLoadCommand)
     value = (value * 31) ^ hash(self.gatewayUsageExecutable)
+    value = (value * 31) ^ hash(self.cpusPerNode)
+    value = (value * 31) ^ hash(self.defaultNodeCount)
+    value = (value * 31) ^ hash(self.defaultCPUCount)
+    value = (value * 31) ^ hash(self.defaultWallltime)
     return value
 
   def __repr__(self):

http://git-wip-us.apache.org/repos/asf/airavata/blob/56bc4bee/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/user/ttypes.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/user/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/user/ttypes.py
index 4dc61ae..14b8baa 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/user/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/user/ttypes.py
@@ -397,7 +397,6 @@ class UserProfile:
    - middleName
    - namePrefix
    - nameSuffix
-   - userName
    - orcidId
    - phones
    - country
@@ -427,25 +426,24 @@ class UserProfile:
     (8, TType.STRING, 'middleName', None, None, ), # 8
     (9, TType.STRING, 'namePrefix', None, None, ), # 9
     (10, TType.STRING, 'nameSuffix', None, None, ), # 10
-    (11, TType.STRING, 'userName', None, None, ), # 11
-    (12, TType.STRING, 'orcidId', None, None, ), # 12
-    (13, TType.LIST, 'phones', (TType.STRING,None), None, ), # 13
-    (14, TType.STRING, 'country', None, None, ), # 14
-    (15, TType.LIST, 'nationality', (TType.STRING,None), None, ), # 15
-    (16, TType.STRING, 'homeOrganization', None, None, ), # 16
-    (17, TType.STRING, 'orginationAffiliation', None, None, ), # 17
-    (18, TType.I64, 'creationTime', None, None, ), # 18
-    (19, TType.I64, 'lastAccessTime', None, None, ), # 19
-    (20, TType.I64, 'validUntil', None, None, ), # 20
-    (21, TType.I32, 'State', None, None, ), # 21
-    (22, TType.STRING, 'comments', None, None, ), # 22
-    (23, TType.LIST, 'labeledURI', (TType.STRING,None), None, ), # 23
-    (24, TType.STRING, 'gpgKey', None, None, ), # 24
-    (25, TType.STRING, 'timeZone', None, None, ), # 25
-    (26, TType.STRUCT, 'nsfDemographics', (NSFDemographics, NSFDemographics.thrift_spec), None, ), # 26
+    (11, TType.STRING, 'orcidId', None, None, ), # 11
+    (12, TType.LIST, 'phones', (TType.STRING,None), None, ), # 12
+    (13, TType.STRING, 'country', None, None, ), # 13
+    (14, TType.LIST, 'nationality', (TType.STRING,None), None, ), # 14
+    (15, TType.STRING, 'homeOrganization', None, None, ), # 15
+    (16, TType.STRING, 'orginationAffiliation', None, None, ), # 16
+    (17, TType.I64, 'creationTime', None, None, ), # 17
+    (18, TType.I64, 'lastAccessTime', None, None, ), # 18
+    (19, TType.I64, 'validUntil', None, None, ), # 19
+    (20, TType.I32, 'State', None, None, ), # 20
+    (21, TType.STRING, 'comments', None, None, ), # 21
+    (22, TType.LIST, 'labeledURI', (TType.STRING,None), None, ), # 22
+    (23, TType.STRING, 'gpgKey', None, None, ), # 23
+    (24, TType.STRING, 'timeZone', None, None, ), # 24
+    (25, TType.STRUCT, 'nsfDemographics', (NSFDemographics, NSFDemographics.thrift_spec), None, ), # 25
   )
 
-  def __init__(self, userModelVersion=thrift_spec[1][4], airavataInternalUserId=thrift_spec[2][4], userId=None, gatewayId=None, emails=None, firstName=None, lastName=None, middleName=None, namePrefix=None, nameSuffix=None, userName=None, orcidId=None, phones=None, country=None, nationality=None, homeOrganization=None, orginationAffiliation=None, creationTime=None, lastAccessTime=None, validUntil=None, State=None, comments=None, labeledURI=None, gpgKey=None, timeZone=None, nsfDemographics=None,):
+  def __init__(self, userModelVersion=thrift_spec[1][4], airavataInternalUserId=thrift_spec[2][4], userId=None, gatewayId=None, emails=None, firstName=None, lastName=None, middleName=None, namePrefix=None, nameSuffix=None, orcidId=None, phones=None, country=None, nationality=None, homeOrganization=None, orginationAffiliation=None, creationTime=None, lastAccessTime=None, validUntil=None, State=None, comments=None, labeledURI=None, gpgKey=None, timeZone=None, nsfDemographics=None,):
     self.userModelVersion = userModelVersion
     self.airavataInternalUserId = airavataInternalUserId
     self.userId = userId
@@ -456,7 +454,6 @@ class UserProfile:
     self.middleName = middleName
     self.namePrefix = namePrefix
     self.nameSuffix = nameSuffix
-    self.userName = userName
     self.orcidId = orcidId
     self.phones = phones
     self.country = country
@@ -539,15 +536,10 @@ class UserProfile:
           iprot.skip(ftype)
       elif fid == 11:
         if ftype == TType.STRING:
-          self.userName = iprot.readString()
-        else:
-          iprot.skip(ftype)
-      elif fid == 12:
-        if ftype == TType.STRING:
           self.orcidId = iprot.readString()
         else:
           iprot.skip(ftype)
-      elif fid == 13:
+      elif fid == 12:
         if ftype == TType.LIST:
           self.phones = []
           (_etype30, _size27) = iprot.readListBegin()
@@ -557,12 +549,12 @@ class UserProfile:
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
-      elif fid == 14:
+      elif fid == 13:
         if ftype == TType.STRING:
           self.country = iprot.readString()
         else:
           iprot.skip(ftype)
-      elif fid == 15:
+      elif fid == 14:
         if ftype == TType.LIST:
           self.nationality = []
           (_etype36, _size33) = iprot.readListBegin()
@@ -572,42 +564,42 @@ class UserProfile:
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
-      elif fid == 16:
+      elif fid == 15:
         if ftype == TType.STRING:
           self.homeOrganization = iprot.readString()
         else:
           iprot.skip(ftype)
-      elif fid == 17:
+      elif fid == 16:
         if ftype == TType.STRING:
           self.orginationAffiliation = iprot.readString()
         else:
           iprot.skip(ftype)
-      elif fid == 18:
+      elif fid == 17:
         if ftype == TType.I64:
           self.creationTime = iprot.readI64()
         else:
           iprot.skip(ftype)
-      elif fid == 19:
+      elif fid == 18:
         if ftype == TType.I64:
           self.lastAccessTime = iprot.readI64()
         else:
           iprot.skip(ftype)
-      elif fid == 20:
+      elif fid == 19:
         if ftype == TType.I64:
           self.validUntil = iprot.readI64()
         else:
           iprot.skip(ftype)
-      elif fid == 21:
+      elif fid == 20:
         if ftype == TType.I32:
           self.State = iprot.readI32()
         else:
           iprot.skip(ftype)
-      elif fid == 22:
+      elif fid == 21:
         if ftype == TType.STRING:
           self.comments = iprot.readString()
         else:
           iprot.skip(ftype)
-      elif fid == 23:
+      elif fid == 22:
         if ftype == TType.LIST:
           self.labeledURI = []
           (_etype42, _size39) = iprot.readListBegin()
@@ -617,17 +609,17 @@ class UserProfile:
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
-      elif fid == 24:
+      elif fid == 23:
         if ftype == TType.STRING:
           self.gpgKey = iprot.readString()
         else:
           iprot.skip(ftype)
-      elif fid == 25:
+      elif fid == 24:
         if ftype == TType.STRING:
           self.timeZone = iprot.readString()
         else:
           iprot.skip(ftype)
-      elif fid == 26:
+      elif fid == 25:
         if ftype == TType.STRUCT:
           self.nsfDemographics = NSFDemographics()
           self.nsfDemographics.read(iprot)
@@ -686,77 +678,73 @@ class UserProfile:
       oprot.writeFieldBegin('nameSuffix', TType.STRING, 10)
       oprot.writeString(self.nameSuffix)
       oprot.writeFieldEnd()
-    if self.userName is not None:
-      oprot.writeFieldBegin('userName', TType.STRING, 11)
-      oprot.writeString(self.userName)
-      oprot.writeFieldEnd()
     if self.orcidId is not None:
-      oprot.writeFieldBegin('orcidId', TType.STRING, 12)
+      oprot.writeFieldBegin('orcidId', TType.STRING, 11)
       oprot.writeString(self.orcidId)
       oprot.writeFieldEnd()
     if self.phones is not None:
-      oprot.writeFieldBegin('phones', TType.LIST, 13)
+      oprot.writeFieldBegin('phones', TType.LIST, 12)
       oprot.writeListBegin(TType.STRING, len(self.phones))
       for iter46 in self.phones:
         oprot.writeString(iter46)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.country is not None:
-      oprot.writeFieldBegin('country', TType.STRING, 14)
+      oprot.writeFieldBegin('country', TType.STRING, 13)
       oprot.writeString(self.country)
       oprot.writeFieldEnd()
     if self.nationality is not None:
-      oprot.writeFieldBegin('nationality', TType.LIST, 15)
+      oprot.writeFieldBegin('nationality', TType.LIST, 14)
       oprot.writeListBegin(TType.STRING, len(self.nationality))
       for iter47 in self.nationality:
         oprot.writeString(iter47)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.homeOrganization is not None:
-      oprot.writeFieldBegin('homeOrganization', TType.STRING, 16)
+      oprot.writeFieldBegin('homeOrganization', TType.STRING, 15)
       oprot.writeString(self.homeOrganization)
       oprot.writeFieldEnd()
     if self.orginationAffiliation is not None:
-      oprot.writeFieldBegin('orginationAffiliation', TType.STRING, 17)
+      oprot.writeFieldBegin('orginationAffiliation', TType.STRING, 16)
       oprot.writeString(self.orginationAffiliation)
       oprot.writeFieldEnd()
     if self.creationTime is not None:
-      oprot.writeFieldBegin('creationTime', TType.I64, 18)
+      oprot.writeFieldBegin('creationTime', TType.I64, 17)
       oprot.writeI64(self.creationTime)
       oprot.writeFieldEnd()
     if self.lastAccessTime is not None:
-      oprot.writeFieldBegin('lastAccessTime', TType.I64, 19)
+      oprot.writeFieldBegin('lastAccessTime', TType.I64, 18)
       oprot.writeI64(self.lastAccessTime)
       oprot.writeFieldEnd()
     if self.validUntil is not None:
-      oprot.writeFieldBegin('validUntil', TType.I64, 20)
+      oprot.writeFieldBegin('validUntil', TType.I64, 19)
       oprot.writeI64(self.validUntil)
       oprot.writeFieldEnd()
     if self.State is not None:
-      oprot.writeFieldBegin('State', TType.I32, 21)
+      oprot.writeFieldBegin('State', TType.I32, 20)
       oprot.writeI32(self.State)
       oprot.writeFieldEnd()
     if self.comments is not None:
-      oprot.writeFieldBegin('comments', TType.STRING, 22)
+      oprot.writeFieldBegin('comments', TType.STRING, 21)
       oprot.writeString(self.comments)
       oprot.writeFieldEnd()
     if self.labeledURI is not None:
-      oprot.writeFieldBegin('labeledURI', TType.LIST, 23)
+      oprot.writeFieldBegin('labeledURI', TType.LIST, 22)
       oprot.writeListBegin(TType.STRING, len(self.labeledURI))
       for iter48 in self.labeledURI:
         oprot.writeString(iter48)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.gpgKey is not None:
-      oprot.writeFieldBegin('gpgKey', TType.STRING, 24)
+      oprot.writeFieldBegin('gpgKey', TType.STRING, 23)
       oprot.writeString(self.gpgKey)
       oprot.writeFieldEnd()
     if self.timeZone is not None:
-      oprot.writeFieldBegin('timeZone', TType.STRING, 25)
+      oprot.writeFieldBegin('timeZone', TType.STRING, 24)
       oprot.writeString(self.timeZone)
       oprot.writeFieldEnd()
     if self.nsfDemographics is not None:
-      oprot.writeFieldBegin('nsfDemographics', TType.STRUCT, 26)
+      oprot.writeFieldBegin('nsfDemographics', TType.STRUCT, 25)
       self.nsfDemographics.write(oprot)
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
@@ -800,7 +788,6 @@ class UserProfile:
     value = (value * 31) ^ hash(self.middleName)
     value = (value * 31) ^ hash(self.namePrefix)
     value = (value * 31) ^ hash(self.nameSuffix)
-    value = (value * 31) ^ hash(self.userName)
     value = (value * 31) ^ hash(self.orcidId)
     value = (value * 31) ^ hash(self.phones)
     value = (value * 31) ^ hash(self.country)


[29/50] [abbrv] airavata git commit: Ansible: setting profile service host and port

Posted by sm...@apache.org.
Ansible: setting profile service host and port


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

Branch: refs/heads/registry-refactoring
Commit: 0710b1c258f66c8937f652acf15763a9824ed4ce
Parents: 7027f44
Author: Marcus Christie <ma...@apache.org>
Authored: Thu May 4 13:57:16 2017 -0400
Committer: Marcus Christie <ma...@apache.org>
Committed: Thu May 4 13:57:16 2017 -0400

----------------------------------------------------------------------
 .../ansible/inventories/testing-0.17/group_vars/all/vars.yml     | 4 ++++
 dev-tools/ansible/roles/api-orch/defaults/main.yml               | 3 +++
 .../roles/api-orch/templates/airavata-server.properties.j2       | 4 ++--
 3 files changed, 9 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/0710b1c2/dev-tools/ansible/inventories/testing-0.17/group_vars/all/vars.yml
----------------------------------------------------------------------
diff --git a/dev-tools/ansible/inventories/testing-0.17/group_vars/all/vars.yml b/dev-tools/ansible/inventories/testing-0.17/group_vars/all/vars.yml
index c541548..8f94011 100644
--- a/dev-tools/ansible/inventories/testing-0.17/group_vars/all/vars.yml
+++ b/dev-tools/ansible/inventories/testing-0.17/group_vars/all/vars.yml
@@ -109,3 +109,7 @@ monitor_email_password: "airavata"
 # Sharing Registry related variables
 sharing_registry_host: "{{ ansible_fqdn }}"
 sharing_registry_port: 7878
+
+# Profile Service related variables
+profile_service_host: "{{ ansible_fqdn }}"
+profile_service_port: 8962

http://git-wip-us.apache.org/repos/asf/airavata/blob/0710b1c2/dev-tools/ansible/roles/api-orch/defaults/main.yml
----------------------------------------------------------------------
diff --git a/dev-tools/ansible/roles/api-orch/defaults/main.yml b/dev-tools/ansible/roles/api-orch/defaults/main.yml
index 2075882..f14ab0e 100644
--- a/dev-tools/ansible/roles/api-orch/defaults/main.yml
+++ b/dev-tools/ansible/roles/api-orch/defaults/main.yml
@@ -22,3 +22,6 @@ api_orch_server_names: "api-orch"
 api_orch_log_dir: "{{ api_orch_dir }}/{{ airavata_dist }}/logs"
 
 remote_idp_service_url: "https://iam.scigap.org/auth"
+
+profile_service_host: "localhost"
+profile_service_port: 8962

http://git-wip-us.apache.org/repos/asf/airavata/blob/0710b1c2/dev-tools/ansible/roles/api-orch/templates/airavata-server.properties.j2
----------------------------------------------------------------------
diff --git a/dev-tools/ansible/roles/api-orch/templates/airavata-server.properties.j2 b/dev-tools/ansible/roles/api-orch/templates/airavata-server.properties.j2
index fbefd8f..089d1e4 100644
--- a/dev-tools/ansible/roles/api-orch/templates/airavata-server.properties.j2
+++ b/dev-tools/ansible/roles/api-orch/templates/airavata-server.properties.j2
@@ -313,8 +313,8 @@ enable.kafka.logging=false
 ###########################################################################
 # Profile Service Configuration
 ###########################################################################
-profile.service.server.host=localhost
-profile.service.server.port=8962
+profile.service.server.host={{ profile_service_host }}
+profile.service.server.port={{ profile_service_port }}
 profile_service=org.apache.airavata.service.profile.server.ProfileServiceServer
 # mysql properties
 profile.service.jdbc.url=jdbc:mysql://{{ db_server }}:3306/{{ profile_service }}


[09/50] [abbrv] airavata git commit: Add Tenant Profile Thrift Model

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/error/ttypes.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/error/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/error/ttypes.py
index 522cc18..ba5b056 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/error/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/error/ttypes.py
@@ -495,6 +495,82 @@ class AuthorizationException(TException):
   def __ne__(self, other):
     return not (self == other)
 
+class DuplicateEntryException(TException):
+  """
+  This exception is thrown when you try to save a duplicate entity that already exists
+    in the database.
+
+    message: contains the associated error message
+
+
+  Attributes:
+   - message
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.STRING, 'message', None, None, ), # 1
+  )
+
+  def __init__(self, message=None,):
+    self.message = message
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 1:
+        if ftype == TType.STRING:
+          self.message = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      else:
+        iprot.skip(ftype)
+      iprot.readFieldEnd()
+    iprot.readStructEnd()
+
+  def write(self, oprot):
+    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+      return
+    oprot.writeStructBegin('DuplicateEntryException')
+    if self.message is not None:
+      oprot.writeFieldBegin('message', TType.STRING, 1)
+      oprot.writeString(self.message)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    if self.message is None:
+      raise TProtocol.TProtocolException(message='Required field message is unset!')
+    return
+
+
+  def __str__(self):
+    return repr(self)
+
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.message)
+    return value
+
+  def __repr__(self):
+    L = ['%s=%r' % (key, value)
+      for key, value in self.__dict__.iteritems()]
+    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
 class AiravataClientException(TException):
   """
   This exception is thrown by Airavata Services when a call fails as a result of

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/ttypes.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/ttypes.py
index 422eae8..e829011 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/ttypes.py
@@ -27,6 +27,7 @@ import apache.airavata.model.data.movement.ttypes
 import apache.airavata.model.workflow.ttypes
 import apache.airavata.model.data.replica.ttypes
 import apache.airavata.model.group.ttypes
+import apache.airavata.model.user.ttypes
 
 
 from thrift.transport import TTransport

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/data/replica/ttypes.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/data/replica/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/data/replica/ttypes.py
index e40994d..22adc42 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/data/replica/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/data/replica/ttypes.py
@@ -65,52 +65,52 @@ class DataProductType:
   }
 
 
-class DataProductModel:
+class DataReplicaLocationModel:
   """
   Attributes:
+   - replicaId
    - productUri
-   - gatewayId
-   - parentProductUri
-   - productName
-   - productDescription
-   - ownerName
-   - dataProductType
-   - productSize
+   - replicaName
+   - replicaDescription
    - creationTime
    - lastModifiedTime
-   - productMetadata
-   - replicaLocations
+   - validUntilTime
+   - replicaLocationCategory
+   - replicaPersistentType
+   - storageResourceId
+   - filePath
+   - replicaMetadata
   """
 
   thrift_spec = (
     None, # 0
-    (1, TType.STRING, 'productUri', None, None, ), # 1
-    (2, TType.STRING, 'gatewayId', None, None, ), # 2
-    (3, TType.STRING, 'parentProductUri', None, None, ), # 3
-    (4, TType.STRING, 'productName', None, None, ), # 4
-    (5, TType.STRING, 'productDescription', None, None, ), # 5
-    (6, TType.STRING, 'ownerName', None, None, ), # 6
-    (7, TType.I32, 'dataProductType', None, None, ), # 7
-    (8, TType.I32, 'productSize', None, None, ), # 8
-    (9, TType.I64, 'creationTime', None, None, ), # 9
-    (10, TType.I64, 'lastModifiedTime', None, None, ), # 10
-    (11, TType.MAP, 'productMetadata', (TType.STRING,None,TType.STRING,None), None, ), # 11
-    (12, TType.LIST, 'replicaLocations', (TType.STRUCT,(DataReplicaLocationModel, DataReplicaLocationModel.thrift_spec)), None, ), # 12
+    (1, TType.STRING, 'replicaId', None, None, ), # 1
+    (2, TType.STRING, 'productUri', None, None, ), # 2
+    (3, TType.STRING, 'replicaName', None, None, ), # 3
+    (4, TType.STRING, 'replicaDescription', None, None, ), # 4
+    (5, TType.I64, 'creationTime', None, None, ), # 5
+    (6, TType.I64, 'lastModifiedTime', None, None, ), # 6
+    (7, TType.I64, 'validUntilTime', None, None, ), # 7
+    (8, TType.I32, 'replicaLocationCategory', None, None, ), # 8
+    (9, TType.I32, 'replicaPersistentType', None, None, ), # 9
+    (10, TType.STRING, 'storageResourceId', None, None, ), # 10
+    (11, TType.STRING, 'filePath', None, None, ), # 11
+    (12, TType.MAP, 'replicaMetadata', (TType.STRING,None,TType.STRING,None), None, ), # 12
   )
 
-  def __init__(self, productUri=None, gatewayId=None, parentProductUri=None, productName=None, productDescription=None, ownerName=None, dataProductType=None, productSize=None, creationTime=None, lastModifiedTime=None, productMetadata=None, replicaLocations=None,):
+  def __init__(self, replicaId=None, productUri=None, replicaName=None, replicaDescription=None, creationTime=None, lastModifiedTime=None, validUntilTime=None, replicaLocationCategory=None, replicaPersistentType=None, storageResourceId=None, filePath=None, replicaMetadata=None,):
+    self.replicaId = replicaId
     self.productUri = productUri
-    self.gatewayId = gatewayId
-    self.parentProductUri = parentProductUri
-    self.productName = productName
-    self.productDescription = productDescription
-    self.ownerName = ownerName
-    self.dataProductType = dataProductType
-    self.productSize = productSize
+    self.replicaName = replicaName
+    self.replicaDescription = replicaDescription
     self.creationTime = creationTime
     self.lastModifiedTime = lastModifiedTime
-    self.productMetadata = productMetadata
-    self.replicaLocations = replicaLocations
+    self.validUntilTime = validUntilTime
+    self.replicaLocationCategory = replicaLocationCategory
+    self.replicaPersistentType = replicaPersistentType
+    self.storageResourceId = storageResourceId
+    self.filePath = filePath
+    self.replicaMetadata = replicaMetadata
 
   def read(self, iprot):
     if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
@@ -123,76 +123,70 @@ class DataProductModel:
         break
       if fid == 1:
         if ftype == TType.STRING:
-          self.productUri = iprot.readString()
+          self.replicaId = iprot.readString()
         else:
           iprot.skip(ftype)
       elif fid == 2:
         if ftype == TType.STRING:
-          self.gatewayId = iprot.readString()
+          self.productUri = iprot.readString()
         else:
           iprot.skip(ftype)
       elif fid == 3:
         if ftype == TType.STRING:
-          self.parentProductUri = iprot.readString()
+          self.replicaName = iprot.readString()
         else:
           iprot.skip(ftype)
       elif fid == 4:
         if ftype == TType.STRING:
-          self.productName = iprot.readString()
+          self.replicaDescription = iprot.readString()
         else:
           iprot.skip(ftype)
       elif fid == 5:
-        if ftype == TType.STRING:
-          self.productDescription = iprot.readString()
+        if ftype == TType.I64:
+          self.creationTime = iprot.readI64()
         else:
           iprot.skip(ftype)
       elif fid == 6:
-        if ftype == TType.STRING:
-          self.ownerName = iprot.readString()
+        if ftype == TType.I64:
+          self.lastModifiedTime = iprot.readI64()
         else:
           iprot.skip(ftype)
       elif fid == 7:
-        if ftype == TType.I32:
-          self.dataProductType = iprot.readI32()
+        if ftype == TType.I64:
+          self.validUntilTime = iprot.readI64()
         else:
           iprot.skip(ftype)
       elif fid == 8:
         if ftype == TType.I32:
-          self.productSize = iprot.readI32()
+          self.replicaLocationCategory = iprot.readI32()
         else:
           iprot.skip(ftype)
       elif fid == 9:
-        if ftype == TType.I64:
-          self.creationTime = iprot.readI64()
+        if ftype == TType.I32:
+          self.replicaPersistentType = iprot.readI32()
         else:
           iprot.skip(ftype)
       elif fid == 10:
-        if ftype == TType.I64:
-          self.lastModifiedTime = iprot.readI64()
+        if ftype == TType.STRING:
+          self.storageResourceId = iprot.readString()
         else:
           iprot.skip(ftype)
       elif fid == 11:
+        if ftype == TType.STRING:
+          self.filePath = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 12:
         if ftype == TType.MAP:
-          self.productMetadata = {}
+          self.replicaMetadata = {}
           (_ktype1, _vtype2, _size0 ) = iprot.readMapBegin()
           for _i4 in xrange(_size0):
             _key5 = iprot.readString()
             _val6 = iprot.readString()
-            self.productMetadata[_key5] = _val6
+            self.replicaMetadata[_key5] = _val6
           iprot.readMapEnd()
         else:
           iprot.skip(ftype)
-      elif fid == 12:
-        if ftype == TType.LIST:
-          self.replicaLocations = []
-          (_etype10, _size7) = iprot.readListBegin()
-          for _i11 in xrange(_size7):
-            _elem12 = DataReplicaLocationModel()
-            _elem12.read(iprot)
-            self.replicaLocations.append(_elem12)
-          iprot.readListEnd()
-        else:
-          iprot.skip(ftype)
       else:
         iprot.skip(ftype)
       iprot.readFieldEnd()
@@ -202,62 +196,59 @@ class DataProductModel:
     if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
       oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
       return
-    oprot.writeStructBegin('DataProductModel')
+    oprot.writeStructBegin('DataReplicaLocationModel')
+    if self.replicaId is not None:
+      oprot.writeFieldBegin('replicaId', TType.STRING, 1)
+      oprot.writeString(self.replicaId)
+      oprot.writeFieldEnd()
     if self.productUri is not None:
-      oprot.writeFieldBegin('productUri', TType.STRING, 1)
+      oprot.writeFieldBegin('productUri', TType.STRING, 2)
       oprot.writeString(self.productUri)
       oprot.writeFieldEnd()
-    if self.gatewayId is not None:
-      oprot.writeFieldBegin('gatewayId', TType.STRING, 2)
-      oprot.writeString(self.gatewayId)
+    if self.replicaName is not None:
+      oprot.writeFieldBegin('replicaName', TType.STRING, 3)
+      oprot.writeString(self.replicaName)
       oprot.writeFieldEnd()
-    if self.parentProductUri is not None:
-      oprot.writeFieldBegin('parentProductUri', TType.STRING, 3)
-      oprot.writeString(self.parentProductUri)
+    if self.replicaDescription is not None:
+      oprot.writeFieldBegin('replicaDescription', TType.STRING, 4)
+      oprot.writeString(self.replicaDescription)
       oprot.writeFieldEnd()
-    if self.productName is not None:
-      oprot.writeFieldBegin('productName', TType.STRING, 4)
-      oprot.writeString(self.productName)
+    if self.creationTime is not None:
+      oprot.writeFieldBegin('creationTime', TType.I64, 5)
+      oprot.writeI64(self.creationTime)
       oprot.writeFieldEnd()
-    if self.productDescription is not None:
-      oprot.writeFieldBegin('productDescription', TType.STRING, 5)
-      oprot.writeString(self.productDescription)
+    if self.lastModifiedTime is not None:
+      oprot.writeFieldBegin('lastModifiedTime', TType.I64, 6)
+      oprot.writeI64(self.lastModifiedTime)
       oprot.writeFieldEnd()
-    if self.ownerName is not None:
-      oprot.writeFieldBegin('ownerName', TType.STRING, 6)
-      oprot.writeString(self.ownerName)
+    if self.validUntilTime is not None:
+      oprot.writeFieldBegin('validUntilTime', TType.I64, 7)
+      oprot.writeI64(self.validUntilTime)
       oprot.writeFieldEnd()
-    if self.dataProductType is not None:
-      oprot.writeFieldBegin('dataProductType', TType.I32, 7)
-      oprot.writeI32(self.dataProductType)
+    if self.replicaLocationCategory is not None:
+      oprot.writeFieldBegin('replicaLocationCategory', TType.I32, 8)
+      oprot.writeI32(self.replicaLocationCategory)
       oprot.writeFieldEnd()
-    if self.productSize is not None:
-      oprot.writeFieldBegin('productSize', TType.I32, 8)
-      oprot.writeI32(self.productSize)
+    if self.replicaPersistentType is not None:
+      oprot.writeFieldBegin('replicaPersistentType', TType.I32, 9)
+      oprot.writeI32(self.replicaPersistentType)
       oprot.writeFieldEnd()
-    if self.creationTime is not None:
-      oprot.writeFieldBegin('creationTime', TType.I64, 9)
-      oprot.writeI64(self.creationTime)
+    if self.storageResourceId is not None:
+      oprot.writeFieldBegin('storageResourceId', TType.STRING, 10)
+      oprot.writeString(self.storageResourceId)
       oprot.writeFieldEnd()
-    if self.lastModifiedTime is not None:
-      oprot.writeFieldBegin('lastModifiedTime', TType.I64, 10)
-      oprot.writeI64(self.lastModifiedTime)
+    if self.filePath is not None:
+      oprot.writeFieldBegin('filePath', TType.STRING, 11)
+      oprot.writeString(self.filePath)
       oprot.writeFieldEnd()
-    if self.productMetadata is not None:
-      oprot.writeFieldBegin('productMetadata', TType.MAP, 11)
-      oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.productMetadata))
-      for kiter13,viter14 in self.productMetadata.items():
-        oprot.writeString(kiter13)
-        oprot.writeString(viter14)
+    if self.replicaMetadata is not None:
+      oprot.writeFieldBegin('replicaMetadata', TType.MAP, 12)
+      oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.replicaMetadata))
+      for kiter7,viter8 in self.replicaMetadata.items():
+        oprot.writeString(kiter7)
+        oprot.writeString(viter8)
       oprot.writeMapEnd()
       oprot.writeFieldEnd()
-    if self.replicaLocations is not None:
-      oprot.writeFieldBegin('replicaLocations', TType.LIST, 12)
-      oprot.writeListBegin(TType.STRUCT, len(self.replicaLocations))
-      for iter15 in self.replicaLocations:
-        iter15.write(oprot)
-      oprot.writeListEnd()
-      oprot.writeFieldEnd()
     oprot.writeFieldStop()
     oprot.writeStructEnd()
 
@@ -267,18 +258,18 @@ class DataProductModel:
 
   def __hash__(self):
     value = 17
+    value = (value * 31) ^ hash(self.replicaId)
     value = (value * 31) ^ hash(self.productUri)
-    value = (value * 31) ^ hash(self.gatewayId)
-    value = (value * 31) ^ hash(self.parentProductUri)
-    value = (value * 31) ^ hash(self.productName)
-    value = (value * 31) ^ hash(self.productDescription)
-    value = (value * 31) ^ hash(self.ownerName)
-    value = (value * 31) ^ hash(self.dataProductType)
-    value = (value * 31) ^ hash(self.productSize)
+    value = (value * 31) ^ hash(self.replicaName)
+    value = (value * 31) ^ hash(self.replicaDescription)
     value = (value * 31) ^ hash(self.creationTime)
     value = (value * 31) ^ hash(self.lastModifiedTime)
-    value = (value * 31) ^ hash(self.productMetadata)
-    value = (value * 31) ^ hash(self.replicaLocations)
+    value = (value * 31) ^ hash(self.validUntilTime)
+    value = (value * 31) ^ hash(self.replicaLocationCategory)
+    value = (value * 31) ^ hash(self.replicaPersistentType)
+    value = (value * 31) ^ hash(self.storageResourceId)
+    value = (value * 31) ^ hash(self.filePath)
+    value = (value * 31) ^ hash(self.replicaMetadata)
     return value
 
   def __repr__(self):
@@ -292,52 +283,52 @@ class DataProductModel:
   def __ne__(self, other):
     return not (self == other)
 
-class DataReplicaLocationModel:
+class DataProductModel:
   """
   Attributes:
-   - replicaId
    - productUri
-   - replicaName
-   - replicaDescription
+   - gatewayId
+   - parentProductUri
+   - productName
+   - productDescription
+   - ownerName
+   - dataProductType
+   - productSize
    - creationTime
    - lastModifiedTime
-   - validUntilTime
-   - replicaLocationCategory
-   - replicaPersistentType
-   - storageResourceId
-   - filePath
-   - replicaMetadata
+   - productMetadata
+   - replicaLocations
   """
 
   thrift_spec = (
     None, # 0
-    (1, TType.STRING, 'replicaId', None, None, ), # 1
-    (2, TType.STRING, 'productUri', None, None, ), # 2
-    (3, TType.STRING, 'replicaName', None, None, ), # 3
-    (4, TType.STRING, 'replicaDescription', None, None, ), # 4
-    (5, TType.I64, 'creationTime', None, None, ), # 5
-    (6, TType.I64, 'lastModifiedTime', None, None, ), # 6
-    (7, TType.I64, 'validUntilTime', None, None, ), # 7
-    (8, TType.I32, 'replicaLocationCategory', None, None, ), # 8
-    (9, TType.I32, 'replicaPersistentType', None, None, ), # 9
-    (10, TType.STRING, 'storageResourceId', None, None, ), # 10
-    (11, TType.STRING, 'filePath', None, None, ), # 11
-    (12, TType.MAP, 'replicaMetadata', (TType.STRING,None,TType.STRING,None), None, ), # 12
+    (1, TType.STRING, 'productUri', None, None, ), # 1
+    (2, TType.STRING, 'gatewayId', None, None, ), # 2
+    (3, TType.STRING, 'parentProductUri', None, None, ), # 3
+    (4, TType.STRING, 'productName', None, None, ), # 4
+    (5, TType.STRING, 'productDescription', None, None, ), # 5
+    (6, TType.STRING, 'ownerName', None, None, ), # 6
+    (7, TType.I32, 'dataProductType', None, None, ), # 7
+    (8, TType.I32, 'productSize', None, None, ), # 8
+    (9, TType.I64, 'creationTime', None, None, ), # 9
+    (10, TType.I64, 'lastModifiedTime', None, None, ), # 10
+    (11, TType.MAP, 'productMetadata', (TType.STRING,None,TType.STRING,None), None, ), # 11
+    (12, TType.LIST, 'replicaLocations', (TType.STRUCT,(DataReplicaLocationModel, DataReplicaLocationModel.thrift_spec)), None, ), # 12
   )
 
-  def __init__(self, replicaId=None, productUri=None, replicaName=None, replicaDescription=None, creationTime=None, lastModifiedTime=None, validUntilTime=None, replicaLocationCategory=None, replicaPersistentType=None, storageResourceId=None, filePath=None, replicaMetadata=None,):
-    self.replicaId = replicaId
+  def __init__(self, productUri=None, gatewayId=None, parentProductUri=None, productName=None, productDescription=None, ownerName=None, dataProductType=None, productSize=None, creationTime=None, lastModifiedTime=None, productMetadata=None, replicaLocations=None,):
     self.productUri = productUri
-    self.replicaName = replicaName
-    self.replicaDescription = replicaDescription
+    self.gatewayId = gatewayId
+    self.parentProductUri = parentProductUri
+    self.productName = productName
+    self.productDescription = productDescription
+    self.ownerName = ownerName
+    self.dataProductType = dataProductType
+    self.productSize = productSize
     self.creationTime = creationTime
     self.lastModifiedTime = lastModifiedTime
-    self.validUntilTime = validUntilTime
-    self.replicaLocationCategory = replicaLocationCategory
-    self.replicaPersistentType = replicaPersistentType
-    self.storageResourceId = storageResourceId
-    self.filePath = filePath
-    self.replicaMetadata = replicaMetadata
+    self.productMetadata = productMetadata
+    self.replicaLocations = replicaLocations
 
   def read(self, iprot):
     if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
@@ -350,68 +341,74 @@ class DataReplicaLocationModel:
         break
       if fid == 1:
         if ftype == TType.STRING:
-          self.replicaId = iprot.readString()
+          self.productUri = iprot.readString()
         else:
           iprot.skip(ftype)
       elif fid == 2:
         if ftype == TType.STRING:
-          self.productUri = iprot.readString()
+          self.gatewayId = iprot.readString()
         else:
           iprot.skip(ftype)
       elif fid == 3:
         if ftype == TType.STRING:
-          self.replicaName = iprot.readString()
+          self.parentProductUri = iprot.readString()
         else:
           iprot.skip(ftype)
       elif fid == 4:
         if ftype == TType.STRING:
-          self.replicaDescription = iprot.readString()
+          self.productName = iprot.readString()
         else:
           iprot.skip(ftype)
       elif fid == 5:
-        if ftype == TType.I64:
-          self.creationTime = iprot.readI64()
+        if ftype == TType.STRING:
+          self.productDescription = iprot.readString()
         else:
           iprot.skip(ftype)
       elif fid == 6:
-        if ftype == TType.I64:
-          self.lastModifiedTime = iprot.readI64()
+        if ftype == TType.STRING:
+          self.ownerName = iprot.readString()
         else:
           iprot.skip(ftype)
       elif fid == 7:
-        if ftype == TType.I64:
-          self.validUntilTime = iprot.readI64()
+        if ftype == TType.I32:
+          self.dataProductType = iprot.readI32()
         else:
           iprot.skip(ftype)
       elif fid == 8:
         if ftype == TType.I32:
-          self.replicaLocationCategory = iprot.readI32()
+          self.productSize = iprot.readI32()
         else:
           iprot.skip(ftype)
       elif fid == 9:
-        if ftype == TType.I32:
-          self.replicaPersistentType = iprot.readI32()
+        if ftype == TType.I64:
+          self.creationTime = iprot.readI64()
         else:
           iprot.skip(ftype)
       elif fid == 10:
-        if ftype == TType.STRING:
-          self.storageResourceId = iprot.readString()
+        if ftype == TType.I64:
+          self.lastModifiedTime = iprot.readI64()
         else:
           iprot.skip(ftype)
       elif fid == 11:
-        if ftype == TType.STRING:
-          self.filePath = iprot.readString()
+        if ftype == TType.MAP:
+          self.productMetadata = {}
+          (_ktype10, _vtype11, _size9 ) = iprot.readMapBegin()
+          for _i13 in xrange(_size9):
+            _key14 = iprot.readString()
+            _val15 = iprot.readString()
+            self.productMetadata[_key14] = _val15
+          iprot.readMapEnd()
         else:
           iprot.skip(ftype)
       elif fid == 12:
-        if ftype == TType.MAP:
-          self.replicaMetadata = {}
-          (_ktype17, _vtype18, _size16 ) = iprot.readMapBegin()
+        if ftype == TType.LIST:
+          self.replicaLocations = []
+          (_etype19, _size16) = iprot.readListBegin()
           for _i20 in xrange(_size16):
-            _key21 = iprot.readString()
-            _val22 = iprot.readString()
-            self.replicaMetadata[_key21] = _val22
-          iprot.readMapEnd()
+            _elem21 = DataReplicaLocationModel()
+            _elem21.read(iprot)
+            self.replicaLocations.append(_elem21)
+          iprot.readListEnd()
         else:
           iprot.skip(ftype)
       else:
@@ -423,59 +420,62 @@ class DataReplicaLocationModel:
     if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
       oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
       return
-    oprot.writeStructBegin('DataReplicaLocationModel')
-    if self.replicaId is not None:
-      oprot.writeFieldBegin('replicaId', TType.STRING, 1)
-      oprot.writeString(self.replicaId)
-      oprot.writeFieldEnd()
+    oprot.writeStructBegin('DataProductModel')
     if self.productUri is not None:
-      oprot.writeFieldBegin('productUri', TType.STRING, 2)
+      oprot.writeFieldBegin('productUri', TType.STRING, 1)
       oprot.writeString(self.productUri)
       oprot.writeFieldEnd()
-    if self.replicaName is not None:
-      oprot.writeFieldBegin('replicaName', TType.STRING, 3)
-      oprot.writeString(self.replicaName)
+    if self.gatewayId is not None:
+      oprot.writeFieldBegin('gatewayId', TType.STRING, 2)
+      oprot.writeString(self.gatewayId)
       oprot.writeFieldEnd()
-    if self.replicaDescription is not None:
-      oprot.writeFieldBegin('replicaDescription', TType.STRING, 4)
-      oprot.writeString(self.replicaDescription)
+    if self.parentProductUri is not None:
+      oprot.writeFieldBegin('parentProductUri', TType.STRING, 3)
+      oprot.writeString(self.parentProductUri)
       oprot.writeFieldEnd()
-    if self.creationTime is not None:
-      oprot.writeFieldBegin('creationTime', TType.I64, 5)
-      oprot.writeI64(self.creationTime)
+    if self.productName is not None:
+      oprot.writeFieldBegin('productName', TType.STRING, 4)
+      oprot.writeString(self.productName)
       oprot.writeFieldEnd()
-    if self.lastModifiedTime is not None:
-      oprot.writeFieldBegin('lastModifiedTime', TType.I64, 6)
-      oprot.writeI64(self.lastModifiedTime)
+    if self.productDescription is not None:
+      oprot.writeFieldBegin('productDescription', TType.STRING, 5)
+      oprot.writeString(self.productDescription)
       oprot.writeFieldEnd()
-    if self.validUntilTime is not None:
-      oprot.writeFieldBegin('validUntilTime', TType.I64, 7)
-      oprot.writeI64(self.validUntilTime)
+    if self.ownerName is not None:
+      oprot.writeFieldBegin('ownerName', TType.STRING, 6)
+      oprot.writeString(self.ownerName)
       oprot.writeFieldEnd()
-    if self.replicaLocationCategory is not None:
-      oprot.writeFieldBegin('replicaLocationCategory', TType.I32, 8)
-      oprot.writeI32(self.replicaLocationCategory)
+    if self.dataProductType is not None:
+      oprot.writeFieldBegin('dataProductType', TType.I32, 7)
+      oprot.writeI32(self.dataProductType)
       oprot.writeFieldEnd()
-    if self.replicaPersistentType is not None:
-      oprot.writeFieldBegin('replicaPersistentType', TType.I32, 9)
-      oprot.writeI32(self.replicaPersistentType)
+    if self.productSize is not None:
+      oprot.writeFieldBegin('productSize', TType.I32, 8)
+      oprot.writeI32(self.productSize)
       oprot.writeFieldEnd()
-    if self.storageResourceId is not None:
-      oprot.writeFieldBegin('storageResourceId', TType.STRING, 10)
-      oprot.writeString(self.storageResourceId)
+    if self.creationTime is not None:
+      oprot.writeFieldBegin('creationTime', TType.I64, 9)
+      oprot.writeI64(self.creationTime)
       oprot.writeFieldEnd()
-    if self.filePath is not None:
-      oprot.writeFieldBegin('filePath', TType.STRING, 11)
-      oprot.writeString(self.filePath)
+    if self.lastModifiedTime is not None:
+      oprot.writeFieldBegin('lastModifiedTime', TType.I64, 10)
+      oprot.writeI64(self.lastModifiedTime)
       oprot.writeFieldEnd()
-    if self.replicaMetadata is not None:
-      oprot.writeFieldBegin('replicaMetadata', TType.MAP, 12)
-      oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.replicaMetadata))
-      for kiter23,viter24 in self.replicaMetadata.items():
-        oprot.writeString(kiter23)
-        oprot.writeString(viter24)
+    if self.productMetadata is not None:
+      oprot.writeFieldBegin('productMetadata', TType.MAP, 11)
+      oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.productMetadata))
+      for kiter22,viter23 in self.productMetadata.items():
+        oprot.writeString(kiter22)
+        oprot.writeString(viter23)
       oprot.writeMapEnd()
       oprot.writeFieldEnd()
+    if self.replicaLocations is not None:
+      oprot.writeFieldBegin('replicaLocations', TType.LIST, 12)
+      oprot.writeListBegin(TType.STRUCT, len(self.replicaLocations))
+      for iter24 in self.replicaLocations:
+        iter24.write(oprot)
+      oprot.writeListEnd()
+      oprot.writeFieldEnd()
     oprot.writeFieldStop()
     oprot.writeStructEnd()
 
@@ -485,18 +485,18 @@ class DataReplicaLocationModel:
 
   def __hash__(self):
     value = 17
-    value = (value * 31) ^ hash(self.replicaId)
     value = (value * 31) ^ hash(self.productUri)
-    value = (value * 31) ^ hash(self.replicaName)
-    value = (value * 31) ^ hash(self.replicaDescription)
+    value = (value * 31) ^ hash(self.gatewayId)
+    value = (value * 31) ^ hash(self.parentProductUri)
+    value = (value * 31) ^ hash(self.productName)
+    value = (value * 31) ^ hash(self.productDescription)
+    value = (value * 31) ^ hash(self.ownerName)
+    value = (value * 31) ^ hash(self.dataProductType)
+    value = (value * 31) ^ hash(self.productSize)
     value = (value * 31) ^ hash(self.creationTime)
     value = (value * 31) ^ hash(self.lastModifiedTime)
-    value = (value * 31) ^ hash(self.validUntilTime)
-    value = (value * 31) ^ hash(self.replicaLocationCategory)
-    value = (value * 31) ^ hash(self.replicaPersistentType)
-    value = (value * 31) ^ hash(self.storageResourceId)
-    value = (value * 31) ^ hash(self.filePath)
-    value = (value * 31) ^ hash(self.replicaMetadata)
+    value = (value * 31) ^ hash(self.productMetadata)
+    value = (value * 31) ^ hash(self.replicaLocations)
     return value
 
   def __repr__(self):

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/dbevent/__init__.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/dbevent/__init__.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/dbevent/__init__.py
new file mode 100644
index 0000000..adefd8e
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/dbevent/__init__.py
@@ -0,0 +1 @@
+__all__ = ['ttypes', 'constants']

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/dbevent/constants.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/dbevent/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/dbevent/constants.py
new file mode 100644
index 0000000..4a6492b
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/dbevent/constants.py
@@ -0,0 +1,11 @@
+#
+# Autogenerated by Thrift Compiler (0.9.3)
+#
+# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+#
+#  options string: py
+#
+
+from thrift.Thrift import TType, TMessageType, TException, TApplicationException
+from ttypes import *
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/dbevent/ttypes.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/dbevent/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/dbevent/ttypes.py
new file mode 100644
index 0000000..996f5bb
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/dbevent/ttypes.py
@@ -0,0 +1,494 @@
+#
+# Autogenerated by Thrift Compiler (0.9.3)
+#
+# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+#
+#  options string: py
+#
+
+from thrift.Thrift import TType, TMessageType, TException, TApplicationException
+
+from thrift.transport import TTransport
+from thrift.protocol import TBinaryProtocol, TProtocol
+try:
+  from thrift.protocol import fastbinary
+except:
+  fastbinary = None
+
+
+class CrudType:
+  CREATE = 0
+  READ = 1
+  UPDATE = 2
+  DELETE = 3
+
+  _VALUES_TO_NAMES = {
+    0: "CREATE",
+    1: "READ",
+    2: "UPDATE",
+    3: "DELETE",
+  }
+
+  _NAMES_TO_VALUES = {
+    "CREATE": 0,
+    "READ": 1,
+    "UPDATE": 2,
+    "DELETE": 3,
+  }
+
+class EntityType:
+  USER_PROFILE = 0
+  TENANT = 1
+  GROUP = 2
+  PROJECT = 3
+  EXPERIMENT = 4
+  APPLICATION = 5
+  SHARING = 6
+  REGISTRY = 7
+
+  _VALUES_TO_NAMES = {
+    0: "USER_PROFILE",
+    1: "TENANT",
+    2: "GROUP",
+    3: "PROJECT",
+    4: "EXPERIMENT",
+    5: "APPLICATION",
+    6: "SHARING",
+    7: "REGISTRY",
+  }
+
+  _NAMES_TO_VALUES = {
+    "USER_PROFILE": 0,
+    "TENANT": 1,
+    "GROUP": 2,
+    "PROJECT": 3,
+    "EXPERIMENT": 4,
+    "APPLICATION": 5,
+    "SHARING": 6,
+    "REGISTRY": 7,
+  }
+
+class DBEventType:
+  PUBLISHER = 0
+  SUBSCRIBER = 1
+
+  _VALUES_TO_NAMES = {
+    0: "PUBLISHER",
+    1: "SUBSCRIBER",
+  }
+
+  _NAMES_TO_VALUES = {
+    "PUBLISHER": 0,
+    "SUBSCRIBER": 1,
+  }
+
+
+class DBEventPublisherContext:
+  """
+  Attributes:
+   - crudType
+   - entityType
+   - entityDataModel
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.I32, 'crudType', None, None, ), # 1
+    (2, TType.I32, 'entityType', None, None, ), # 2
+    (3, TType.STRING, 'entityDataModel', None, None, ), # 3
+  )
+
+  def __init__(self, crudType=None, entityType=None, entityDataModel=None,):
+    self.crudType = crudType
+    self.entityType = entityType
+    self.entityDataModel = entityDataModel
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 1:
+        if ftype == TType.I32:
+          self.crudType = iprot.readI32()
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.I32:
+          self.entityType = iprot.readI32()
+        else:
+          iprot.skip(ftype)
+      elif fid == 3:
+        if ftype == TType.STRING:
+          self.entityDataModel = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      else:
+        iprot.skip(ftype)
+      iprot.readFieldEnd()
+    iprot.readStructEnd()
+
+  def write(self, oprot):
+    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+      return
+    oprot.writeStructBegin('DBEventPublisherContext')
+    if self.crudType is not None:
+      oprot.writeFieldBegin('crudType', TType.I32, 1)
+      oprot.writeI32(self.crudType)
+      oprot.writeFieldEnd()
+    if self.entityType is not None:
+      oprot.writeFieldBegin('entityType', TType.I32, 2)
+      oprot.writeI32(self.entityType)
+      oprot.writeFieldEnd()
+    if self.entityDataModel is not None:
+      oprot.writeFieldBegin('entityDataModel', TType.STRING, 3)
+      oprot.writeString(self.entityDataModel)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    if self.crudType is None:
+      raise TProtocol.TProtocolException(message='Required field crudType is unset!')
+    if self.entityType is None:
+      raise TProtocol.TProtocolException(message='Required field entityType is unset!')
+    if self.entityDataModel is None:
+      raise TProtocol.TProtocolException(message='Required field entityDataModel is unset!')
+    return
+
+
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.crudType)
+    value = (value * 31) ^ hash(self.entityType)
+    value = (value * 31) ^ hash(self.entityDataModel)
+    return value
+
+  def __repr__(self):
+    L = ['%s=%r' % (key, value)
+      for key, value in self.__dict__.iteritems()]
+    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
+class DBEventPublisher:
+  """
+  Attributes:
+   - publisherContext
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.STRUCT, 'publisherContext', (DBEventPublisherContext, DBEventPublisherContext.thrift_spec), None, ), # 1
+  )
+
+  def __init__(self, publisherContext=None,):
+    self.publisherContext = publisherContext
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 1:
+        if ftype == TType.STRUCT:
+          self.publisherContext = DBEventPublisherContext()
+          self.publisherContext.read(iprot)
+        else:
+          iprot.skip(ftype)
+      else:
+        iprot.skip(ftype)
+      iprot.readFieldEnd()
+    iprot.readStructEnd()
+
+  def write(self, oprot):
+    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+      return
+    oprot.writeStructBegin('DBEventPublisher')
+    if self.publisherContext is not None:
+      oprot.writeFieldBegin('publisherContext', TType.STRUCT, 1)
+      self.publisherContext.write(oprot)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    if self.publisherContext is None:
+      raise TProtocol.TProtocolException(message='Required field publisherContext is unset!')
+    return
+
+
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.publisherContext)
+    return value
+
+  def __repr__(self):
+    L = ['%s=%r' % (key, value)
+      for key, value in self.__dict__.iteritems()]
+    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
+class DBEventSubscriber:
+  """
+  Attributes:
+   - subscriberService
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.STRING, 'subscriberService', None, None, ), # 1
+  )
+
+  def __init__(self, subscriberService=None,):
+    self.subscriberService = subscriberService
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 1:
+        if ftype == TType.STRING:
+          self.subscriberService = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      else:
+        iprot.skip(ftype)
+      iprot.readFieldEnd()
+    iprot.readStructEnd()
+
+  def write(self, oprot):
+    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+      return
+    oprot.writeStructBegin('DBEventSubscriber')
+    if self.subscriberService is not None:
+      oprot.writeFieldBegin('subscriberService', TType.STRING, 1)
+      oprot.writeString(self.subscriberService)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    if self.subscriberService is None:
+      raise TProtocol.TProtocolException(message='Required field subscriberService is unset!')
+    return
+
+
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.subscriberService)
+    return value
+
+  def __repr__(self):
+    L = ['%s=%r' % (key, value)
+      for key, value in self.__dict__.iteritems()]
+    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
+class DBEventMessageContext:
+  """
+  Attributes:
+   - publisher
+   - subscriber
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.STRUCT, 'publisher', (DBEventPublisher, DBEventPublisher.thrift_spec), None, ), # 1
+    (2, TType.STRUCT, 'subscriber', (DBEventSubscriber, DBEventSubscriber.thrift_spec), None, ), # 2
+  )
+
+  def __init__(self, publisher=None, subscriber=None,):
+    self.publisher = publisher
+    self.subscriber = subscriber
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 1:
+        if ftype == TType.STRUCT:
+          self.publisher = DBEventPublisher()
+          self.publisher.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.STRUCT:
+          self.subscriber = DBEventSubscriber()
+          self.subscriber.read(iprot)
+        else:
+          iprot.skip(ftype)
+      else:
+        iprot.skip(ftype)
+      iprot.readFieldEnd()
+    iprot.readStructEnd()
+
+  def write(self, oprot):
+    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+      return
+    oprot.writeStructBegin('DBEventMessageContext')
+    if self.publisher is not None:
+      oprot.writeFieldBegin('publisher', TType.STRUCT, 1)
+      self.publisher.write(oprot)
+      oprot.writeFieldEnd()
+    if self.subscriber is not None:
+      oprot.writeFieldBegin('subscriber', TType.STRUCT, 2)
+      self.subscriber.write(oprot)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    return
+
+
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.publisher)
+    value = (value * 31) ^ hash(self.subscriber)
+    return value
+
+  def __repr__(self):
+    L = ['%s=%r' % (key, value)
+      for key, value in self.__dict__.iteritems()]
+    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
+class DBEventMessage:
+  """
+  Attributes:
+   - dbEventType
+   - messageContext
+   - publisherService
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.I32, 'dbEventType', None, None, ), # 1
+    (2, TType.STRUCT, 'messageContext', (DBEventMessageContext, DBEventMessageContext.thrift_spec), None, ), # 2
+    (3, TType.STRING, 'publisherService', None, None, ), # 3
+  )
+
+  def __init__(self, dbEventType=None, messageContext=None, publisherService=None,):
+    self.dbEventType = dbEventType
+    self.messageContext = messageContext
+    self.publisherService = publisherService
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 1:
+        if ftype == TType.I32:
+          self.dbEventType = iprot.readI32()
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.STRUCT:
+          self.messageContext = DBEventMessageContext()
+          self.messageContext.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 3:
+        if ftype == TType.STRING:
+          self.publisherService = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      else:
+        iprot.skip(ftype)
+      iprot.readFieldEnd()
+    iprot.readStructEnd()
+
+  def write(self, oprot):
+    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+      return
+    oprot.writeStructBegin('DBEventMessage')
+    if self.dbEventType is not None:
+      oprot.writeFieldBegin('dbEventType', TType.I32, 1)
+      oprot.writeI32(self.dbEventType)
+      oprot.writeFieldEnd()
+    if self.messageContext is not None:
+      oprot.writeFieldBegin('messageContext', TType.STRUCT, 2)
+      self.messageContext.write(oprot)
+      oprot.writeFieldEnd()
+    if self.publisherService is not None:
+      oprot.writeFieldBegin('publisherService', TType.STRING, 3)
+      oprot.writeString(self.publisherService)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    if self.dbEventType is None:
+      raise TProtocol.TProtocolException(message='Required field dbEventType is unset!')
+    if self.messageContext is None:
+      raise TProtocol.TProtocolException(message='Required field messageContext is unset!')
+    if self.publisherService is None:
+      raise TProtocol.TProtocolException(message='Required field publisherService is unset!')
+    return
+
+
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.dbEventType)
+    value = (value * 31) ^ hash(self.messageContext)
+    value = (value * 31) ^ hash(self.publisherService)
+    return value
+
+  def __repr__(self):
+    L = ['%s=%r' % (key, value)
+      for key, value in self.__dict__.iteritems()]
+    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/messaging/event/ttypes.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/messaging/event/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/messaging/event/ttypes.py
index 818841d..42e9da4 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/messaging/event/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/messaging/event/ttypes.py
@@ -49,6 +49,7 @@ class MessageType:
   LAUNCHPROCESS = 5
   TERMINATEPROCESS = 6
   PROCESSOUTPUT = 7
+  DB_EVENT = 8
 
   _VALUES_TO_NAMES = {
     0: "EXPERIMENT",
@@ -59,6 +60,7 @@ class MessageType:
     5: "LAUNCHPROCESS",
     6: "TERMINATEPROCESS",
     7: "PROCESSOUTPUT",
+    8: "DB_EVENT",
   }
 
   _NAMES_TO_VALUES = {
@@ -70,6 +72,7 @@ class MessageType:
     "LAUNCHPROCESS": 5,
     "TERMINATEPROCESS": 6,
     "PROCESSOUTPUT": 7,
+    "DB_EVENT": 8,
   }
 
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/tenant/__init__.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/tenant/__init__.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/tenant/__init__.py
new file mode 100644
index 0000000..adefd8e
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/tenant/__init__.py
@@ -0,0 +1 @@
+__all__ = ['ttypes', 'constants']

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/tenant/constants.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/tenant/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/tenant/constants.py
new file mode 100644
index 0000000..4a6492b
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/tenant/constants.py
@@ -0,0 +1,11 @@
+#
+# Autogenerated by Thrift Compiler (0.9.3)
+#
+# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+#
+#  options string: py
+#
+
+from thrift.Thrift import TType, TMessageType, TException, TApplicationException
+from ttypes import *
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/tenant/ttypes.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/tenant/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/tenant/ttypes.py
new file mode 100644
index 0000000..f13ce58
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/tenant/ttypes.py
@@ -0,0 +1,352 @@
+#
+# Autogenerated by Thrift Compiler (0.9.3)
+#
+# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+#
+#  options string: py
+#
+
+from thrift.Thrift import TType, TMessageType, TException, TApplicationException
+import apache.airavata.model.commons.ttypes
+
+
+from thrift.transport import TTransport
+from thrift.protocol import TBinaryProtocol, TProtocol
+try:
+  from thrift.protocol import fastbinary
+except:
+  fastbinary = None
+
+
+class TenantApprovalStatus:
+  REQUESTED = 0
+  APPROVED = 1
+  ACTIVE = 2
+  DEACTIVATED = 3
+  CANCELLED = 4
+  DENIED = 5
+  CREATED = 6
+
+  _VALUES_TO_NAMES = {
+    0: "REQUESTED",
+    1: "APPROVED",
+    2: "ACTIVE",
+    3: "DEACTIVATED",
+    4: "CANCELLED",
+    5: "DENIED",
+    6: "CREATED",
+  }
+
+  _NAMES_TO_VALUES = {
+    "REQUESTED": 0,
+    "APPROVED": 1,
+    "ACTIVE": 2,
+    "DEACTIVATED": 3,
+    "CANCELLED": 4,
+    "DENIED": 5,
+    "CREATED": 6,
+  }
+
+
+class Tenant:
+  """
+  Attributes:
+   - tenantId
+   - tenantApprovalStatus
+   - tenantName
+   - domain
+   - emailAddress
+   - tenantAcronym
+   - tenantURL
+   - tenantPublicAbstract
+   - reviewProposalDescription
+   - tenantAdminFirstName
+   - tenantAdminLastName
+   - tenantAdminEmail
+   - identityServerUserName
+   - identityServerPasswordToken
+   - declinedReason
+   - oauthClientId
+   - oauthClientSecret
+   - requestCreationTime
+   - requesterUsername
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.STRING, 'tenantId', None, None, ), # 1
+    (2, TType.I32, 'tenantApprovalStatus', None, None, ), # 2
+    (3, TType.STRING, 'tenantName', None, None, ), # 3
+    (4, TType.STRING, 'domain', None, None, ), # 4
+    (5, TType.STRING, 'emailAddress', None, None, ), # 5
+    (6, TType.STRING, 'tenantAcronym', None, None, ), # 6
+    (7, TType.STRING, 'tenantURL', None, None, ), # 7
+    (8, TType.STRING, 'tenantPublicAbstract', None, None, ), # 8
+    (9, TType.STRING, 'reviewProposalDescription', None, None, ), # 9
+    (10, TType.STRING, 'tenantAdminFirstName', None, None, ), # 10
+    (11, TType.STRING, 'tenantAdminLastName', None, None, ), # 11
+    (12, TType.STRING, 'tenantAdminEmail', None, None, ), # 12
+    (13, TType.STRING, 'identityServerUserName', None, None, ), # 13
+    (14, TType.STRING, 'identityServerPasswordToken', None, None, ), # 14
+    (15, TType.STRING, 'declinedReason', None, None, ), # 15
+    (16, TType.STRING, 'oauthClientId', None, None, ), # 16
+    (17, TType.STRING, 'oauthClientSecret', None, None, ), # 17
+    (18, TType.I64, 'requestCreationTime', None, None, ), # 18
+    (19, TType.STRING, 'requesterUsername', None, None, ), # 19
+  )
+
+  def __init__(self, tenantId=None, tenantApprovalStatus=None, tenantName=None, domain=None, emailAddress=None, tenantAcronym=None, tenantURL=None, tenantPublicAbstract=None, reviewProposalDescription=None, tenantAdminFirstName=None, tenantAdminLastName=None, tenantAdminEmail=None, identityServerUserName=None, identityServerPasswordToken=None, declinedReason=None, oauthClientId=None, oauthClientSecret=None, requestCreationTime=None, requesterUsername=None,):
+    self.tenantId = tenantId
+    self.tenantApprovalStatus = tenantApprovalStatus
+    self.tenantName = tenantName
+    self.domain = domain
+    self.emailAddress = emailAddress
+    self.tenantAcronym = tenantAcronym
+    self.tenantURL = tenantURL
+    self.tenantPublicAbstract = tenantPublicAbstract
+    self.reviewProposalDescription = reviewProposalDescription
+    self.tenantAdminFirstName = tenantAdminFirstName
+    self.tenantAdminLastName = tenantAdminLastName
+    self.tenantAdminEmail = tenantAdminEmail
+    self.identityServerUserName = identityServerUserName
+    self.identityServerPasswordToken = identityServerPasswordToken
+    self.declinedReason = declinedReason
+    self.oauthClientId = oauthClientId
+    self.oauthClientSecret = oauthClientSecret
+    self.requestCreationTime = requestCreationTime
+    self.requesterUsername = requesterUsername
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 1:
+        if ftype == TType.STRING:
+          self.tenantId = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.I32:
+          self.tenantApprovalStatus = iprot.readI32()
+        else:
+          iprot.skip(ftype)
+      elif fid == 3:
+        if ftype == TType.STRING:
+          self.tenantName = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 4:
+        if ftype == TType.STRING:
+          self.domain = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 5:
+        if ftype == TType.STRING:
+          self.emailAddress = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 6:
+        if ftype == TType.STRING:
+          self.tenantAcronym = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 7:
+        if ftype == TType.STRING:
+          self.tenantURL = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 8:
+        if ftype == TType.STRING:
+          self.tenantPublicAbstract = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 9:
+        if ftype == TType.STRING:
+          self.reviewProposalDescription = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 10:
+        if ftype == TType.STRING:
+          self.tenantAdminFirstName = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 11:
+        if ftype == TType.STRING:
+          self.tenantAdminLastName = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 12:
+        if ftype == TType.STRING:
+          self.tenantAdminEmail = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 13:
+        if ftype == TType.STRING:
+          self.identityServerUserName = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 14:
+        if ftype == TType.STRING:
+          self.identityServerPasswordToken = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 15:
+        if ftype == TType.STRING:
+          self.declinedReason = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 16:
+        if ftype == TType.STRING:
+          self.oauthClientId = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 17:
+        if ftype == TType.STRING:
+          self.oauthClientSecret = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 18:
+        if ftype == TType.I64:
+          self.requestCreationTime = iprot.readI64()
+        else:
+          iprot.skip(ftype)
+      elif fid == 19:
+        if ftype == TType.STRING:
+          self.requesterUsername = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      else:
+        iprot.skip(ftype)
+      iprot.readFieldEnd()
+    iprot.readStructEnd()
+
+  def write(self, oprot):
+    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+      return
+    oprot.writeStructBegin('Tenant')
+    if self.tenantId is not None:
+      oprot.writeFieldBegin('tenantId', TType.STRING, 1)
+      oprot.writeString(self.tenantId)
+      oprot.writeFieldEnd()
+    if self.tenantApprovalStatus is not None:
+      oprot.writeFieldBegin('tenantApprovalStatus', TType.I32, 2)
+      oprot.writeI32(self.tenantApprovalStatus)
+      oprot.writeFieldEnd()
+    if self.tenantName is not None:
+      oprot.writeFieldBegin('tenantName', TType.STRING, 3)
+      oprot.writeString(self.tenantName)
+      oprot.writeFieldEnd()
+    if self.domain is not None:
+      oprot.writeFieldBegin('domain', TType.STRING, 4)
+      oprot.writeString(self.domain)
+      oprot.writeFieldEnd()
+    if self.emailAddress is not None:
+      oprot.writeFieldBegin('emailAddress', TType.STRING, 5)
+      oprot.writeString(self.emailAddress)
+      oprot.writeFieldEnd()
+    if self.tenantAcronym is not None:
+      oprot.writeFieldBegin('tenantAcronym', TType.STRING, 6)
+      oprot.writeString(self.tenantAcronym)
+      oprot.writeFieldEnd()
+    if self.tenantURL is not None:
+      oprot.writeFieldBegin('tenantURL', TType.STRING, 7)
+      oprot.writeString(self.tenantURL)
+      oprot.writeFieldEnd()
+    if self.tenantPublicAbstract is not None:
+      oprot.writeFieldBegin('tenantPublicAbstract', TType.STRING, 8)
+      oprot.writeString(self.tenantPublicAbstract)
+      oprot.writeFieldEnd()
+    if self.reviewProposalDescription is not None:
+      oprot.writeFieldBegin('reviewProposalDescription', TType.STRING, 9)
+      oprot.writeString(self.reviewProposalDescription)
+      oprot.writeFieldEnd()
+    if self.tenantAdminFirstName is not None:
+      oprot.writeFieldBegin('tenantAdminFirstName', TType.STRING, 10)
+      oprot.writeString(self.tenantAdminFirstName)
+      oprot.writeFieldEnd()
+    if self.tenantAdminLastName is not None:
+      oprot.writeFieldBegin('tenantAdminLastName', TType.STRING, 11)
+      oprot.writeString(self.tenantAdminLastName)
+      oprot.writeFieldEnd()
+    if self.tenantAdminEmail is not None:
+      oprot.writeFieldBegin('tenantAdminEmail', TType.STRING, 12)
+      oprot.writeString(self.tenantAdminEmail)
+      oprot.writeFieldEnd()
+    if self.identityServerUserName is not None:
+      oprot.writeFieldBegin('identityServerUserName', TType.STRING, 13)
+      oprot.writeString(self.identityServerUserName)
+      oprot.writeFieldEnd()
+    if self.identityServerPasswordToken is not None:
+      oprot.writeFieldBegin('identityServerPasswordToken', TType.STRING, 14)
+      oprot.writeString(self.identityServerPasswordToken)
+      oprot.writeFieldEnd()
+    if self.declinedReason is not None:
+      oprot.writeFieldBegin('declinedReason', TType.STRING, 15)
+      oprot.writeString(self.declinedReason)
+      oprot.writeFieldEnd()
+    if self.oauthClientId is not None:
+      oprot.writeFieldBegin('oauthClientId', TType.STRING, 16)
+      oprot.writeString(self.oauthClientId)
+      oprot.writeFieldEnd()
+    if self.oauthClientSecret is not None:
+      oprot.writeFieldBegin('oauthClientSecret', TType.STRING, 17)
+      oprot.writeString(self.oauthClientSecret)
+      oprot.writeFieldEnd()
+    if self.requestCreationTime is not None:
+      oprot.writeFieldBegin('requestCreationTime', TType.I64, 18)
+      oprot.writeI64(self.requestCreationTime)
+      oprot.writeFieldEnd()
+    if self.requesterUsername is not None:
+      oprot.writeFieldBegin('requesterUsername', TType.STRING, 19)
+      oprot.writeString(self.requesterUsername)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    if self.tenantId is None:
+      raise TProtocol.TProtocolException(message='Required field tenantId is unset!')
+    if self.tenantApprovalStatus is None:
+      raise TProtocol.TProtocolException(message='Required field tenantApprovalStatus is unset!')
+    return
+
+
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.tenantId)
+    value = (value * 31) ^ hash(self.tenantApprovalStatus)
+    value = (value * 31) ^ hash(self.tenantName)
+    value = (value * 31) ^ hash(self.domain)
+    value = (value * 31) ^ hash(self.emailAddress)
+    value = (value * 31) ^ hash(self.tenantAcronym)
+    value = (value * 31) ^ hash(self.tenantURL)
+    value = (value * 31) ^ hash(self.tenantPublicAbstract)
+    value = (value * 31) ^ hash(self.reviewProposalDescription)
+    value = (value * 31) ^ hash(self.tenantAdminFirstName)
+    value = (value * 31) ^ hash(self.tenantAdminLastName)
+    value = (value * 31) ^ hash(self.tenantAdminEmail)
+    value = (value * 31) ^ hash(self.identityServerUserName)
+    value = (value * 31) ^ hash(self.identityServerPasswordToken)
+    value = (value * 31) ^ hash(self.declinedReason)
+    value = (value * 31) ^ hash(self.oauthClientId)
+    value = (value * 31) ^ hash(self.oauthClientSecret)
+    value = (value * 31) ^ hash(self.requestCreationTime)
+    value = (value * 31) ^ hash(self.requesterUsername)
+    return value
+
+  def __repr__(self):
+    L = ['%s=%r' % (key, value)
+      for key, value in self.__dict__.iteritems()]
+    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/ttypes.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/ttypes.py
index 72618cf..efe717c 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/ttypes.py
@@ -12,6 +12,7 @@ import apache.airavata.model.workspace.ttypes
 import apache.airavata.api.error.ttypes
 import apache.airavata.model.messaging.event.ttypes
 import apache.airavata.model.security.ttypes
+import apache.airavata.model.dbevent.ttypes
 import apache.airavata.model.experiment.ttypes
 import apache.airavata.model.job.ttypes
 import apache.airavata.model.task.ttypes
@@ -22,6 +23,7 @@ import apache.airavata.model.data.movement.ttypes
 import apache.airavata.model.data.replica.ttypes
 import apache.airavata.model.user.ttypes
 import apache.airavata.model.group.ttypes
+import apache.airavata.model.tenant.ttypes
 import credential_store_data_models.ttypes
 
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/user/ttypes.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/user/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/user/ttypes.py
index 7e960e7..4dc61ae 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/user/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/user/ttypes.py
@@ -174,6 +174,7 @@ class NSFDemographics:
 
 
   Attributes:
+   - airavataInternalUserId
    - gender
    - usCitizenship
    - ethnicities
@@ -183,14 +184,16 @@ class NSFDemographics:
 
   thrift_spec = (
     None, # 0
-    (1, TType.STRING, 'gender', None, None, ), # 1
-    (2, TType.I32, 'usCitizenship', None, None, ), # 2
-    (3, TType.LIST, 'ethnicities', (TType.I32,None), None, ), # 3
-    (4, TType.LIST, 'races', (TType.I32,None), None, ), # 4
-    (5, TType.LIST, 'disabilities', (TType.I32,None), None, ), # 5
+    (1, TType.STRING, 'airavataInternalUserId', None, "DO_NOT_SET_AT_CLIENTS", ), # 1
+    (2, TType.STRING, 'gender', None, None, ), # 2
+    (3, TType.I32, 'usCitizenship', None, None, ), # 3
+    (4, TType.LIST, 'ethnicities', (TType.I32,None), None, ), # 4
+    (5, TType.LIST, 'races', (TType.I32,None), None, ), # 5
+    (6, TType.LIST, 'disabilities', (TType.I32,None), None, ), # 6
   )
 
-  def __init__(self, gender=None, usCitizenship=None, ethnicities=None, races=None, disabilities=None,):
+  def __init__(self, airavataInternalUserId=thrift_spec[1][4], gender=None, usCitizenship=None, ethnicities=None, races=None, disabilities=None,):
+    self.airavataInternalUserId = airavataInternalUserId
     self.gender = gender
     self.usCitizenship = usCitizenship
     self.ethnicities = ethnicities
@@ -208,15 +211,20 @@ class NSFDemographics:
         break
       if fid == 1:
         if ftype == TType.STRING:
-          self.gender = iprot.readString()
+          self.airavataInternalUserId = iprot.readString()
         else:
           iprot.skip(ftype)
       elif fid == 2:
+        if ftype == TType.STRING:
+          self.gender = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 3:
         if ftype == TType.I32:
           self.usCitizenship = iprot.readI32()
         else:
           iprot.skip(ftype)
-      elif fid == 3:
+      elif fid == 4:
         if ftype == TType.LIST:
           self.ethnicities = []
           (_etype3, _size0) = iprot.readListBegin()
@@ -226,7 +234,7 @@ class NSFDemographics:
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
-      elif fid == 4:
+      elif fid == 5:
         if ftype == TType.LIST:
           self.races = []
           (_etype9, _size6) = iprot.readListBegin()
@@ -236,7 +244,7 @@ class NSFDemographics:
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
-      elif fid == 5:
+      elif fid == 6:
         if ftype == TType.LIST:
           self.disabilities = []
           (_etype15, _size12) = iprot.readListBegin()
@@ -256,30 +264,34 @@ class NSFDemographics:
       oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
       return
     oprot.writeStructBegin('NSFDemographics')
+    if self.airavataInternalUserId is not None:
+      oprot.writeFieldBegin('airavataInternalUserId', TType.STRING, 1)
+      oprot.writeString(self.airavataInternalUserId)
+      oprot.writeFieldEnd()
     if self.gender is not None:
-      oprot.writeFieldBegin('gender', TType.STRING, 1)
+      oprot.writeFieldBegin('gender', TType.STRING, 2)
       oprot.writeString(self.gender)
       oprot.writeFieldEnd()
     if self.usCitizenship is not None:
-      oprot.writeFieldBegin('usCitizenship', TType.I32, 2)
+      oprot.writeFieldBegin('usCitizenship', TType.I32, 3)
       oprot.writeI32(self.usCitizenship)
       oprot.writeFieldEnd()
     if self.ethnicities is not None:
-      oprot.writeFieldBegin('ethnicities', TType.LIST, 3)
+      oprot.writeFieldBegin('ethnicities', TType.LIST, 4)
       oprot.writeListBegin(TType.I32, len(self.ethnicities))
       for iter18 in self.ethnicities:
         oprot.writeI32(iter18)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.races is not None:
-      oprot.writeFieldBegin('races', TType.LIST, 4)
+      oprot.writeFieldBegin('races', TType.LIST, 5)
       oprot.writeListBegin(TType.I32, len(self.races))
       for iter19 in self.races:
         oprot.writeI32(iter19)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.disabilities is not None:
-      oprot.writeFieldBegin('disabilities', TType.LIST, 5)
+      oprot.writeFieldBegin('disabilities', TType.LIST, 6)
       oprot.writeListBegin(TType.I32, len(self.disabilities))
       for iter20 in self.disabilities:
         oprot.writeI32(iter20)
@@ -289,11 +301,14 @@ class NSFDemographics:
     oprot.writeStructEnd()
 
   def validate(self):
+    if self.airavataInternalUserId is None:
+      raise TProtocol.TProtocolException(message='Required field airavataInternalUserId is unset!')
     return
 
 
   def __hash__(self):
     value = 17
+    value = (value * 31) ^ hash(self.airavataInternalUserId)
     value = (value * 31) ^ hash(self.gender)
     value = (value * 31) ^ hash(self.usCitizenship)
     value = (value * 31) ^ hash(self.ethnicities)
@@ -334,6 +349,12 @@ class UserProfile:
   *  Externally assertable unique identifier. SAML (primarly in higher education, academic) tends to keep
   *   user name less opaque. OpenID Connect maintains them to be opaque.
   *
+  * firstName, middleName, lastName:
+  *  First and Last names as assertede by the user
+  *
+  * namePrefix, nameSuffix:
+  *  prefix and suffix to the users name as asserted by the user
+  *
   * emails:
   *   Email identifier are Verified, REQUIRED and MULTIVALUED
   *
@@ -371,6 +392,11 @@ class UserProfile:
    - userId
    - gatewayId
    - emails
+   - firstName
+   - lastName
+   - middleName
+   - namePrefix
+   - nameSuffix
    - userName
    - orcidId
    - phones
@@ -396,30 +422,40 @@ class UserProfile:
     (3, TType.STRING, 'userId', None, None, ), # 3
     (4, TType.STRING, 'gatewayId', None, None, ), # 4
     (5, TType.LIST, 'emails', (TType.STRING,None), None, ), # 5
-    (6, TType.STRING, 'userName', None, None, ), # 6
-    (7, TType.STRING, 'orcidId', None, None, ), # 7
-    (8, TType.LIST, 'phones', (TType.STRING,None), None, ), # 8
-    (9, TType.STRING, 'country', None, None, ), # 9
-    (10, TType.LIST, 'nationality', (TType.STRING,None), None, ), # 10
-    (11, TType.STRING, 'homeOrganization', None, None, ), # 11
-    (12, TType.STRING, 'orginationAffiliation', None, None, ), # 12
-    (13, TType.STRING, 'creationTime', None, None, ), # 13
-    (14, TType.STRING, 'lastAccessTime', None, None, ), # 14
-    (15, TType.STRING, 'validUntil', None, None, ), # 15
-    (16, TType.I32, 'State', None, None, ), # 16
-    (17, TType.STRING, 'comments', None, None, ), # 17
-    (18, TType.LIST, 'labeledURI', (TType.STRING,None), None, ), # 18
-    (19, TType.STRING, 'gpgKey', None, None, ), # 19
-    (20, TType.STRING, 'timeZone', None, None, ), # 20
-    (21, TType.STRUCT, 'nsfDemographics', (NSFDemographics, NSFDemographics.thrift_spec), None, ), # 21
+    (6, TType.STRING, 'firstName', None, None, ), # 6
+    (7, TType.STRING, 'lastName', None, None, ), # 7
+    (8, TType.STRING, 'middleName', None, None, ), # 8
+    (9, TType.STRING, 'namePrefix', None, None, ), # 9
+    (10, TType.STRING, 'nameSuffix', None, None, ), # 10
+    (11, TType.STRING, 'userName', None, None, ), # 11
+    (12, TType.STRING, 'orcidId', None, None, ), # 12
+    (13, TType.LIST, 'phones', (TType.STRING,None), None, ), # 13
+    (14, TType.STRING, 'country', None, None, ), # 14
+    (15, TType.LIST, 'nationality', (TType.STRING,None), None, ), # 15
+    (16, TType.STRING, 'homeOrganization', None, None, ), # 16
+    (17, TType.STRING, 'orginationAffiliation', None, None, ), # 17
+    (18, TType.I64, 'creationTime', None, None, ), # 18
+    (19, TType.I64, 'lastAccessTime', None, None, ), # 19
+    (20, TType.I64, 'validUntil', None, None, ), # 20
+    (21, TType.I32, 'State', None, None, ), # 21
+    (22, TType.STRING, 'comments', None, None, ), # 22
+    (23, TType.LIST, 'labeledURI', (TType.STRING,None), None, ), # 23
+    (24, TType.STRING, 'gpgKey', None, None, ), # 24
+    (25, TType.STRING, 'timeZone', None, None, ), # 25
+    (26, TType.STRUCT, 'nsfDemographics', (NSFDemographics, NSFDemographics.thrift_spec), None, ), # 26
   )
 
-  def __init__(self, userModelVersion=thrift_spec[1][4], airavataInternalUserId=thrift_spec[2][4], userId=None, gatewayId=None, emails=None, userName=None, orcidId=None, phones=None, country=None, nationality=None, homeOrganization=None, orginationAffiliation=None, creationTime=None, lastAccessTime=None, validUntil=None, State=None, comments=None, labeledURI=None, gpgKey=None, timeZone=None, nsfDemographics=None,):
+  def __init__(self, userModelVersion=thrift_spec[1][4], airavataInternalUserId=thrift_spec[2][4], userId=None, gatewayId=None, emails=None, firstName=None, lastName=None, middleName=None, namePrefix=None, nameSuffix=None, userName=None, orcidId=None, phones=None, country=None, nationality=None, homeOrganization=None, orginationAffiliation=None, creationTime=None, lastAccessTime=None, validUntil=None, State=None, comments=None, labeledURI=None, gpgKey=None, timeZone=None, nsfDemographics=None,):
     self.userModelVersion = userModelVersion
     self.airavataInternalUserId = airavataInternalUserId
     self.userId = userId
     self.gatewayId = gatewayId
     self.emails = emails
+    self.firstName = firstName
+    self.lastName = lastName
+    self.middleName = middleName
+    self.namePrefix = namePrefix
+    self.nameSuffix = nameSuffix
     self.userName = userName
     self.orcidId = orcidId
     self.phones = phones
@@ -478,15 +514,40 @@ class UserProfile:
           iprot.skip(ftype)
       elif fid == 6:
         if ftype == TType.STRING:
-          self.userName = iprot.readString()
+          self.firstName = iprot.readString()
         else:
           iprot.skip(ftype)
       elif fid == 7:
         if ftype == TType.STRING:
-          self.orcidId = iprot.readString()
+          self.lastName = iprot.readString()
         else:
           iprot.skip(ftype)
       elif fid == 8:
+        if ftype == TType.STRING:
+          self.middleName = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 9:
+        if ftype == TType.STRING:
+          self.namePrefix = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 10:
+        if ftype == TType.STRING:
+          self.nameSuffix = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 11:
+        if ftype == TType.STRING:
+          self.userName = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 12:
+        if ftype == TType.STRING:
+          self.orcidId = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 13:
         if ftype == TType.LIST:
           self.phones = []
           (_etype30, _size27) = iprot.readListBegin()
@@ -496,12 +557,12 @@ class UserProfile:
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
-      elif fid == 9:
+      elif fid == 14:
         if ftype == TType.STRING:
           self.country = iprot.readString()
         else:
           iprot.skip(ftype)
-      elif fid == 10:
+      elif fid == 15:
         if ftype == TType.LIST:
           self.nationality = []
           (_etype36, _size33) = iprot.readListBegin()
@@ -511,42 +572,42 @@ class UserProfile:
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
-      elif fid == 11:
+      elif fid == 16:
         if ftype == TType.STRING:
           self.homeOrganization = iprot.readString()
         else:
           iprot.skip(ftype)
-      elif fid == 12:
+      elif fid == 17:
         if ftype == TType.STRING:
           self.orginationAffiliation = iprot.readString()
         else:
           iprot.skip(ftype)
-      elif fid == 13:
-        if ftype == TType.STRING:
-          self.creationTime = iprot.readString()
+      elif fid == 18:
+        if ftype == TType.I64:
+          self.creationTime = iprot.readI64()
         else:
           iprot.skip(ftype)
-      elif fid == 14:
-        if ftype == TType.STRING:
-          self.lastAccessTime = iprot.readString()
+      elif fid == 19:
+        if ftype == TType.I64:
+          self.lastAccessTime = iprot.readI64()
         else:
           iprot.skip(ftype)
-      elif fid == 15:
-        if ftype == TType.STRING:
-          self.validUntil = iprot.readString()
+      elif fid == 20:
+        if ftype == TType.I64:
+          self.validUntil = iprot.readI64()
         else:
           iprot.skip(ftype)
-      elif fid == 16:
+      elif fid == 21:
         if ftype == TType.I32:
           self.State = iprot.readI32()
         else:
           iprot.skip(ftype)
-      elif fid == 17:
+      elif fid == 22:
         if ftype == TType.STRING:
           self.comments = iprot.readString()
         else:
           iprot.skip(ftype)
-      elif fid == 18:
+      elif fid == 23:
         if ftype == TType.LIST:
           self.labeledURI = []
           (_etype42, _size39) = iprot.readListBegin()
@@ -556,17 +617,17 @@ class UserProfile:
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
-      elif fid == 19:
+      elif fid == 24:
         if ftype == TType.STRING:
           self.gpgKey = iprot.readString()
         else:
           iprot.skip(ftype)
-      elif fid == 20:
+      elif fid == 25:
         if ftype == TType.STRING:
           self.timeZone = iprot.readString()
         else:
           iprot.skip(ftype)
-      elif fid == 21:
+      elif fid == 26:
         if ftype == TType.STRUCT:
           self.nsfDemographics = NSFDemographics()
           self.nsfDemographics.read(iprot)
@@ -605,77 +666,97 @@ class UserProfile:
         oprot.writeString(iter45)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
+    if self.firstName is not None:
+      oprot.writeFieldBegin('firstName', TType.STRING, 6)
+      oprot.writeString(self.firstName)
+      oprot.writeFieldEnd()
+    if self.lastName is not None:
+      oprot.writeFieldBegin('lastName', TType.STRING, 7)
+      oprot.writeString(self.lastName)
+      oprot.writeFieldEnd()
+    if self.middleName is not None:
+      oprot.writeFieldBegin('middleName', TType.STRING, 8)
+      oprot.writeString(self.middleName)
+      oprot.writeFieldEnd()
+    if self.namePrefix is not None:
+      oprot.writeFieldBegin('namePrefix', TType.STRING, 9)
+      oprot.writeString(self.namePrefix)
+      oprot.writeFieldEnd()
+    if self.nameSuffix is not None:
+      oprot.writeFieldBegin('nameSuffix', TType.STRING, 10)
+      oprot.writeString(self.nameSuffix)
+      oprot.writeFieldEnd()
     if self.userName is not None:
-      oprot.writeFieldBegin('userName', TType.STRING, 6)
+      oprot.writeFieldBegin('userName', TType.STRING, 11)
       oprot.writeString(self.userName)
       oprot.writeFieldEnd()
     if self.orcidId is not None:
-      oprot.writeFieldBegin('orcidId', TType.STRING, 7)
+      oprot.writeFieldBegin('orcidId', TType.STRING, 12)
       oprot.writeString(self.orcidId)
       oprot.writeFieldEnd()
     if self.phones is not None:
-      oprot.writeFieldBegin('phones', TType.LIST, 8)
+      oprot.writeFieldBegin('phones', TType.LIST, 13)
       oprot.writeListBegin(TType.STRING, len(self.phones))
       for iter46 in self.phones:
         oprot.writeString(iter46)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.country is not None:
-      oprot.writeFieldBegin('country', TType.STRING, 9)
+      oprot.writeFieldBegin('country', TType.STRING, 14)
       oprot.writeString(self.country)
       oprot.writeFieldEnd()
     if self.nationality is not None:
-      oprot.writeFieldBegin('nationality', TType.LIST, 10)
+      oprot.writeFieldBegin('nationality', TType.LIST, 15)
       oprot.writeListBegin(TType.STRING, len(self.nationality))
       for iter47 in self.nationality:
         oprot.writeString(iter47)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.homeOrganization is not None:
-      oprot.writeFieldBegin('homeOrganization', TType.STRING, 11)
+      oprot.writeFieldBegin('homeOrganization', TType.STRING, 16)
       oprot.writeString(self.homeOrganization)
       oprot.writeFieldEnd()
     if self.orginationAffiliation is not None:
-      oprot.writeFieldBegin('orginationAffiliation', TType.STRING, 12)
+      oprot.writeFieldBegin('orginationAffiliation', TType.STRING, 17)
       oprot.writeString(self.orginationAffiliation)
       oprot.writeFieldEnd()
     if self.creationTime is not None:
-      oprot.writeFieldBegin('creationTime', TType.STRING, 13)
-      oprot.writeString(self.creationTime)
+      oprot.writeFieldBegin('creationTime', TType.I64, 18)
+      oprot.writeI64(self.creationTime)
       oprot.writeFieldEnd()
     if self.lastAccessTime is not None:
-      oprot.writeFieldBegin('lastAccessTime', TType.STRING, 14)
-      oprot.writeString(self.lastAccessTime)
+      oprot.writeFieldBegin('lastAccessTime', TType.I64, 19)
+      oprot.writeI64(self.lastAccessTime)
       oprot.writeFieldEnd()
     if self.validUntil is not None:
-      oprot.writeFieldBegin('validUntil', TType.STRING, 15)
-      oprot.writeString(self.validUntil)
+      oprot.writeFieldBegin('validUntil', TType.I64, 20)
+      oprot.writeI64(self.validUntil)
       oprot.writeFieldEnd()
     if self.State is not None:
-      oprot.writeFieldBegin('State', TType.I32, 16)
+      oprot.writeFieldBegin('State', TType.I32, 21)
       oprot.writeI32(self.State)
       oprot.writeFieldEnd()
     if self.comments is not None:
-      oprot.writeFieldBegin('comments', TType.STRING, 17)
+      oprot.writeFieldBegin('comments', TType.STRING, 22)
       oprot.writeString(self.comments)
       oprot.writeFieldEnd()
     if self.labeledURI is not None:
-      oprot.writeFieldBegin('labeledURI', TType.LIST, 18)
+      oprot.writeFieldBegin('labeledURI', TType.LIST, 23)
       oprot.writeListBegin(TType.STRING, len(self.labeledURI))
       for iter48 in self.labeledURI:
         oprot.writeString(iter48)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.gpgKey is not None:
-      oprot.writeFieldBegin('gpgKey', TType.STRING, 19)
+      oprot.writeFieldBegin('gpgKey', TType.STRING, 24)
       oprot.writeString(self.gpgKey)
       oprot.writeFieldEnd()
     if self.timeZone is not None:
-      oprot.writeFieldBegin('timeZone', TType.STRING, 20)
+      oprot.writeFieldBegin('timeZone', TType.STRING, 25)
       oprot.writeString(self.timeZone)
       oprot.writeFieldEnd()
     if self.nsfDemographics is not None:
-      oprot.writeFieldBegin('nsfDemographics', TType.STRUCT, 21)
+      oprot.writeFieldBegin('nsfDemographics', TType.STRUCT, 26)
       self.nsfDemographics.write(oprot)
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
@@ -692,6 +773,10 @@ class UserProfile:
       raise TProtocol.TProtocolException(message='Required field gatewayId is unset!')
     if self.emails is None:
       raise TProtocol.TProtocolException(message='Required field emails is unset!')
+    if self.firstName is None:
+      raise TProtocol.TProtocolException(message='Required field firstName is unset!')
+    if self.lastName is None:
+      raise TProtocol.TProtocolException(message='Required field lastName is unset!')
     if self.creationTime is None:
       raise TProtocol.TProtocolException(message='Required field creationTime is unset!')
     if self.lastAccessTime is None:
@@ -710,6 +795,11 @@ class UserProfile:
     value = (value * 31) ^ hash(self.userId)
     value = (value * 31) ^ hash(self.gatewayId)
     value = (value * 31) ^ hash(self.emails)
+    value = (value * 31) ^ hash(self.firstName)
+    value = (value * 31) ^ hash(self.lastName)
+    value = (value * 31) ^ hash(self.middleName)
+    value = (value * 31) ^ hash(self.namePrefix)
+    value = (value * 31) ^ hash(self.nameSuffix)
     value = (value * 31) ^ hash(self.userName)
     value = (value * 31) ^ hash(self.orcidId)
     value = (value * 31) ^ hash(self.phones)


[45/50] [abbrv] airavata git commit: making database level changes for supporting custom node/cpu/walltime configurations

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/56bc4bee/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationDeploymentDescription.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationDeploymentDescription.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationDeploymentDescription.java
index 36f1d9d..f3f6042 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationDeploymentDescription.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationDeploymentDescription.java
@@ -96,7 +96,8 @@ public class ApplicationDeploymentDescription implements org.apache.thrift.TBase
   private static final org.apache.thrift.protocol.TField DEFAULT_QUEUE_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("defaultQueueName", org.apache.thrift.protocol.TType.STRING, (short)13);
   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)14);
   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)15);
-  private static final org.apache.thrift.protocol.TField EDITABLE_BY_USER_FIELD_DESC = new org.apache.thrift.protocol.TField("editableByUser", org.apache.thrift.protocol.TType.BOOL, (short)16);
+  private static final org.apache.thrift.protocol.TField DEFAULT_WALLTIME_FIELD_DESC = new org.apache.thrift.protocol.TField("defaultWalltime", org.apache.thrift.protocol.TType.I32, (short)16);
+  private static final org.apache.thrift.protocol.TField EDITABLE_BY_USER_FIELD_DESC = new org.apache.thrift.protocol.TField("editableByUser", org.apache.thrift.protocol.TType.BOOL, (short)17);
 
   private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
   static {
@@ -119,6 +120,7 @@ public class ApplicationDeploymentDescription implements org.apache.thrift.TBase
   private String defaultQueueName; // optional
   private int defaultNodeCount; // optional
   private int defaultCPUCount; // optional
+  private int defaultWalltime; // optional
   private boolean editableByUser; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@@ -142,7 +144,8 @@ public class ApplicationDeploymentDescription implements org.apache.thrift.TBase
     DEFAULT_QUEUE_NAME((short)13, "defaultQueueName"),
     DEFAULT_NODE_COUNT((short)14, "defaultNodeCount"),
     DEFAULT_CPUCOUNT((short)15, "defaultCPUCount"),
-    EDITABLE_BY_USER((short)16, "editableByUser");
+    DEFAULT_WALLTIME((short)16, "defaultWalltime"),
+    EDITABLE_BY_USER((short)17, "editableByUser");
 
     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -187,7 +190,9 @@ public class ApplicationDeploymentDescription implements org.apache.thrift.TBase
           return DEFAULT_NODE_COUNT;
         case 15: // DEFAULT_CPUCOUNT
           return DEFAULT_CPUCOUNT;
-        case 16: // EDITABLE_BY_USER
+        case 16: // DEFAULT_WALLTIME
+          return DEFAULT_WALLTIME;
+        case 17: // EDITABLE_BY_USER
           return EDITABLE_BY_USER;
         default:
           return null;
@@ -231,9 +236,10 @@ public class ApplicationDeploymentDescription implements org.apache.thrift.TBase
   // isset id assignments
   private static final int __DEFAULTNODECOUNT_ISSET_ID = 0;
   private static final int __DEFAULTCPUCOUNT_ISSET_ID = 1;
-  private static final int __EDITABLEBYUSER_ISSET_ID = 2;
+  private static final int __DEFAULTWALLTIME_ISSET_ID = 2;
+  private static final int __EDITABLEBYUSER_ISSET_ID = 3;
   private byte __isset_bitfield = 0;
-  private static final _Fields optionals[] = {_Fields.APP_DEPLOYMENT_DESCRIPTION,_Fields.MODULE_LOAD_CMDS,_Fields.LIB_PREPEND_PATHS,_Fields.LIB_APPEND_PATHS,_Fields.SET_ENVIRONMENT,_Fields.PRE_JOB_COMMANDS,_Fields.POST_JOB_COMMANDS,_Fields.DEFAULT_QUEUE_NAME,_Fields.DEFAULT_NODE_COUNT,_Fields.DEFAULT_CPUCOUNT,_Fields.EDITABLE_BY_USER};
+  private static final _Fields optionals[] = {_Fields.APP_DEPLOYMENT_DESCRIPTION,_Fields.MODULE_LOAD_CMDS,_Fields.LIB_PREPEND_PATHS,_Fields.LIB_APPEND_PATHS,_Fields.SET_ENVIRONMENT,_Fields.PRE_JOB_COMMANDS,_Fields.POST_JOB_COMMANDS,_Fields.DEFAULT_QUEUE_NAME,_Fields.DEFAULT_NODE_COUNT,_Fields.DEFAULT_CPUCOUNT,_Fields.DEFAULT_WALLTIME,_Fields.EDITABLE_BY_USER};
   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);
@@ -273,6 +279,8 @@ public class ApplicationDeploymentDescription implements org.apache.thrift.TBase
         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.DEFAULT_WALLTIME, new org.apache.thrift.meta_data.FieldMetaData("defaultWalltime", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
     tmpMap.put(_Fields.EDITABLE_BY_USER, new org.apache.thrift.meta_data.FieldMetaData("editableByUser", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
     metaDataMap = Collections.unmodifiableMap(tmpMap);
@@ -371,6 +379,7 @@ public class ApplicationDeploymentDescription implements org.apache.thrift.TBase
     }
     this.defaultNodeCount = other.defaultNodeCount;
     this.defaultCPUCount = other.defaultCPUCount;
+    this.defaultWalltime = other.defaultWalltime;
     this.editableByUser = other.editableByUser;
   }
 
@@ -399,6 +408,8 @@ public class ApplicationDeploymentDescription implements org.apache.thrift.TBase
     this.defaultNodeCount = 0;
     setDefaultCPUCountIsSet(false);
     this.defaultCPUCount = 0;
+    setDefaultWalltimeIsSet(false);
+    this.defaultWalltime = 0;
     setEditableByUserIsSet(false);
     this.editableByUser = false;
   }
@@ -844,6 +855,28 @@ public class ApplicationDeploymentDescription implements org.apache.thrift.TBase
     __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __DEFAULTCPUCOUNT_ISSET_ID, value);
   }
 
+  public int getDefaultWalltime() {
+    return this.defaultWalltime;
+  }
+
+  public void setDefaultWalltime(int defaultWalltime) {
+    this.defaultWalltime = defaultWalltime;
+    setDefaultWalltimeIsSet(true);
+  }
+
+  public void unsetDefaultWalltime() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __DEFAULTWALLTIME_ISSET_ID);
+  }
+
+  /** Returns true if field defaultWalltime is set (has been assigned a value) and false otherwise */
+  public boolean isSetDefaultWalltime() {
+    return EncodingUtils.testBit(__isset_bitfield, __DEFAULTWALLTIME_ISSET_ID);
+  }
+
+  public void setDefaultWalltimeIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __DEFAULTWALLTIME_ISSET_ID, value);
+  }
+
   public boolean isEditableByUser() {
     return this.editableByUser;
   }
@@ -988,6 +1021,14 @@ public class ApplicationDeploymentDescription implements org.apache.thrift.TBase
       }
       break;
 
+    case DEFAULT_WALLTIME:
+      if (value == null) {
+        unsetDefaultWalltime();
+      } else {
+        setDefaultWalltime((Integer)value);
+      }
+      break;
+
     case EDITABLE_BY_USER:
       if (value == null) {
         unsetEditableByUser();
@@ -1046,6 +1087,9 @@ public class ApplicationDeploymentDescription implements org.apache.thrift.TBase
     case DEFAULT_CPUCOUNT:
       return getDefaultCPUCount();
 
+    case DEFAULT_WALLTIME:
+      return getDefaultWalltime();
+
     case EDITABLE_BY_USER:
       return isEditableByUser();
 
@@ -1090,6 +1134,8 @@ public class ApplicationDeploymentDescription implements org.apache.thrift.TBase
       return isSetDefaultNodeCount();
     case DEFAULT_CPUCOUNT:
       return isSetDefaultCPUCount();
+    case DEFAULT_WALLTIME:
+      return isSetDefaultWalltime();
     case EDITABLE_BY_USER:
       return isSetEditableByUser();
     }
@@ -1244,6 +1290,15 @@ public class ApplicationDeploymentDescription implements org.apache.thrift.TBase
         return false;
     }
 
+    boolean this_present_defaultWalltime = true && this.isSetDefaultWalltime();
+    boolean that_present_defaultWalltime = true && that.isSetDefaultWalltime();
+    if (this_present_defaultWalltime || that_present_defaultWalltime) {
+      if (!(this_present_defaultWalltime && that_present_defaultWalltime))
+        return false;
+      if (this.defaultWalltime != that.defaultWalltime)
+        return false;
+    }
+
     boolean this_present_editableByUser = true && this.isSetEditableByUser();
     boolean that_present_editableByUser = true && that.isSetEditableByUser();
     if (this_present_editableByUser || that_present_editableByUser) {
@@ -1335,6 +1390,11 @@ public class ApplicationDeploymentDescription implements org.apache.thrift.TBase
     if (present_defaultCPUCount)
       list.add(defaultCPUCount);
 
+    boolean present_defaultWalltime = true && (isSetDefaultWalltime());
+    list.add(present_defaultWalltime);
+    if (present_defaultWalltime)
+      list.add(defaultWalltime);
+
     boolean present_editableByUser = true && (isSetEditableByUser());
     list.add(present_editableByUser);
     if (present_editableByUser)
@@ -1501,6 +1561,16 @@ public class ApplicationDeploymentDescription implements org.apache.thrift.TBase
         return lastComparison;
       }
     }
+    lastComparison = Boolean.valueOf(isSetDefaultWalltime()).compareTo(other.isSetDefaultWalltime());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetDefaultWalltime()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.defaultWalltime, other.defaultWalltime);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
     lastComparison = Boolean.valueOf(isSetEditableByUser()).compareTo(other.isSetEditableByUser());
     if (lastComparison != 0) {
       return lastComparison;
@@ -1662,6 +1732,12 @@ public class ApplicationDeploymentDescription implements org.apache.thrift.TBase
       sb.append(this.defaultCPUCount);
       first = false;
     }
+    if (isSetDefaultWalltime()) {
+      if (!first) sb.append(", ");
+      sb.append("defaultWalltime:");
+      sb.append(this.defaultWalltime);
+      first = false;
+    }
     if (isSetEditableByUser()) {
       if (!first) sb.append(", ");
       sb.append("editableByUser:");
@@ -1919,7 +1995,15 @@ public class ApplicationDeploymentDescription implements org.apache.thrift.TBase
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 16: // EDITABLE_BY_USER
+          case 16: // DEFAULT_WALLTIME
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.defaultWalltime = iprot.readI32();
+              struct.setDefaultWalltimeIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 17: // EDITABLE_BY_USER
             if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
               struct.editableByUser = iprot.readBool();
               struct.setEditableByUserIsSet(true);
@@ -2073,6 +2157,11 @@ public class ApplicationDeploymentDescription implements org.apache.thrift.TBase
         oprot.writeI32(struct.defaultCPUCount);
         oprot.writeFieldEnd();
       }
+      if (struct.isSetDefaultWalltime()) {
+        oprot.writeFieldBegin(DEFAULT_WALLTIME_FIELD_DESC);
+        oprot.writeI32(struct.defaultWalltime);
+        oprot.writeFieldEnd();
+      }
       if (struct.isSetEditableByUser()) {
         oprot.writeFieldBegin(EDITABLE_BY_USER_FIELD_DESC);
         oprot.writeBool(struct.editableByUser);
@@ -2131,10 +2220,13 @@ public class ApplicationDeploymentDescription implements org.apache.thrift.TBase
       if (struct.isSetDefaultCPUCount()) {
         optionals.set(9);
       }
-      if (struct.isSetEditableByUser()) {
+      if (struct.isSetDefaultWalltime()) {
         optionals.set(10);
       }
-      oprot.writeBitSet(optionals, 11);
+      if (struct.isSetEditableByUser()) {
+        optionals.set(11);
+      }
+      oprot.writeBitSet(optionals, 12);
       if (struct.isSetAppDeploymentDescription()) {
         oprot.writeString(struct.appDeploymentDescription);
       }
@@ -2201,6 +2293,9 @@ public class ApplicationDeploymentDescription implements org.apache.thrift.TBase
       if (struct.isSetDefaultCPUCount()) {
         oprot.writeI32(struct.defaultCPUCount);
       }
+      if (struct.isSetDefaultWalltime()) {
+        oprot.writeI32(struct.defaultWalltime);
+      }
       if (struct.isSetEditableByUser()) {
         oprot.writeBool(struct.editableByUser);
       }
@@ -2219,7 +2314,7 @@ public class ApplicationDeploymentDescription implements org.apache.thrift.TBase
       struct.setExecutablePathIsSet(true);
       struct.parallelism = org.apache.airavata.model.parallelism.ApplicationParallelismType.findByValue(iprot.readI32());
       struct.setParallelismIsSet(true);
-      BitSet incoming = iprot.readBitSet(11);
+      BitSet incoming = iprot.readBitSet(12);
       if (incoming.get(0)) {
         struct.appDeploymentDescription = iprot.readString();
         struct.setAppDeploymentDescriptionIsSet(true);
@@ -2321,6 +2416,10 @@ public class ApplicationDeploymentDescription implements org.apache.thrift.TBase
         struct.setDefaultCPUCountIsSet(true);
       }
       if (incoming.get(10)) {
+        struct.defaultWalltime = iprot.readI32();
+        struct.setDefaultWalltimeIsSet(true);
+      }
+      if (incoming.get(11)) {
         struct.editableByUser = iprot.readBool();
         struct.setEditableByUserIsSet(true);
       }

http://git-wip-us.apache.org/repos/asf/airavata/blob/56bc4bee/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ComputeResourceDescription.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ComputeResourceDescription.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ComputeResourceDescription.java
index c1dd4f9..b10f8a8 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ComputeResourceDescription.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ComputeResourceDescription.java
@@ -98,6 +98,10 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
   private static final org.apache.thrift.protocol.TField GATEWAY_USAGE_REPORTING_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayUsageReporting", org.apache.thrift.protocol.TType.BOOL, (short)12);
   private static final org.apache.thrift.protocol.TField GATEWAY_USAGE_MODULE_LOAD_COMMAND_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayUsageModuleLoadCommand", org.apache.thrift.protocol.TType.STRING, (short)13);
   private static final org.apache.thrift.protocol.TField GATEWAY_USAGE_EXECUTABLE_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayUsageExecutable", org.apache.thrift.protocol.TType.STRING, (short)14);
+  private static final org.apache.thrift.protocol.TField CPUS_PER_NODE_FIELD_DESC = new org.apache.thrift.protocol.TField("cpusPerNode", org.apache.thrift.protocol.TType.I32, (short)15);
+  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)16);
+  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)17);
+  private static final org.apache.thrift.protocol.TField DEFAULT_WALLLTIME_FIELD_DESC = new org.apache.thrift.protocol.TField("defaultWallltime", org.apache.thrift.protocol.TType.I32, (short)18);
 
   private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
   static {
@@ -119,6 +123,10 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
   private boolean gatewayUsageReporting; // optional
   private String gatewayUsageModuleLoadCommand; // optional
   private String gatewayUsageExecutable; // optional
+  private int cpusPerNode; // optional
+  private int defaultNodeCount; // optional
+  private int defaultCPUCount; // optional
+  private int defaultWallltime; // 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 {
@@ -135,7 +143,11 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
     MAX_MEMORY_PER_NODE((short)11, "maxMemoryPerNode"),
     GATEWAY_USAGE_REPORTING((short)12, "gatewayUsageReporting"),
     GATEWAY_USAGE_MODULE_LOAD_COMMAND((short)13, "gatewayUsageModuleLoadCommand"),
-    GATEWAY_USAGE_EXECUTABLE((short)14, "gatewayUsageExecutable");
+    GATEWAY_USAGE_EXECUTABLE((short)14, "gatewayUsageExecutable"),
+    CPUS_PER_NODE((short)15, "cpusPerNode"),
+    DEFAULT_NODE_COUNT((short)16, "defaultNodeCount"),
+    DEFAULT_CPUCOUNT((short)17, "defaultCPUCount"),
+    DEFAULT_WALLLTIME((short)18, "defaultWallltime");
 
     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -178,6 +190,14 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
           return GATEWAY_USAGE_MODULE_LOAD_COMMAND;
         case 14: // GATEWAY_USAGE_EXECUTABLE
           return GATEWAY_USAGE_EXECUTABLE;
+        case 15: // CPUS_PER_NODE
+          return CPUS_PER_NODE;
+        case 16: // DEFAULT_NODE_COUNT
+          return DEFAULT_NODE_COUNT;
+        case 17: // DEFAULT_CPUCOUNT
+          return DEFAULT_CPUCOUNT;
+        case 18: // DEFAULT_WALLLTIME
+          return DEFAULT_WALLLTIME;
         default:
           return null;
       }
@@ -221,8 +241,12 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
   private static final int __ENABLED_ISSET_ID = 0;
   private static final int __MAXMEMORYPERNODE_ISSET_ID = 1;
   private static final int __GATEWAYUSAGEREPORTING_ISSET_ID = 2;
+  private static final int __CPUSPERNODE_ISSET_ID = 3;
+  private static final int __DEFAULTNODECOUNT_ISSET_ID = 4;
+  private static final int __DEFAULTCPUCOUNT_ISSET_ID = 5;
+  private static final int __DEFAULTWALLLTIME_ISSET_ID = 6;
   private byte __isset_bitfield = 0;
-  private static final _Fields optionals[] = {_Fields.HOST_ALIASES,_Fields.IP_ADDRESSES,_Fields.RESOURCE_DESCRIPTION,_Fields.ENABLED,_Fields.BATCH_QUEUES,_Fields.FILE_SYSTEMS,_Fields.JOB_SUBMISSION_INTERFACES,_Fields.DATA_MOVEMENT_INTERFACES,_Fields.MAX_MEMORY_PER_NODE,_Fields.GATEWAY_USAGE_REPORTING,_Fields.GATEWAY_USAGE_MODULE_LOAD_COMMAND,_Fields.GATEWAY_USAGE_EXECUTABLE};
+  private static final _Fields optionals[] = {_Fields.HOST_ALIASES,_Fields.IP_ADDRESSES,_Fields.RESOURCE_DESCRIPTION,_Fields.ENABLED,_Fields.BATCH_QUEUES,_Fields.FILE_SYSTEMS,_Fields.JOB_SUBMISSION_INTERFACES,_Fields.DATA_MOVEMENT_INTERFACES,_Fields.MAX_MEMORY_PER_NODE,_Fields.GATEWAY_USAGE_REPORTING,_Fields.GATEWAY_USAGE_MODULE_LOAD_COMMAND,_Fields.GATEWAY_USAGE_EXECUTABLE,_Fields.CPUS_PER_NODE,_Fields.DEFAULT_NODE_COUNT,_Fields.DEFAULT_CPUCOUNT,_Fields.DEFAULT_WALLLTIME};
   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);
@@ -261,6 +285,14 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     tmpMap.put(_Fields.GATEWAY_USAGE_EXECUTABLE, new org.apache.thrift.meta_data.FieldMetaData("gatewayUsageExecutable", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.CPUS_PER_NODE, new org.apache.thrift.meta_data.FieldMetaData("cpusPerNode", 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.DEFAULT_WALLLTIME, new org.apache.thrift.meta_data.FieldMetaData("defaultWallltime", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
     metaDataMap = Collections.unmodifiableMap(tmpMap);
     org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ComputeResourceDescription.class, metaDataMap);
   }
@@ -346,6 +378,10 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
     if (other.isSetGatewayUsageExecutable()) {
       this.gatewayUsageExecutable = other.gatewayUsageExecutable;
     }
+    this.cpusPerNode = other.cpusPerNode;
+    this.defaultNodeCount = other.defaultNodeCount;
+    this.defaultCPUCount = other.defaultCPUCount;
+    this.defaultWallltime = other.defaultWallltime;
   }
 
   public ComputeResourceDescription deepCopy() {
@@ -372,6 +408,14 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
     this.gatewayUsageReporting = false;
     this.gatewayUsageModuleLoadCommand = null;
     this.gatewayUsageExecutable = null;
+    setCpusPerNodeIsSet(false);
+    this.cpusPerNode = 0;
+    setDefaultNodeCountIsSet(false);
+    this.defaultNodeCount = 0;
+    setDefaultCPUCountIsSet(false);
+    this.defaultCPUCount = 0;
+    setDefaultWallltimeIsSet(false);
+    this.defaultWallltime = 0;
   }
 
   public String getComputeResourceId() {
@@ -779,6 +823,94 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
     }
   }
 
+  public int getCpusPerNode() {
+    return this.cpusPerNode;
+  }
+
+  public void setCpusPerNode(int cpusPerNode) {
+    this.cpusPerNode = cpusPerNode;
+    setCpusPerNodeIsSet(true);
+  }
+
+  public void unsetCpusPerNode() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __CPUSPERNODE_ISSET_ID);
+  }
+
+  /** Returns true if field cpusPerNode is set (has been assigned a value) and false otherwise */
+  public boolean isSetCpusPerNode() {
+    return EncodingUtils.testBit(__isset_bitfield, __CPUSPERNODE_ISSET_ID);
+  }
+
+  public void setCpusPerNodeIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __CPUSPERNODE_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 int getDefaultWallltime() {
+    return this.defaultWallltime;
+  }
+
+  public void setDefaultWallltime(int defaultWallltime) {
+    this.defaultWallltime = defaultWallltime;
+    setDefaultWallltimeIsSet(true);
+  }
+
+  public void unsetDefaultWallltime() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __DEFAULTWALLLTIME_ISSET_ID);
+  }
+
+  /** Returns true if field defaultWallltime is set (has been assigned a value) and false otherwise */
+  public boolean isSetDefaultWallltime() {
+    return EncodingUtils.testBit(__isset_bitfield, __DEFAULTWALLLTIME_ISSET_ID);
+  }
+
+  public void setDefaultWallltimeIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __DEFAULTWALLLTIME_ISSET_ID, value);
+  }
+
   public void setFieldValue(_Fields field, Object value) {
     switch (field) {
     case COMPUTE_RESOURCE_ID:
@@ -893,6 +1025,38 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
       }
       break;
 
+    case CPUS_PER_NODE:
+      if (value == null) {
+        unsetCpusPerNode();
+      } else {
+        setCpusPerNode((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 DEFAULT_WALLLTIME:
+      if (value == null) {
+        unsetDefaultWallltime();
+      } else {
+        setDefaultWallltime((Integer)value);
+      }
+      break;
+
     }
   }
 
@@ -940,6 +1104,18 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
     case GATEWAY_USAGE_EXECUTABLE:
       return getGatewayUsageExecutable();
 
+    case CPUS_PER_NODE:
+      return getCpusPerNode();
+
+    case DEFAULT_NODE_COUNT:
+      return getDefaultNodeCount();
+
+    case DEFAULT_CPUCOUNT:
+      return getDefaultCPUCount();
+
+    case DEFAULT_WALLLTIME:
+      return getDefaultWallltime();
+
     }
     throw new IllegalStateException();
   }
@@ -979,6 +1155,14 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
       return isSetGatewayUsageModuleLoadCommand();
     case GATEWAY_USAGE_EXECUTABLE:
       return isSetGatewayUsageExecutable();
+    case CPUS_PER_NODE:
+      return isSetCpusPerNode();
+    case DEFAULT_NODE_COUNT:
+      return isSetDefaultNodeCount();
+    case DEFAULT_CPUCOUNT:
+      return isSetDefaultCPUCount();
+    case DEFAULT_WALLLTIME:
+      return isSetDefaultWallltime();
     }
     throw new IllegalStateException();
   }
@@ -1122,6 +1306,42 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
         return false;
     }
 
+    boolean this_present_cpusPerNode = true && this.isSetCpusPerNode();
+    boolean that_present_cpusPerNode = true && that.isSetCpusPerNode();
+    if (this_present_cpusPerNode || that_present_cpusPerNode) {
+      if (!(this_present_cpusPerNode && that_present_cpusPerNode))
+        return false;
+      if (this.cpusPerNode != that.cpusPerNode)
+        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_defaultWallltime = true && this.isSetDefaultWallltime();
+    boolean that_present_defaultWallltime = true && that.isSetDefaultWallltime();
+    if (this_present_defaultWallltime || that_present_defaultWallltime) {
+      if (!(this_present_defaultWallltime && that_present_defaultWallltime))
+        return false;
+      if (this.defaultWallltime != that.defaultWallltime)
+        return false;
+    }
+
     return true;
   }
 
@@ -1199,6 +1419,26 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
     if (present_gatewayUsageExecutable)
       list.add(gatewayUsageExecutable);
 
+    boolean present_cpusPerNode = true && (isSetCpusPerNode());
+    list.add(present_cpusPerNode);
+    if (present_cpusPerNode)
+      list.add(cpusPerNode);
+
+    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_defaultWallltime = true && (isSetDefaultWallltime());
+    list.add(present_defaultWallltime);
+    if (present_defaultWallltime)
+      list.add(defaultWallltime);
+
     return list.hashCode();
   }
 
@@ -1350,6 +1590,46 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
         return lastComparison;
       }
     }
+    lastComparison = Boolean.valueOf(isSetCpusPerNode()).compareTo(other.isSetCpusPerNode());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetCpusPerNode()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.cpusPerNode, other.cpusPerNode);
+      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(isSetDefaultWallltime()).compareTo(other.isSetDefaultWallltime());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetDefaultWallltime()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.defaultWallltime, other.defaultWallltime);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
     return 0;
   }
 
@@ -1493,6 +1773,30 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
       }
       first = false;
     }
+    if (isSetCpusPerNode()) {
+      if (!first) sb.append(", ");
+      sb.append("cpusPerNode:");
+      sb.append(this.cpusPerNode);
+      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 (isSetDefaultWallltime()) {
+      if (!first) sb.append(", ");
+      sb.append("defaultWallltime:");
+      sb.append(this.defaultWallltime);
+      first = false;
+    }
     sb.append(")");
     return sb.toString();
   }
@@ -1723,6 +2027,38 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
+          case 15: // CPUS_PER_NODE
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.cpusPerNode = iprot.readI32();
+              struct.setCpusPerNodeIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 16: // 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 17: // 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 18: // DEFAULT_WALLLTIME
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.defaultWallltime = iprot.readI32();
+              struct.setDefaultWallltimeIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
           default:
             org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
         }
@@ -1867,6 +2203,26 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
           oprot.writeFieldEnd();
         }
       }
+      if (struct.isSetCpusPerNode()) {
+        oprot.writeFieldBegin(CPUS_PER_NODE_FIELD_DESC);
+        oprot.writeI32(struct.cpusPerNode);
+        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.isSetDefaultWallltime()) {
+        oprot.writeFieldBegin(DEFAULT_WALLLTIME_FIELD_DESC);
+        oprot.writeI32(struct.defaultWallltime);
+        oprot.writeFieldEnd();
+      }
       oprot.writeFieldStop();
       oprot.writeStructEnd();
     }
@@ -1923,7 +2279,19 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
       if (struct.isSetGatewayUsageExecutable()) {
         optionals.set(11);
       }
-      oprot.writeBitSet(optionals, 12);
+      if (struct.isSetCpusPerNode()) {
+        optionals.set(12);
+      }
+      if (struct.isSetDefaultNodeCount()) {
+        optionals.set(13);
+      }
+      if (struct.isSetDefaultCPUCount()) {
+        optionals.set(14);
+      }
+      if (struct.isSetDefaultWallltime()) {
+        optionals.set(15);
+      }
+      oprot.writeBitSet(optionals, 16);
       if (struct.isSetHostAliases()) {
         {
           oprot.writeI32(struct.hostAliases.size());
@@ -1997,6 +2365,18 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
       if (struct.isSetGatewayUsageExecutable()) {
         oprot.writeString(struct.gatewayUsageExecutable);
       }
+      if (struct.isSetCpusPerNode()) {
+        oprot.writeI32(struct.cpusPerNode);
+      }
+      if (struct.isSetDefaultNodeCount()) {
+        oprot.writeI32(struct.defaultNodeCount);
+      }
+      if (struct.isSetDefaultCPUCount()) {
+        oprot.writeI32(struct.defaultCPUCount);
+      }
+      if (struct.isSetDefaultWallltime()) {
+        oprot.writeI32(struct.defaultWallltime);
+      }
     }
 
     @Override
@@ -2006,7 +2386,7 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
       struct.setComputeResourceIdIsSet(true);
       struct.hostName = iprot.readString();
       struct.setHostNameIsSet(true);
-      BitSet incoming = iprot.readBitSet(12);
+      BitSet incoming = iprot.readBitSet(16);
       if (incoming.get(0)) {
         {
           org.apache.thrift.protocol.TList _list67 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
@@ -2114,6 +2494,22 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
         struct.gatewayUsageExecutable = iprot.readString();
         struct.setGatewayUsageExecutableIsSet(true);
       }
+      if (incoming.get(12)) {
+        struct.cpusPerNode = iprot.readI32();
+        struct.setCpusPerNodeIsSet(true);
+      }
+      if (incoming.get(13)) {
+        struct.defaultNodeCount = iprot.readI32();
+        struct.setDefaultNodeCountIsSet(true);
+      }
+      if (incoming.get(14)) {
+        struct.defaultCPUCount = iprot.readI32();
+        struct.setDefaultCPUCountIsSet(true);
+      }
+      if (incoming.get(15)) {
+        struct.defaultWallltime = iprot.readI32();
+        struct.setDefaultWallltimeIsSet(true);
+      }
     }
   }
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/56bc4bee/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 571011a..6e6f6fa 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
@@ -47,6 +47,8 @@ public class ApplicationDeployment implements Serializable {
     private int defaultNodeCount;
     @Column(name = "DEFAULT_CPU_COUNT")
     private int defaultCPUCount;
+    @Column(name = "DEFAULT_WALLTIME")
+    private int defaultWalltime;
     @Column(name = "EDITABLE_BY_USER")
     private boolean editableByUser;
 
@@ -176,6 +178,14 @@ public class ApplicationDeployment implements Serializable {
         this.defaultCPUCount = defaultCPUCount;
     }
 
+    public int getDefaultWalltime() {
+        return defaultWalltime;
+    }
+
+    public void setDefaultWalltime(int defaultWalltime) {
+        this.defaultWalltime = defaultWalltime;
+    }
+
     public boolean isEditableByUser() {
         return editableByUser;
     }

http://git-wip-us.apache.org/repos/asf/airavata/blob/56bc4bee/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/ComputeResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/ComputeResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/ComputeResource.java
index c4a02e3..0ea0cea 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/ComputeResource.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/ComputeResource.java
@@ -61,6 +61,18 @@ public class ComputeResource implements Serializable {
     @Column(name = "GATEWAY_USAGE_EXECUTABLE")
     private String gatewayUsageExec;
 
+    @Column(name = "CPUS_PER_NODE")
+    private Integer cpusPerNode;
+
+    @Column(name = "DEFAULT_NODE_COUNT")
+    private Integer defaultNodeCount;
+
+    @Column(name = "DEFAULT_CPU_COUNT")
+    private Integer defaultCPUCount;
+
+    @Column(name = "DEFAULT_WALLTIME")
+    private Integer defaultWalltime;
+
     public Timestamp getCreationTime() {
         return creationTime;
     }
@@ -140,4 +152,36 @@ public class ComputeResource implements Serializable {
     public void setGatewayUsageExec(String gatewayUsageExec) {
         this.gatewayUsageExec = gatewayUsageExec;
     }
+
+    public Integer getCpusPerNode() {
+        return cpusPerNode;
+    }
+
+    public void setCpusPerNode(Integer cpusPerNode) {
+        this.cpusPerNode = cpusPerNode;
+    }
+
+    public Integer getDefaultNodeCount() {
+        return defaultNodeCount;
+    }
+
+    public void setDefaultNodeCount(Integer defaultNodeCount) {
+        this.defaultNodeCount = defaultNodeCount;
+    }
+
+    public Integer getDefaultCPUCount() {
+        return defaultCPUCount;
+    }
+
+    public void setDefaultCPUCount(Integer defaultCPUCount) {
+        this.defaultCPUCount = defaultCPUCount;
+    }
+
+    public Integer getDefaultWalltime() {
+        return defaultWalltime;
+    }
+
+    public void setDefaultWalltime(Integer defaultWalltime) {
+        this.defaultWalltime = defaultWalltime;
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/56bc4bee/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 54d75b7..889341b 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
@@ -49,6 +49,7 @@ public class AppDeploymentResource extends AppCatAbstractResource {
     private String defaultQueueName;
     private int defaultNodeCount;
     private int defaultCPUCount;
+    private int defaultWalltime;
     private boolean editableByUser;
     private ComputeResourceResource hostResource;
     private AppModuleResource moduleResource;
@@ -167,6 +168,14 @@ public class AppDeploymentResource extends AppCatAbstractResource {
         this.editableByUser = editableByUser;
     }
 
+    public int getDefaultWalltime() {
+        return defaultWalltime;
+    }
+
+    public void setDefaultWalltime(int defaultWalltime) {
+        this.defaultWalltime = defaultWalltime;
+    }
+
     @Override
     public void remove(Object identifier) throws AppCatalogException {
         EntityManager em = null;
@@ -460,6 +469,7 @@ public class AppDeploymentResource extends AppCatAbstractResource {
                 existingDeployment.setDefaultQueueName(defaultQueueName);
                 existingDeployment.setDefaultCPUCount(defaultCPUCount);
                 existingDeployment.setDefaultNodeCount(defaultNodeCount);
+                existingDeployment.setDefaultWalltime(defaultWalltime);
                 existingDeployment.setEditableByUser(editableByUser);
                 existingDeployment.setUpdateTime(AiravataUtils.getCurrentTimestamp());
                 em.merge(existingDeployment);
@@ -477,6 +487,7 @@ public class AppDeploymentResource extends AppCatAbstractResource {
                 deployment.setDefaultQueueName(defaultQueueName);
                 deployment.setDefaultCPUCount(defaultCPUCount);
                 deployment.setDefaultNodeCount(defaultNodeCount);
+                deployment.setDefaultWalltime(defaultWalltime);
                 deployment.setEditableByUser(editableByUser);
                 deployment.setCreationTime(AiravataUtils.getCurrentTimestamp());
                 em.persist(deployment);

http://git-wip-us.apache.org/repos/asf/airavata/blob/56bc4bee/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/ComputeResourceResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/ComputeResourceResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/ComputeResourceResource.java
index 7fd2e46..fd96ad5 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/ComputeResourceResource.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/ComputeResourceResource.java
@@ -43,6 +43,10 @@ public class ComputeResourceResource extends AppCatAbstractResource {
     private Timestamp createdTime;
     private Timestamp updatedTime;
     private int maxMemoryPerNode;
+    private int cpusPerNode;
+    private int defaultNodeCount;
+    private int defaultCPUCount;
+    private int defaultWalltime;
     private boolean enabled;
     private boolean gatewayUsageReporting;
     private String gatewayUsageModLoadCMD;
@@ -79,7 +83,39 @@ public class ComputeResourceResource extends AppCatAbstractResource {
         this.enabled = enabled;
     }
 
-    @Override
+	public int getCpusPerNode() {
+		return cpusPerNode;
+	}
+
+	public void setCpusPerNode(int cpusPerNode) {
+		this.cpusPerNode = cpusPerNode;
+	}
+
+	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 int getDefaultWalltime() {
+		return defaultWalltime;
+	}
+
+	public void setDefaultWalltime(int defaultWalltime) {
+		this.defaultWalltime = defaultWalltime;
+	}
+
+	@Override
 	public void remove(Object identifier) throws AppCatalogException {
 		EntityManager em = null;
 		try {
@@ -339,6 +375,10 @@ public class ComputeResourceResource extends AppCatAbstractResource {
 			computeResource.setHostName(getHostName());
             computeResource.setEnabled(isEnabled());
             computeResource.setMaxMemoryPerNode(getMaxMemoryPerNode());
+            computeResource.setCpusPerNode(cpusPerNode);
+            computeResource.setDefaultNodeCount(defaultNodeCount);
+            computeResource.setDefaultCPUCount(defaultCPUCount);
+            computeResource.setDefaultWalltime(defaultWalltime);
             computeResource.setGatewayUsageReporting(gatewayUsageReporting);
             computeResource.setGatewayUsageModLoadCMD(gatewayUsageModLoadCMD);
             computeResource.setGatewayUsageExec(gatewayUsageExec);

http://git-wip-us.apache.org/repos/asf/airavata/blob/56bc4bee/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 1f744ee..8014ccf 100644
--- a/modules/registry/registry-core/src/main/resources/appcatalog-derby.sql
+++ b/modules/registry/registry-core/src/main/resources/appcatalog-derby.sql
@@ -27,6 +27,10 @@ CREATE TABLE COMPUTE_RESOURCE
         CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
         UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
         MAX_MEMORY_NODE INTEGER,
+        CPUS_PER_NODE INTEGER,
+        DEFAULT_NODE_COUNT INTEGER,
+        DEFAULT_CPU_COUNT INTEGER,
+        DEFAULT_WALLTIME INTEGER,
         ENABLED SMALLINT,
         GATEWAY_USAGE_REPORTING SMALLINT,
         GATEWAY_USAGE_MODULE_LOAD_CMD VARCHAR(500),
@@ -209,6 +213,7 @@ CREATE TABLE APPLICATION_DEPLOYMENT
          DEFAULT_QUEUE_NAME VARCHAR(255),
          DEFAULT_NODE_COUNT INTEGER,
          DEFAULT_CPU_COUNT INTEGER,
+         DEFAULT_WALLTIME INTEGER,
          EDITABLE_BY_USER BOOLEAN,
          PRIMARY KEY(DEPLOYMENT_ID),
          FOREIGN KEY (COMPUTE_HOSTID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE,

http://git-wip-us.apache.org/repos/asf/airavata/blob/56bc4bee/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 12a1953..5de9ebf 100644
--- a/modules/registry/registry-core/src/main/resources/appcatalog-mysql.sql
+++ b/modules/registry/registry-core/src/main/resources/appcatalog-mysql.sql
@@ -26,6 +26,10 @@ CREATE TABLE COMPUTE_RESOURCE
           CREATION_TIME TIMESTAMP DEFAULT NOW(),
           UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
           MAX_MEMORY_NODE INTEGER,
+          CPUS_PER_NODE INTEGER,
+          DEFAULT_NODE_COUNT INTEGER,
+          DEFAULT_CPU_COUNT INTEGER,
+          DEFAULT_WALLTIME INTEGER,
           ENABLED SMALLINT,
           GATEWAY_USAGE_REPORTING SMALLINT,
           GATEWAY_USAGE_MODULE_LOAD_CMD VARCHAR(500),
@@ -216,6 +220,7 @@ CREATE TABLE APPLICATION_DEPLOYMENT
          DEFAULT_QUEUE_NAME VARCHAR(255),
          DEFAULT_NODE_COUNT INTEGER,
          DEFAULT_CPU_COUNT INTEGER,
+         DEFAULT_WALLTIME INTEGER,
          EDITABLE_BY_USER TINYINT(1),
          PRIMARY KEY(DEPLOYMENT_ID),
          FOREIGN KEY (COMPUTE_HOSTID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE,

http://git-wip-us.apache.org/repos/asf/airavata/blob/56bc4bee/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 7dcf1fe..b28f310 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
@@ -129,5 +129,6 @@ struct ApplicationDeploymentDescription {
 	13: optional string defaultQueueName,
 	14: optional i32 defaultNodeCount,
 	15: optional i32 defaultCPUCount,
-	16: optional bool editableByUser
+	16: optional i32 defaultWalltime,
+	17: optional bool editableByUser,
 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/56bc4bee/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 076e5c1..aaa3dbe 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
@@ -357,5 +357,9 @@ struct ComputeResourceDescription {
     11: optional i32 maxMemoryPerNode,
     12: optional bool gatewayUsageReporting,
     13: optional string gatewayUsageModuleLoadCommand,
-    14: optional string gatewayUsageExecutable
+    14: optional string gatewayUsageExecutable,
+    15: optional i32 cpusPerNode,
+    16: optional i32 defaultNodeCount,
+    17: optional i32 defaultCPUCount,
+    18: optional i32 defaultWallltime,
 }


[49/50] [abbrv] airavata git commit: merging with develop

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/a98d7fc3/modules/commons/src/main/java/org/apache/airavata/common/utils/ApplicationSettings.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/airavata/blob/a98d7fc3/modules/commons/src/main/java/org/apache/airavata/common/utils/IServer.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/airavata/blob/a98d7fc3/modules/commons/src/main/java/org/apache/airavata/common/utils/ServerSettings.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/airavata/blob/a98d7fc3/modules/configuration/server/src/main/resources/airavata-server.properties
----------------------------------------------------------------------


[33/50] [abbrv] airavata git commit: Remove references to userName and instead use userId

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/f5a4e9dd/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/UserProfile.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/UserProfile.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/UserProfile.java
index 7c6fd74..60c1e55 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/UserProfile.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/UserProfile.java
@@ -123,22 +123,21 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
   private static final org.apache.thrift.protocol.TField MIDDLE_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("middleName", org.apache.thrift.protocol.TType.STRING, (short)8);
   private static final org.apache.thrift.protocol.TField NAME_PREFIX_FIELD_DESC = new org.apache.thrift.protocol.TField("namePrefix", org.apache.thrift.protocol.TType.STRING, (short)9);
   private static final org.apache.thrift.protocol.TField NAME_SUFFIX_FIELD_DESC = new org.apache.thrift.protocol.TField("nameSuffix", org.apache.thrift.protocol.TType.STRING, (short)10);
-  private static final org.apache.thrift.protocol.TField USER_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("userName", org.apache.thrift.protocol.TType.STRING, (short)11);
-  private static final org.apache.thrift.protocol.TField ORCID_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orcidId", org.apache.thrift.protocol.TType.STRING, (short)12);
-  private static final org.apache.thrift.protocol.TField PHONES_FIELD_DESC = new org.apache.thrift.protocol.TField("phones", org.apache.thrift.protocol.TType.LIST, (short)13);
-  private static final org.apache.thrift.protocol.TField COUNTRY_FIELD_DESC = new org.apache.thrift.protocol.TField("country", org.apache.thrift.protocol.TType.STRING, (short)14);
-  private static final org.apache.thrift.protocol.TField NATIONALITY_FIELD_DESC = new org.apache.thrift.protocol.TField("nationality", org.apache.thrift.protocol.TType.LIST, (short)15);
-  private static final org.apache.thrift.protocol.TField HOME_ORGANIZATION_FIELD_DESC = new org.apache.thrift.protocol.TField("homeOrganization", org.apache.thrift.protocol.TType.STRING, (short)16);
-  private static final org.apache.thrift.protocol.TField ORGINATION_AFFILIATION_FIELD_DESC = new org.apache.thrift.protocol.TField("orginationAffiliation", org.apache.thrift.protocol.TType.STRING, (short)17);
-  private static final org.apache.thrift.protocol.TField CREATION_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("creationTime", org.apache.thrift.protocol.TType.I64, (short)18);
-  private static final org.apache.thrift.protocol.TField LAST_ACCESS_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("lastAccessTime", org.apache.thrift.protocol.TType.I64, (short)19);
-  private static final org.apache.thrift.protocol.TField VALID_UNTIL_FIELD_DESC = new org.apache.thrift.protocol.TField("validUntil", org.apache.thrift.protocol.TType.I64, (short)20);
-  private static final org.apache.thrift.protocol.TField STATE_FIELD_DESC = new org.apache.thrift.protocol.TField("State", org.apache.thrift.protocol.TType.I32, (short)21);
-  private static final org.apache.thrift.protocol.TField COMMENTS_FIELD_DESC = new org.apache.thrift.protocol.TField("comments", org.apache.thrift.protocol.TType.STRING, (short)22);
-  private static final org.apache.thrift.protocol.TField LABELED_URI_FIELD_DESC = new org.apache.thrift.protocol.TField("labeledURI", org.apache.thrift.protocol.TType.LIST, (short)23);
-  private static final org.apache.thrift.protocol.TField GPG_KEY_FIELD_DESC = new org.apache.thrift.protocol.TField("gpgKey", org.apache.thrift.protocol.TType.STRING, (short)24);
-  private static final org.apache.thrift.protocol.TField TIME_ZONE_FIELD_DESC = new org.apache.thrift.protocol.TField("timeZone", org.apache.thrift.protocol.TType.STRING, (short)25);
-  private static final org.apache.thrift.protocol.TField NSF_DEMOGRAPHICS_FIELD_DESC = new org.apache.thrift.protocol.TField("nsfDemographics", org.apache.thrift.protocol.TType.STRUCT, (short)26);
+  private static final org.apache.thrift.protocol.TField ORCID_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orcidId", org.apache.thrift.protocol.TType.STRING, (short)11);
+  private static final org.apache.thrift.protocol.TField PHONES_FIELD_DESC = new org.apache.thrift.protocol.TField("phones", org.apache.thrift.protocol.TType.LIST, (short)12);
+  private static final org.apache.thrift.protocol.TField COUNTRY_FIELD_DESC = new org.apache.thrift.protocol.TField("country", org.apache.thrift.protocol.TType.STRING, (short)13);
+  private static final org.apache.thrift.protocol.TField NATIONALITY_FIELD_DESC = new org.apache.thrift.protocol.TField("nationality", org.apache.thrift.protocol.TType.LIST, (short)14);
+  private static final org.apache.thrift.protocol.TField HOME_ORGANIZATION_FIELD_DESC = new org.apache.thrift.protocol.TField("homeOrganization", org.apache.thrift.protocol.TType.STRING, (short)15);
+  private static final org.apache.thrift.protocol.TField ORGINATION_AFFILIATION_FIELD_DESC = new org.apache.thrift.protocol.TField("orginationAffiliation", org.apache.thrift.protocol.TType.STRING, (short)16);
+  private static final org.apache.thrift.protocol.TField CREATION_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("creationTime", org.apache.thrift.protocol.TType.I64, (short)17);
+  private static final org.apache.thrift.protocol.TField LAST_ACCESS_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("lastAccessTime", org.apache.thrift.protocol.TType.I64, (short)18);
+  private static final org.apache.thrift.protocol.TField VALID_UNTIL_FIELD_DESC = new org.apache.thrift.protocol.TField("validUntil", org.apache.thrift.protocol.TType.I64, (short)19);
+  private static final org.apache.thrift.protocol.TField STATE_FIELD_DESC = new org.apache.thrift.protocol.TField("State", org.apache.thrift.protocol.TType.I32, (short)20);
+  private static final org.apache.thrift.protocol.TField COMMENTS_FIELD_DESC = new org.apache.thrift.protocol.TField("comments", org.apache.thrift.protocol.TType.STRING, (short)21);
+  private static final org.apache.thrift.protocol.TField LABELED_URI_FIELD_DESC = new org.apache.thrift.protocol.TField("labeledURI", org.apache.thrift.protocol.TType.LIST, (short)22);
+  private static final org.apache.thrift.protocol.TField GPG_KEY_FIELD_DESC = new org.apache.thrift.protocol.TField("gpgKey", org.apache.thrift.protocol.TType.STRING, (short)23);
+  private static final org.apache.thrift.protocol.TField TIME_ZONE_FIELD_DESC = new org.apache.thrift.protocol.TField("timeZone", org.apache.thrift.protocol.TType.STRING, (short)24);
+  private static final org.apache.thrift.protocol.TField NSF_DEMOGRAPHICS_FIELD_DESC = new org.apache.thrift.protocol.TField("nsfDemographics", org.apache.thrift.protocol.TType.STRUCT, (short)25);
 
   private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
   static {
@@ -156,7 +155,6 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
   private String middleName; // optional
   private String namePrefix; // optional
   private String nameSuffix; // optional
-  private String userName; // optional
   private String orcidId; // optional
   private List<String> phones; // optional
   private String country; // optional
@@ -185,26 +183,25 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
     MIDDLE_NAME((short)8, "middleName"),
     NAME_PREFIX((short)9, "namePrefix"),
     NAME_SUFFIX((short)10, "nameSuffix"),
-    USER_NAME((short)11, "userName"),
-    ORCID_ID((short)12, "orcidId"),
-    PHONES((short)13, "phones"),
-    COUNTRY((short)14, "country"),
-    NATIONALITY((short)15, "nationality"),
-    HOME_ORGANIZATION((short)16, "homeOrganization"),
-    ORGINATION_AFFILIATION((short)17, "orginationAffiliation"),
-    CREATION_TIME((short)18, "creationTime"),
-    LAST_ACCESS_TIME((short)19, "lastAccessTime"),
-    VALID_UNTIL((short)20, "validUntil"),
+    ORCID_ID((short)11, "orcidId"),
+    PHONES((short)12, "phones"),
+    COUNTRY((short)13, "country"),
+    NATIONALITY((short)14, "nationality"),
+    HOME_ORGANIZATION((short)15, "homeOrganization"),
+    ORGINATION_AFFILIATION((short)16, "orginationAffiliation"),
+    CREATION_TIME((short)17, "creationTime"),
+    LAST_ACCESS_TIME((short)18, "lastAccessTime"),
+    VALID_UNTIL((short)19, "validUntil"),
     /**
      * 
      * @see Status
      */
-    STATE((short)21, "State"),
-    COMMENTS((short)22, "comments"),
-    LABELED_URI((short)23, "labeledURI"),
-    GPG_KEY((short)24, "gpgKey"),
-    TIME_ZONE((short)25, "timeZone"),
-    NSF_DEMOGRAPHICS((short)26, "nsfDemographics");
+    STATE((short)20, "State"),
+    COMMENTS((short)21, "comments"),
+    LABELED_URI((short)22, "labeledURI"),
+    GPG_KEY((short)23, "gpgKey"),
+    TIME_ZONE((short)24, "timeZone"),
+    NSF_DEMOGRAPHICS((short)25, "nsfDemographics");
 
     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -239,37 +236,35 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
           return NAME_PREFIX;
         case 10: // NAME_SUFFIX
           return NAME_SUFFIX;
-        case 11: // USER_NAME
-          return USER_NAME;
-        case 12: // ORCID_ID
+        case 11: // ORCID_ID
           return ORCID_ID;
-        case 13: // PHONES
+        case 12: // PHONES
           return PHONES;
-        case 14: // COUNTRY
+        case 13: // COUNTRY
           return COUNTRY;
-        case 15: // NATIONALITY
+        case 14: // NATIONALITY
           return NATIONALITY;
-        case 16: // HOME_ORGANIZATION
+        case 15: // HOME_ORGANIZATION
           return HOME_ORGANIZATION;
-        case 17: // ORGINATION_AFFILIATION
+        case 16: // ORGINATION_AFFILIATION
           return ORGINATION_AFFILIATION;
-        case 18: // CREATION_TIME
+        case 17: // CREATION_TIME
           return CREATION_TIME;
-        case 19: // LAST_ACCESS_TIME
+        case 18: // LAST_ACCESS_TIME
           return LAST_ACCESS_TIME;
-        case 20: // VALID_UNTIL
+        case 19: // VALID_UNTIL
           return VALID_UNTIL;
-        case 21: // STATE
+        case 20: // STATE
           return STATE;
-        case 22: // COMMENTS
+        case 21: // COMMENTS
           return COMMENTS;
-        case 23: // LABELED_URI
+        case 22: // LABELED_URI
           return LABELED_URI;
-        case 24: // GPG_KEY
+        case 23: // GPG_KEY
           return GPG_KEY;
-        case 25: // TIME_ZONE
+        case 24: // TIME_ZONE
           return TIME_ZONE;
-        case 26: // NSF_DEMOGRAPHICS
+        case 25: // NSF_DEMOGRAPHICS
           return NSF_DEMOGRAPHICS;
         default:
           return null;
@@ -315,7 +310,7 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
   private static final int __LASTACCESSTIME_ISSET_ID = 1;
   private static final int __VALIDUNTIL_ISSET_ID = 2;
   private byte __isset_bitfield = 0;
-  private static final _Fields optionals[] = {_Fields.MIDDLE_NAME,_Fields.NAME_PREFIX,_Fields.NAME_SUFFIX,_Fields.USER_NAME,_Fields.ORCID_ID,_Fields.PHONES,_Fields.COUNTRY,_Fields.NATIONALITY,_Fields.HOME_ORGANIZATION,_Fields.ORGINATION_AFFILIATION,_Fields.COMMENTS,_Fields.LABELED_URI,_Fields.GPG_KEY,_Fields.TIME_ZONE,_Fields.NSF_DEMOGRAPHICS};
+  private static final _Fields optionals[] = {_Fields.MIDDLE_NAME,_Fields.NAME_PREFIX,_Fields.NAME_SUFFIX,_Fields.ORCID_ID,_Fields.PHONES,_Fields.COUNTRY,_Fields.NATIONALITY,_Fields.HOME_ORGANIZATION,_Fields.ORGINATION_AFFILIATION,_Fields.COMMENTS,_Fields.LABELED_URI,_Fields.GPG_KEY,_Fields.TIME_ZONE,_Fields.NSF_DEMOGRAPHICS};
   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);
@@ -340,8 +335,6 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     tmpMap.put(_Fields.NAME_SUFFIX, new org.apache.thrift.meta_data.FieldMetaData("nameSuffix", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.USER_NAME, new org.apache.thrift.meta_data.FieldMetaData("userName", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     tmpMap.put(_Fields.ORCID_ID, new org.apache.thrift.meta_data.FieldMetaData("orcidId", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     tmpMap.put(_Fields.PHONES, new org.apache.thrift.meta_data.FieldMetaData("phones", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
@@ -452,9 +445,6 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
     if (other.isSetNameSuffix()) {
       this.nameSuffix = other.nameSuffix;
     }
-    if (other.isSetUserName()) {
-      this.userName = other.userName;
-    }
     if (other.isSetOrcidId()) {
       this.orcidId = other.orcidId;
     }
@@ -517,7 +507,6 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
     this.middleName = null;
     this.namePrefix = null;
     this.nameSuffix = null;
-    this.userName = null;
     this.orcidId = null;
     this.phones = null;
     this.country = null;
@@ -783,29 +772,6 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
     }
   }
 
-  public String getUserName() {
-    return this.userName;
-  }
-
-  public void setUserName(String userName) {
-    this.userName = userName;
-  }
-
-  public void unsetUserName() {
-    this.userName = null;
-  }
-
-  /** Returns true if field userName is set (has been assigned a value) and false otherwise */
-  public boolean isSetUserName() {
-    return this.userName != null;
-  }
-
-  public void setUserNameIsSet(boolean value) {
-    if (!value) {
-      this.userName = null;
-    }
-  }
-
   public String getOrcidId() {
     return this.orcidId;
   }
@@ -1283,14 +1249,6 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
       }
       break;
 
-    case USER_NAME:
-      if (value == null) {
-        unsetUserName();
-      } else {
-        setUserName((String)value);
-      }
-      break;
-
     case ORCID_ID:
       if (value == null) {
         unsetOrcidId();
@@ -1446,9 +1404,6 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
     case NAME_SUFFIX:
       return getNameSuffix();
 
-    case USER_NAME:
-      return getUserName();
-
     case ORCID_ID:
       return getOrcidId();
 
@@ -1525,8 +1480,6 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
       return isSetNamePrefix();
     case NAME_SUFFIX:
       return isSetNameSuffix();
-    case USER_NAME:
-      return isSetUserName();
     case ORCID_ID:
       return isSetOrcidId();
     case PHONES:
@@ -1664,15 +1617,6 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
         return false;
     }
 
-    boolean this_present_userName = true && this.isSetUserName();
-    boolean that_present_userName = true && that.isSetUserName();
-    if (this_present_userName || that_present_userName) {
-      if (!(this_present_userName && that_present_userName))
-        return false;
-      if (!this.userName.equals(that.userName))
-        return false;
-    }
-
     boolean this_present_orcidId = true && this.isSetOrcidId();
     boolean that_present_orcidId = true && that.isSetOrcidId();
     if (this_present_orcidId || that_present_orcidId) {
@@ -1865,11 +1809,6 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
     if (present_nameSuffix)
       list.add(nameSuffix);
 
-    boolean present_userName = true && (isSetUserName());
-    list.add(present_userName);
-    if (present_userName)
-      list.add(userName);
-
     boolean present_orcidId = true && (isSetOrcidId());
     list.add(present_orcidId);
     if (present_orcidId)
@@ -2056,16 +1995,6 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
         return lastComparison;
       }
     }
-    lastComparison = Boolean.valueOf(isSetUserName()).compareTo(other.isSetUserName());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetUserName()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.userName, other.userName);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
     lastComparison = Boolean.valueOf(isSetOrcidId()).compareTo(other.isSetOrcidId());
     if (lastComparison != 0) {
       return lastComparison;
@@ -2321,16 +2250,6 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
       }
       first = false;
     }
-    if (isSetUserName()) {
-      if (!first) sb.append(", ");
-      sb.append("userName:");
-      if (this.userName == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.userName);
-      }
-      first = false;
-    }
     if (isSetOrcidId()) {
       if (!first) sb.append(", ");
       sb.append("orcidId:");
@@ -2643,15 +2562,7 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 11: // USER_NAME
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.userName = iprot.readString();
-              struct.setUserNameIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 12: // ORCID_ID
+          case 11: // ORCID_ID
             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
               struct.orcidId = iprot.readString();
               struct.setOrcidIdIsSet(true);
@@ -2659,7 +2570,7 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 13: // PHONES
+          case 12: // PHONES
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
                 org.apache.thrift.protocol.TList _list27 = iprot.readListBegin();
@@ -2677,7 +2588,7 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 14: // COUNTRY
+          case 13: // COUNTRY
             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
               struct.country = iprot.readString();
               struct.setCountryIsSet(true);
@@ -2685,7 +2596,7 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 15: // NATIONALITY
+          case 14: // NATIONALITY
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
                 org.apache.thrift.protocol.TList _list30 = iprot.readListBegin();
@@ -2703,7 +2614,7 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 16: // HOME_ORGANIZATION
+          case 15: // HOME_ORGANIZATION
             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
               struct.homeOrganization = iprot.readString();
               struct.setHomeOrganizationIsSet(true);
@@ -2711,7 +2622,7 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 17: // ORGINATION_AFFILIATION
+          case 16: // ORGINATION_AFFILIATION
             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
               struct.orginationAffiliation = iprot.readString();
               struct.setOrginationAffiliationIsSet(true);
@@ -2719,7 +2630,7 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 18: // CREATION_TIME
+          case 17: // CREATION_TIME
             if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
               struct.creationTime = iprot.readI64();
               struct.setCreationTimeIsSet(true);
@@ -2727,7 +2638,7 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 19: // LAST_ACCESS_TIME
+          case 18: // LAST_ACCESS_TIME
             if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
               struct.lastAccessTime = iprot.readI64();
               struct.setLastAccessTimeIsSet(true);
@@ -2735,7 +2646,7 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 20: // VALID_UNTIL
+          case 19: // VALID_UNTIL
             if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
               struct.validUntil = iprot.readI64();
               struct.setValidUntilIsSet(true);
@@ -2743,7 +2654,7 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 21: // STATE
+          case 20: // STATE
             if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
               struct.State = org.apache.airavata.model.user.Status.findByValue(iprot.readI32());
               struct.setStateIsSet(true);
@@ -2751,7 +2662,7 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 22: // COMMENTS
+          case 21: // COMMENTS
             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
               struct.comments = iprot.readString();
               struct.setCommentsIsSet(true);
@@ -2759,7 +2670,7 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 23: // LABELED_URI
+          case 22: // LABELED_URI
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
                 org.apache.thrift.protocol.TList _list33 = iprot.readListBegin();
@@ -2777,7 +2688,7 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 24: // GPG_KEY
+          case 23: // GPG_KEY
             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
               struct.gpgKey = iprot.readString();
               struct.setGpgKeyIsSet(true);
@@ -2785,7 +2696,7 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 25: // TIME_ZONE
+          case 24: // TIME_ZONE
             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
               struct.timeZone = iprot.readString();
               struct.setTimeZoneIsSet(true);
@@ -2793,7 +2704,7 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 26: // NSF_DEMOGRAPHICS
+          case 25: // NSF_DEMOGRAPHICS
             if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
               struct.nsfDemographics = new NSFDemographics();
               struct.nsfDemographics.read(iprot);
@@ -2878,13 +2789,6 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
           oprot.writeFieldEnd();
         }
       }
-      if (struct.userName != null) {
-        if (struct.isSetUserName()) {
-          oprot.writeFieldBegin(USER_NAME_FIELD_DESC);
-          oprot.writeString(struct.userName);
-          oprot.writeFieldEnd();
-        }
-      }
       if (struct.orcidId != null) {
         if (struct.isSetOrcidId()) {
           oprot.writeFieldBegin(ORCID_ID_FIELD_DESC);
@@ -3041,43 +2945,40 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
       if (struct.isSetNameSuffix()) {
         optionals.set(2);
       }
-      if (struct.isSetUserName()) {
-        optionals.set(3);
-      }
       if (struct.isSetOrcidId()) {
-        optionals.set(4);
+        optionals.set(3);
       }
       if (struct.isSetPhones()) {
-        optionals.set(5);
+        optionals.set(4);
       }
       if (struct.isSetCountry()) {
-        optionals.set(6);
+        optionals.set(5);
       }
       if (struct.isSetNationality()) {
-        optionals.set(7);
+        optionals.set(6);
       }
       if (struct.isSetHomeOrganization()) {
-        optionals.set(8);
+        optionals.set(7);
       }
       if (struct.isSetOrginationAffiliation()) {
-        optionals.set(9);
+        optionals.set(8);
       }
       if (struct.isSetComments()) {
-        optionals.set(10);
+        optionals.set(9);
       }
       if (struct.isSetLabeledURI()) {
-        optionals.set(11);
+        optionals.set(10);
       }
       if (struct.isSetGpgKey()) {
-        optionals.set(12);
+        optionals.set(11);
       }
       if (struct.isSetTimeZone()) {
-        optionals.set(13);
+        optionals.set(12);
       }
       if (struct.isSetNsfDemographics()) {
-        optionals.set(14);
+        optionals.set(13);
       }
-      oprot.writeBitSet(optionals, 15);
+      oprot.writeBitSet(optionals, 14);
       if (struct.isSetMiddleName()) {
         oprot.writeString(struct.middleName);
       }
@@ -3087,9 +2988,6 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
       if (struct.isSetNameSuffix()) {
         oprot.writeString(struct.nameSuffix);
       }
-      if (struct.isSetUserName()) {
-        oprot.writeString(struct.userName);
-      }
       if (struct.isSetOrcidId()) {
         oprot.writeString(struct.orcidId);
       }
@@ -3177,7 +3075,7 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
       struct.setValidUntilIsSet(true);
       struct.State = org.apache.airavata.model.user.Status.findByValue(iprot.readI32());
       struct.setStateIsSet(true);
-      BitSet incoming = iprot.readBitSet(15);
+      BitSet incoming = iprot.readBitSet(14);
       if (incoming.get(0)) {
         struct.middleName = iprot.readString();
         struct.setMiddleNameIsSet(true);
@@ -3191,14 +3089,10 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
         struct.setNameSuffixIsSet(true);
       }
       if (incoming.get(3)) {
-        struct.userName = iprot.readString();
-        struct.setUserNameIsSet(true);
-      }
-      if (incoming.get(4)) {
         struct.orcidId = iprot.readString();
         struct.setOrcidIdIsSet(true);
       }
-      if (incoming.get(5)) {
+      if (incoming.get(4)) {
         {
           org.apache.thrift.protocol.TList _list47 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
           struct.phones = new ArrayList<String>(_list47.size);
@@ -3211,11 +3105,11 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
         }
         struct.setPhonesIsSet(true);
       }
-      if (incoming.get(6)) {
+      if (incoming.get(5)) {
         struct.country = iprot.readString();
         struct.setCountryIsSet(true);
       }
-      if (incoming.get(7)) {
+      if (incoming.get(6)) {
         {
           org.apache.thrift.protocol.TList _list50 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
           struct.nationality = new ArrayList<String>(_list50.size);
@@ -3228,19 +3122,19 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
         }
         struct.setNationalityIsSet(true);
       }
-      if (incoming.get(8)) {
+      if (incoming.get(7)) {
         struct.homeOrganization = iprot.readString();
         struct.setHomeOrganizationIsSet(true);
       }
-      if (incoming.get(9)) {
+      if (incoming.get(8)) {
         struct.orginationAffiliation = iprot.readString();
         struct.setOrginationAffiliationIsSet(true);
       }
-      if (incoming.get(10)) {
+      if (incoming.get(9)) {
         struct.comments = iprot.readString();
         struct.setCommentsIsSet(true);
       }
-      if (incoming.get(11)) {
+      if (incoming.get(10)) {
         {
           org.apache.thrift.protocol.TList _list53 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
           struct.labeledURI = new ArrayList<String>(_list53.size);
@@ -3253,15 +3147,15 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
         }
         struct.setLabeledURIIsSet(true);
       }
-      if (incoming.get(12)) {
+      if (incoming.get(11)) {
         struct.gpgKey = iprot.readString();
         struct.setGpgKeyIsSet(true);
       }
-      if (incoming.get(13)) {
+      if (incoming.get(12)) {
         struct.timeZone = iprot.readString();
         struct.setTimeZoneIsSet(true);
       }
-      if (incoming.get(14)) {
+      if (incoming.get(13)) {
         struct.nsfDemographics = new NSFDemographics();
         struct.nsfDemographics.read(iprot);
         struct.setNsfDemographicsIsSet(true);

http://git-wip-us.apache.org/repos/asf/airavata/blob/f5a4e9dd/airavata-services/profile-service/iam-admin-services-core/src/main/java/org/apache/airavata/service/profile/iam/admin/services/core/impl/TenantManagementKeycloakImpl.java
----------------------------------------------------------------------
diff --git a/airavata-services/profile-service/iam-admin-services-core/src/main/java/org/apache/airavata/service/profile/iam/admin/services/core/impl/TenantManagementKeycloakImpl.java b/airavata-services/profile-service/iam-admin-services-core/src/main/java/org/apache/airavata/service/profile/iam/admin/services/core/impl/TenantManagementKeycloakImpl.java
index d385b70..df0ecab 100644
--- a/airavata-services/profile-service/iam-admin-services-core/src/main/java/org/apache/airavata/service/profile/iam/admin/services/core/impl/TenantManagementKeycloakImpl.java
+++ b/airavata-services/profile-service/iam-admin-services-core/src/main/java/org/apache/airavata/service/profile/iam/admin/services/core/impl/TenantManagementKeycloakImpl.java
@@ -316,7 +316,8 @@ public class TenantManagementKeycloakImpl implements TenantManagementInterface {
                 for(UserRepresentation user : retrieveUserList){
                     UserProfile profile = new UserProfile();
                     profile.setUserId(user.getUsername());
-                    profile.setUserName(user.getFirstName());
+                    profile.setFirstName(user.getFirstName());
+                    profile.setLastName(user.getLastName());
                     profile.setEmails(Arrays.asList(new String[]{user.getEmail()}));
                     userList.add(profile);
                 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/f5a4e9dd/airavata-services/profile-service/iam-admin-services-core/src/test/java/org/apache/airavata/service/profile/iam/admin/services/core/tests/SetupNewGateway.java
----------------------------------------------------------------------
diff --git a/airavata-services/profile-service/iam-admin-services-core/src/test/java/org/apache/airavata/service/profile/iam/admin/services/core/tests/SetupNewGateway.java b/airavata-services/profile-service/iam-admin-services-core/src/test/java/org/apache/airavata/service/profile/iam/admin/services/core/tests/SetupNewGateway.java
index 91479bf..6ae81a6 100644
--- a/airavata-services/profile-service/iam-admin-services-core/src/test/java/org/apache/airavata/service/profile/iam/admin/services/core/tests/SetupNewGateway.java
+++ b/airavata-services/profile-service/iam-admin-services-core/src/test/java/org/apache/airavata/service/profile/iam/admin/services/core/tests/SetupNewGateway.java
@@ -50,7 +50,8 @@ public class SetupNewGateway {
      public static void UserRegistration(){
          UserProfile user = new UserProfile();
          user.setUserId("testuser");
-         user.setUserName("Some Man");
+         user.setFirstName("test-firstname");
+         user.setLastName("test-lastname");
          List<String> emails = new ArrayList<>();
          emails.add("some.man@outlook.com");
          user.setGatewayId("maven.test.gateway");

http://git-wip-us.apache.org/repos/asf/airavata/blob/f5a4e9dd/airavata-services/profile-service/profile-service-client-sdks/java-client-samples/src/main/java/org/apache/airavata/service/profile/client/samples/UserProfileSample.java
----------------------------------------------------------------------
diff --git a/airavata-services/profile-service/profile-service-client-sdks/java-client-samples/src/main/java/org/apache/airavata/service/profile/client/samples/UserProfileSample.java b/airavata-services/profile-service/profile-service-client-sdks/java-client-samples/src/main/java/org/apache/airavata/service/profile/client/samples/UserProfileSample.java
index 861f2f5..90ace42 100644
--- a/airavata-services/profile-service/profile-service-client-sdks/java-client-samples/src/main/java/org/apache/airavata/service/profile/client/samples/UserProfileSample.java
+++ b/airavata-services/profile-service/profile-service-client-sdks/java-client-samples/src/main/java/org/apache/airavata/service/profile/client/samples/UserProfileSample.java
@@ -56,11 +56,11 @@ public class UserProfileSample {
 
             // test update-user-profile : update name
             userProfile = getUserProfile(testUserId);
-            String newUserName = userProfile.getUserName().replaceAll("username", "username-updated");
-            userProfile.setUserName(newUserName);
+            String newFName = userProfile.getFirstName().replaceAll("fname", "fname-updated");
+            userProfile.setFirstName(newFName);
             boolean updateSuccess = userProfileClient.updateUserProfile(authzToken, userProfile);
-            assert (updateSuccess) : "User update with new userName: [" + newUserName + "], Failed!";
-            System.out.println("User update with new userName: [" + newUserName + "], Successful!");
+            assert (updateSuccess) : "User update with new firstName: [" + newFName + "], Failed!";
+            System.out.println("User update with new firstName: [" + newFName + "], Successful!");
 
             // test get-all-userprofiles
             List<UserProfile> userProfileList = userProfileClient.getAllUserProfilesInGateway(authzToken, testGatewayId, 0, 5);
@@ -70,18 +70,13 @@ public class UserProfileSample {
                 System.out.println("\t [UserProfile] userId: " + userProfile1.getUserId());
             }
 
-            // test find-user-profile-by-name
-            userProfile = userProfileClient.getUserProfileByName(authzToken, newUserName, testGatewayId);
-            assert (userProfile != null) : "Could not find user with userName: " + newUserName;
-            System.out.println("UserProfile: " + userProfile);
-
             // test delete-user-profile
             boolean deleteSuccess = userProfileClient.deleteUserProfile(authzToken, testUserId, testGatewayId);
             assert (deleteSuccess) : "Delete user failed for userId: " + testUserId;
             System.out.println("Successfully deleted user with userId: " + testUserId);
 
             // test-check-user-exist
-            boolean userExists = userProfileClient.doesUserExist(authzToken, newUserName, testGatewayId);
+            boolean userExists = userProfileClient.doesUserExist(authzToken, testUserId, testGatewayId);
             assert (!userExists) : "User should not exist, but it does.";
             System.out.println("User was deleted, hence does not exist!");
             System.out.println("*** DONE ***");
@@ -102,10 +97,11 @@ public class UserProfileSample {
         userProfile.setUserModelVersion("model-" + userIdValue);
         userProfile.setAiravataInternalUserId("test-user-internal-" + userIdValue);
         userProfile.setUserId("test-user-" + userIdValue);
+        userProfile.setFirstName("test-user-fname");
+        userProfile.setLastName("test-user-lname");
         userProfile.setGatewayId(testGatewayId);
         userProfile.addToEmails("test-user-" + userIdValue + "@domain1.com");
         userProfile.addToEmails("test-user-" + userIdValue + "@domain2.com");
-        userProfile.setUserName("test-username-" + userIdValue);
         userProfile.setCreationTime(new Date().getTime());
         userProfile.setLastAccessTime(new Date().getTime());
         userProfile.setValidUntil(new Date().getTime());

http://git-wip-us.apache.org/repos/asf/airavata/blob/f5a4e9dd/airavata-services/profile-service/profile-service-commons/src/main/java/org/apache/airavata/service/profile/commons/utils/QueryConstants.java
----------------------------------------------------------------------
diff --git a/airavata-services/profile-service/profile-service-commons/src/main/java/org/apache/airavata/service/profile/commons/utils/QueryConstants.java b/airavata-services/profile-service/profile-service-commons/src/main/java/org/apache/airavata/service/profile/commons/utils/QueryConstants.java
index 2597aea..2dd918e 100644
--- a/airavata-services/profile-service/profile-service-commons/src/main/java/org/apache/airavata/service/profile/commons/utils/QueryConstants.java
+++ b/airavata-services/profile-service/profile-service-commons/src/main/java/org/apache/airavata/service/profile/commons/utils/QueryConstants.java
@@ -16,10 +16,6 @@ public class QueryConstants {
     public static final String FIND_ALL_USER_PROFILES_BY_GATEWAY_ID = "SELECT u FROM UserProfileEntity u " +
             "where u.gatewayId LIKE :" + UserProfile._Fields.GATEWAY_ID.getFieldName() + "";
 
-    public static final String FIND_USER_PROFILE_BY_USER_NAME = "SELECT u FROM UserProfileEntity u " +
-            "where u.userName LIKE :" + UserProfile._Fields.USER_NAME.getFieldName() + " " +
-            "AND u.gatewayId LIKE :" + UserProfile._Fields.GATEWAY_ID.getFieldName() + "";
-
     public static final String FIND_GATEWAY_BY_ID = "SELECT g FROM GatewayEntity g " +
             "where g.gatewayId LIKE :" + Gateway._Fields.GATEWAY_ID.getFieldName() + "";
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/f5a4e9dd/airavata-services/profile-service/profile-service-server/src/main/java/org/apache/airavata/service/profile/handlers/UserProfileServiceHandler.java
----------------------------------------------------------------------
diff --git a/airavata-services/profile-service/profile-service-server/src/main/java/org/apache/airavata/service/profile/handlers/UserProfileServiceHandler.java b/airavata-services/profile-service/profile-service-server/src/main/java/org/apache/airavata/service/profile/handlers/UserProfileServiceHandler.java
index 7b93bc5..6ade73c 100644
--- a/airavata-services/profile-service/profile-service-server/src/main/java/org/apache/airavata/service/profile/handlers/UserProfileServiceHandler.java
+++ b/airavata-services/profile-service/profile-service-server/src/main/java/org/apache/airavata/service/profile/handlers/UserProfileServiceHandler.java
@@ -159,30 +159,10 @@ public class UserProfileServiceHandler implements UserProfileService.Iface {
     }
 
     @Override
-    @SecurityCheck
-    public UserProfile getUserProfileByName(AuthzToken authzToken, String userName, String gatewayId) throws UserProfileServiceException, AuthorizationException, TException {
-        try{
-            UserProfile userProfile = userProfileRepository.getUserProfileByNameAndGateWay(userName, gatewayId);
-            if(userProfile != null)
-                return userProfile;
-            else
-                throw new Exception("User with userName: " + userName + ", in Gateway: " + gatewayId + ", does not exist.");
-        } catch (Exception e) {
-            logger.error("Error while retrieving user profile", e);
-            UserProfileServiceException exception = new UserProfileServiceException();
-            exception.setMessage("Error while retrieving user profile. More info : " + e.getMessage());
-            throw exception;
-        }
-    }
-
-    @Override
-    @SecurityCheck
-    public boolean doesUserExist(AuthzToken authzToken, String userName, String gatewayId) throws UserProfileServiceException, AuthorizationException, TException {
+    public boolean doesUserExist(AuthzToken authzToken, String userId, String gatewayId) throws UserProfileServiceException, AuthorizationException, TException {
         try{
-            UserProfile userProfile = userProfileRepository.getUserProfileByNameAndGateWay(userName, gatewayId);
-            if (null != userProfile)
-                return true;
-            return false;
+            UserProfile userProfile = userProfileRepository.getUserProfileByIdAndGateWay(userId, gatewayId);
+            return null != userProfile;
         } catch (Exception e) {
             logger.error("Error while finding user profile", e);
             UserProfileServiceException exception = new UserProfileServiceException();


[24/50] [abbrv] airavata git commit: Merge remote-tracking branch 'origin/develop' into develop

Posted by sm...@apache.org.
Merge remote-tracking branch 'origin/develop' into develop


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

Branch: refs/heads/registry-refactoring
Commit: 4b0a9ecb9ccf34757602dd2d7c7f1156ec4aeac7
Parents: e6eb0c9 b5984b0
Author: scnakandala <su...@gmail.com>
Authored: Tue May 2 16:43:47 2017 -0400
Committer: scnakandala <su...@gmail.com>
Committed: Tue May 2 16:43:47 2017 -0400

----------------------------------------------------------------------
 .../roles/api-orch/templates/airavata-server.properties.j2  | 2 +-
 modules/distribution/pom.xml                                | 9 ++-------
 2 files changed, 3 insertions(+), 8 deletions(-)
----------------------------------------------------------------------



[37/50] [abbrv] airavata git commit: Merge branch 'lsf-walltime' into develop

Posted by sm...@apache.org.
Merge branch 'lsf-walltime' into develop


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

Branch: refs/heads/registry-refactoring
Commit: 44f9493e696b85033f1b4455be1d699e97e7abfc
Parents: b1ed4ca 31a6705
Author: Marcus Christie <ma...@apache.org>
Authored: Tue May 9 12:29:57 2017 -0400
Committer: Marcus Christie <ma...@apache.org>
Committed: Tue May 9 12:30:52 2017 -0400

----------------------------------------------------------------------
 .../dreg-production/files/pga-ssl-vhost.conf.j2 | 31 +++++++++
 .../dreg-production/group_vars/pga/vars.yml     | 67 ++++++++++++++++++++
 .../dreg-production/group_vars/pga/vault.yml    | 18 ++++++
 .../inventories/scigap/dreg-production/hosts    | 21 ++++++
 .../scigap/production/group_vars/all/vars.yml   |  5 +-
 dev-tools/ansible/pga-scigap-prod.yml           |  2 +-
 .../roles/gfac/templates/gfac-config.yaml.j2    |  1 +
 dev-tools/ansible/roles/pga/defaults/main.yml   |  3 +
 .../roles/pga/tasks/install_deps_CentOS_7.yml   |  1 +
 dev-tools/ansible/roles/pga/tasks/main.yml      |  3 +-
 .../roles/pga/templates/pga_config.php.j2       |  2 +-
 .../apache/airavata/gfac/core/GFacUtils.java    |  2 +-
 12 files changed, 151 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/44f9493e/dev-tools/ansible/roles/pga/defaults/main.yml
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/airavata/blob/44f9493e/dev-tools/ansible/roles/pga/templates/pga_config.php.j2
----------------------------------------------------------------------


[25/50] [abbrv] airavata git commit: AIRAVATA-2371 Fix profile service properties

Posted by sm...@apache.org.
AIRAVATA-2371 Fix profile service properties


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

Branch: refs/heads/registry-refactoring
Commit: 5303a357fe3bb7ac6e9559d8842fea88203d96fe
Parents: 4b0a9ec
Author: Marcus Christie <ma...@apache.org>
Authored: Tue May 2 17:16:09 2017 -0400
Committer: Marcus Christie <ma...@apache.org>
Committed: Tue May 2 17:16:44 2017 -0400

----------------------------------------------------------------------
 .../roles/api-orch/templates/airavata-server.properties.j2   | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/5303a357/dev-tools/ansible/roles/api-orch/templates/airavata-server.properties.j2
----------------------------------------------------------------------
diff --git a/dev-tools/ansible/roles/api-orch/templates/airavata-server.properties.j2 b/dev-tools/ansible/roles/api-orch/templates/airavata-server.properties.j2
index 4254962..fbefd8f 100644
--- a/dev-tools/ansible/roles/api-orch/templates/airavata-server.properties.j2
+++ b/dev-tools/ansible/roles/api-orch/templates/airavata-server.properties.j2
@@ -317,10 +317,10 @@ profile.service.server.host=localhost
 profile.service.server.port=8962
 profile_service=org.apache.airavata.service.profile.server.ProfileServiceServer
 # mysql properties
-credential.store.jdbc.url=jdbc:mysql://{{ db_server }}:3306/{{ profile_service }}
-credential.store.jdbc.user={{ db_user }}
-credential.store.jdbc.password={{ db_password }}
-credential.store.jdbc.driver=com.mysql.jdbc.Driver
+profile.service.jdbc.url=jdbc:mysql://{{ db_server }}:3306/{{ profile_service }}
+profile.service.jdbc.user={{ db_user }}
+profile.service.jdbc.password={{ db_password }}
+profile.service.jdbc.driver=com.mysql.jdbc.Driver
 profile.service.validationQuery=SELECT 1
 
 ###########################################################################


[28/50] [abbrv] airavata git commit: fixing bug in parentPath dir

Posted by sm...@apache.org.
fixing bug in parentPath dir


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

Branch: refs/heads/registry-refactoring
Commit: 7027f44b08f2589747bc62141ea1bad2084c5e1c
Parents: 04abb1e
Author: scnakandala <su...@gmail.com>
Authored: Wed May 3 17:05:03 2017 -0400
Committer: scnakandala <su...@gmail.com>
Committed: Wed May 3 17:05:03 2017 -0400

----------------------------------------------------------------------
 .../java/org/apache/airavata/gfac/impl/task/SCPDataStageTask.java | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/7027f44b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SCPDataStageTask.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SCPDataStageTask.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SCPDataStageTask.java
index e7451c4..138f4d9 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SCPDataStageTask.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SCPDataStageTask.java
@@ -159,8 +159,9 @@ public class SCPDataStageTask implements Task {
             //Wildcard for file name. Has to find the correct name.
             if(fileName.startsWith("*.")){
                 String destParentPath = (new File(destinationURI.getPath())).getParentFile().getPath();
+                String sourceParentPath = (new File(sourceURI.getPath())).getParentFile().getPath();
                 String temp = taskContext.getParentProcessContext().getDataMovementRemoteCluster()
-                        .getFileNameFromExtension(fileName.substring(2), destParentPath, sshSession);
+                        .getFileNameFromExtension(fileName.substring(2), sourceParentPath, sshSession);
                 if(temp != null && temp != ""){
                     fileName = temp;
                 }


[22/50] [abbrv] airavata git commit: AIRAVATA-2371 Updating Keycloak package; adding profile service to distribution

Posted by sm...@apache.org.
AIRAVATA-2371 Updating Keycloak package; adding profile service to distribution


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

Branch: refs/heads/registry-refactoring
Commit: b5984b0962b3248f028dd7a72821f3ce60d576c2
Parents: 93e1811
Author: Marcus Christie <ma...@apache.org>
Authored: Tue May 2 16:31:56 2017 -0400
Committer: Marcus Christie <ma...@apache.org>
Committed: Tue May 2 16:33:01 2017 -0400

----------------------------------------------------------------------
 .../roles/api-orch/templates/airavata-server.properties.j2  | 2 +-
 modules/distribution/pom.xml                                | 9 ++-------
 2 files changed, 3 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/b5984b09/dev-tools/ansible/roles/api-orch/templates/airavata-server.properties.j2
----------------------------------------------------------------------
diff --git a/dev-tools/ansible/roles/api-orch/templates/airavata-server.properties.j2 b/dev-tools/ansible/roles/api-orch/templates/airavata-server.properties.j2
index ffdb1a0..4254962 100644
--- a/dev-tools/ansible/roles/api-orch/templates/airavata-server.properties.j2
+++ b/dev-tools/ansible/roles/api-orch/templates/airavata-server.properties.j2
@@ -286,7 +286,7 @@ zookeeper.timeout=30000
 ## API Security Configuration
 ########################################################################
 api.secured={{ api_secured }}
-security.manager.class=org.apache.airavata.api.server.security.KeyCloakSecurityManager
+security.manager.class=org.apache.airavata.service.security.KeyCloakSecurityManager
 ### TLS related configuration ####
 TLS.enabled={{ tls_enable }}
 TLS.api.server.port={{ api_server_tls_port }}

http://git-wip-us.apache.org/repos/asf/airavata/blob/b5984b09/modules/distribution/pom.xml
----------------------------------------------------------------------
diff --git a/modules/distribution/pom.xml b/modules/distribution/pom.xml
index 24d8e88..16e4cfb 100644
--- a/modules/distribution/pom.xml
+++ b/modules/distribution/pom.xml
@@ -503,15 +503,10 @@
             <artifactId>groovy-templates</artifactId>
             <version>${groovy.version}</version>
         </dependency>
-        <!-- ======================== User Profile Service module =================== -->
+        <!-- ======================== Profile Service module =================== -->
         <dependency>
             <groupId>org.apache.airavata</groupId>
-            <artifactId>user-profile-service</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.airavata</groupId>
-            <artifactId>user-profile-stubs</artifactId>
+            <artifactId>profile-service-server</artifactId>
             <version>${project.version}</version>
         </dependency>
         <!-- ======================== Sample =================== -->


[03/50] [abbrv] airavata git commit: Add Tenant Profile Thrift Model

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/tenant/TenantApprovalStatus.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/tenant/TenantApprovalStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/tenant/TenantApprovalStatus.java
new file mode 100644
index 0000000..4c43d6f
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/tenant/TenantApprovalStatus.java
@@ -0,0 +1,77 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.3)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+package org.apache.airavata.model.tenant;
+
+
+import java.util.Map;
+import java.util.HashMap;
+import org.apache.thrift.TEnum;
+
+public enum TenantApprovalStatus implements org.apache.thrift.TEnum {
+  REQUESTED(0),
+  APPROVED(1),
+  ACTIVE(2),
+  DEACTIVATED(3),
+  CANCELLED(4),
+  DENIED(5),
+  CREATED(6);
+
+  private final int value;
+
+  private TenantApprovalStatus(int value) {
+    this.value = value;
+  }
+
+  /**
+   * Get the integer value of this enum value, as defined in the Thrift IDL.
+   */
+  public int getValue() {
+    return value;
+  }
+
+  /**
+   * Find a the enum type by its integer value, as defined in the Thrift IDL.
+   * @return null if the value is not found.
+   */
+  public static TenantApprovalStatus findByValue(int value) { 
+    switch (value) {
+      case 0:
+        return REQUESTED;
+      case 1:
+        return APPROVED;
+      case 2:
+        return ACTIVE;
+      case 3:
+        return DEACTIVATED;
+      case 4:
+        return CANCELLED;
+      case 5:
+        return DENIED;
+      case 6:
+        return CREATED;
+      default:
+        return null;
+    }
+  }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/NSFDemographics.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/NSFDemographics.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/NSFDemographics.java
index e335716..b01ab6a 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/NSFDemographics.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/NSFDemographics.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/Status.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/Status.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/Status.java
index 17ba411..8360fe9 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/Status.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/Status.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/USCitizenship.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/USCitizenship.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/USCitizenship.java
index 3f30db8..231654b 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/USCitizenship.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/USCitizenship.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/UserProfile.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/UserProfile.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/UserProfile.java
index 9d0e42f..7c6fd74 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/UserProfile.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/UserProfile.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *
@@ -74,6 +72,12 @@ import org.slf4j.LoggerFactory;
  * *  Externally assertable unique identifier. SAML (primarly in higher education, academic) tends to keep
  * *   user name less opaque. OpenID Connect maintains them to be opaque.
  * *
+ * * firstName, middleName, lastName:
+ * *  First and Last names as assertede by the user
+ * *
+ * * namePrefix, nameSuffix:
+ * *  prefix and suffix to the users name as asserted by the user
+ * *
  * * emails:
  * *   Email identifier are Verified, REQUIRED and MULTIVALUED
  * *
@@ -114,22 +118,27 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
   private static final org.apache.thrift.protocol.TField USER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("userId", org.apache.thrift.protocol.TType.STRING, (short)3);
   private static final org.apache.thrift.protocol.TField GATEWAY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayId", org.apache.thrift.protocol.TType.STRING, (short)4);
   private static final org.apache.thrift.protocol.TField EMAILS_FIELD_DESC = new org.apache.thrift.protocol.TField("emails", org.apache.thrift.protocol.TType.LIST, (short)5);
-  private static final org.apache.thrift.protocol.TField USER_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("userName", org.apache.thrift.protocol.TType.STRING, (short)6);
-  private static final org.apache.thrift.protocol.TField ORCID_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orcidId", org.apache.thrift.protocol.TType.STRING, (short)7);
-  private static final org.apache.thrift.protocol.TField PHONES_FIELD_DESC = new org.apache.thrift.protocol.TField("phones", org.apache.thrift.protocol.TType.LIST, (short)8);
-  private static final org.apache.thrift.protocol.TField COUNTRY_FIELD_DESC = new org.apache.thrift.protocol.TField("country", org.apache.thrift.protocol.TType.STRING, (short)9);
-  private static final org.apache.thrift.protocol.TField NATIONALITY_FIELD_DESC = new org.apache.thrift.protocol.TField("nationality", org.apache.thrift.protocol.TType.LIST, (short)10);
-  private static final org.apache.thrift.protocol.TField HOME_ORGANIZATION_FIELD_DESC = new org.apache.thrift.protocol.TField("homeOrganization", org.apache.thrift.protocol.TType.STRING, (short)11);
-  private static final org.apache.thrift.protocol.TField ORGINATION_AFFILIATION_FIELD_DESC = new org.apache.thrift.protocol.TField("orginationAffiliation", org.apache.thrift.protocol.TType.STRING, (short)12);
-  private static final org.apache.thrift.protocol.TField CREATION_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("creationTime", org.apache.thrift.protocol.TType.I64, (short)13);
-  private static final org.apache.thrift.protocol.TField LAST_ACCESS_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("lastAccessTime", org.apache.thrift.protocol.TType.I64, (short)14);
-  private static final org.apache.thrift.protocol.TField VALID_UNTIL_FIELD_DESC = new org.apache.thrift.protocol.TField("validUntil", org.apache.thrift.protocol.TType.I64, (short)15);
-  private static final org.apache.thrift.protocol.TField STATE_FIELD_DESC = new org.apache.thrift.protocol.TField("State", org.apache.thrift.protocol.TType.I32, (short)16);
-  private static final org.apache.thrift.protocol.TField COMMENTS_FIELD_DESC = new org.apache.thrift.protocol.TField("comments", org.apache.thrift.protocol.TType.STRING, (short)17);
-  private static final org.apache.thrift.protocol.TField LABELED_URI_FIELD_DESC = new org.apache.thrift.protocol.TField("labeledURI", org.apache.thrift.protocol.TType.LIST, (short)18);
-  private static final org.apache.thrift.protocol.TField GPG_KEY_FIELD_DESC = new org.apache.thrift.protocol.TField("gpgKey", org.apache.thrift.protocol.TType.STRING, (short)19);
-  private static final org.apache.thrift.protocol.TField TIME_ZONE_FIELD_DESC = new org.apache.thrift.protocol.TField("timeZone", org.apache.thrift.protocol.TType.STRING, (short)20);
-  private static final org.apache.thrift.protocol.TField NSF_DEMOGRAPHICS_FIELD_DESC = new org.apache.thrift.protocol.TField("nsfDemographics", org.apache.thrift.protocol.TType.STRUCT, (short)21);
+  private static final org.apache.thrift.protocol.TField FIRST_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("firstName", org.apache.thrift.protocol.TType.STRING, (short)6);
+  private static final org.apache.thrift.protocol.TField LAST_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("lastName", org.apache.thrift.protocol.TType.STRING, (short)7);
+  private static final org.apache.thrift.protocol.TField MIDDLE_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("middleName", org.apache.thrift.protocol.TType.STRING, (short)8);
+  private static final org.apache.thrift.protocol.TField NAME_PREFIX_FIELD_DESC = new org.apache.thrift.protocol.TField("namePrefix", org.apache.thrift.protocol.TType.STRING, (short)9);
+  private static final org.apache.thrift.protocol.TField NAME_SUFFIX_FIELD_DESC = new org.apache.thrift.protocol.TField("nameSuffix", org.apache.thrift.protocol.TType.STRING, (short)10);
+  private static final org.apache.thrift.protocol.TField USER_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("userName", org.apache.thrift.protocol.TType.STRING, (short)11);
+  private static final org.apache.thrift.protocol.TField ORCID_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orcidId", org.apache.thrift.protocol.TType.STRING, (short)12);
+  private static final org.apache.thrift.protocol.TField PHONES_FIELD_DESC = new org.apache.thrift.protocol.TField("phones", org.apache.thrift.protocol.TType.LIST, (short)13);
+  private static final org.apache.thrift.protocol.TField COUNTRY_FIELD_DESC = new org.apache.thrift.protocol.TField("country", org.apache.thrift.protocol.TType.STRING, (short)14);
+  private static final org.apache.thrift.protocol.TField NATIONALITY_FIELD_DESC = new org.apache.thrift.protocol.TField("nationality", org.apache.thrift.protocol.TType.LIST, (short)15);
+  private static final org.apache.thrift.protocol.TField HOME_ORGANIZATION_FIELD_DESC = new org.apache.thrift.protocol.TField("homeOrganization", org.apache.thrift.protocol.TType.STRING, (short)16);
+  private static final org.apache.thrift.protocol.TField ORGINATION_AFFILIATION_FIELD_DESC = new org.apache.thrift.protocol.TField("orginationAffiliation", org.apache.thrift.protocol.TType.STRING, (short)17);
+  private static final org.apache.thrift.protocol.TField CREATION_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("creationTime", org.apache.thrift.protocol.TType.I64, (short)18);
+  private static final org.apache.thrift.protocol.TField LAST_ACCESS_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("lastAccessTime", org.apache.thrift.protocol.TType.I64, (short)19);
+  private static final org.apache.thrift.protocol.TField VALID_UNTIL_FIELD_DESC = new org.apache.thrift.protocol.TField("validUntil", org.apache.thrift.protocol.TType.I64, (short)20);
+  private static final org.apache.thrift.protocol.TField STATE_FIELD_DESC = new org.apache.thrift.protocol.TField("State", org.apache.thrift.protocol.TType.I32, (short)21);
+  private static final org.apache.thrift.protocol.TField COMMENTS_FIELD_DESC = new org.apache.thrift.protocol.TField("comments", org.apache.thrift.protocol.TType.STRING, (short)22);
+  private static final org.apache.thrift.protocol.TField LABELED_URI_FIELD_DESC = new org.apache.thrift.protocol.TField("labeledURI", org.apache.thrift.protocol.TType.LIST, (short)23);
+  private static final org.apache.thrift.protocol.TField GPG_KEY_FIELD_DESC = new org.apache.thrift.protocol.TField("gpgKey", org.apache.thrift.protocol.TType.STRING, (short)24);
+  private static final org.apache.thrift.protocol.TField TIME_ZONE_FIELD_DESC = new org.apache.thrift.protocol.TField("timeZone", org.apache.thrift.protocol.TType.STRING, (short)25);
+  private static final org.apache.thrift.protocol.TField NSF_DEMOGRAPHICS_FIELD_DESC = new org.apache.thrift.protocol.TField("nsfDemographics", org.apache.thrift.protocol.TType.STRUCT, (short)26);
 
   private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
   static {
@@ -142,6 +151,11 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
   private String userId; // required
   private String gatewayId; // required
   private List<String> emails; // required
+  private String firstName; // required
+  private String lastName; // required
+  private String middleName; // optional
+  private String namePrefix; // optional
+  private String nameSuffix; // optional
   private String userName; // optional
   private String orcidId; // optional
   private List<String> phones; // optional
@@ -166,26 +180,31 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
     USER_ID((short)3, "userId"),
     GATEWAY_ID((short)4, "gatewayId"),
     EMAILS((short)5, "emails"),
-    USER_NAME((short)6, "userName"),
-    ORCID_ID((short)7, "orcidId"),
-    PHONES((short)8, "phones"),
-    COUNTRY((short)9, "country"),
-    NATIONALITY((short)10, "nationality"),
-    HOME_ORGANIZATION((short)11, "homeOrganization"),
-    ORGINATION_AFFILIATION((short)12, "orginationAffiliation"),
-    CREATION_TIME((short)13, "creationTime"),
-    LAST_ACCESS_TIME((short)14, "lastAccessTime"),
-    VALID_UNTIL((short)15, "validUntil"),
+    FIRST_NAME((short)6, "firstName"),
+    LAST_NAME((short)7, "lastName"),
+    MIDDLE_NAME((short)8, "middleName"),
+    NAME_PREFIX((short)9, "namePrefix"),
+    NAME_SUFFIX((short)10, "nameSuffix"),
+    USER_NAME((short)11, "userName"),
+    ORCID_ID((short)12, "orcidId"),
+    PHONES((short)13, "phones"),
+    COUNTRY((short)14, "country"),
+    NATIONALITY((short)15, "nationality"),
+    HOME_ORGANIZATION((short)16, "homeOrganization"),
+    ORGINATION_AFFILIATION((short)17, "orginationAffiliation"),
+    CREATION_TIME((short)18, "creationTime"),
+    LAST_ACCESS_TIME((short)19, "lastAccessTime"),
+    VALID_UNTIL((short)20, "validUntil"),
     /**
      * 
      * @see Status
      */
-    STATE((short)16, "State"),
-    COMMENTS((short)17, "comments"),
-    LABELED_URI((short)18, "labeledURI"),
-    GPG_KEY((short)19, "gpgKey"),
-    TIME_ZONE((short)20, "timeZone"),
-    NSF_DEMOGRAPHICS((short)21, "nsfDemographics");
+    STATE((short)21, "State"),
+    COMMENTS((short)22, "comments"),
+    LABELED_URI((short)23, "labeledURI"),
+    GPG_KEY((short)24, "gpgKey"),
+    TIME_ZONE((short)25, "timeZone"),
+    NSF_DEMOGRAPHICS((short)26, "nsfDemographics");
 
     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -210,37 +229,47 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
           return GATEWAY_ID;
         case 5: // EMAILS
           return EMAILS;
-        case 6: // USER_NAME
+        case 6: // FIRST_NAME
+          return FIRST_NAME;
+        case 7: // LAST_NAME
+          return LAST_NAME;
+        case 8: // MIDDLE_NAME
+          return MIDDLE_NAME;
+        case 9: // NAME_PREFIX
+          return NAME_PREFIX;
+        case 10: // NAME_SUFFIX
+          return NAME_SUFFIX;
+        case 11: // USER_NAME
           return USER_NAME;
-        case 7: // ORCID_ID
+        case 12: // ORCID_ID
           return ORCID_ID;
-        case 8: // PHONES
+        case 13: // PHONES
           return PHONES;
-        case 9: // COUNTRY
+        case 14: // COUNTRY
           return COUNTRY;
-        case 10: // NATIONALITY
+        case 15: // NATIONALITY
           return NATIONALITY;
-        case 11: // HOME_ORGANIZATION
+        case 16: // HOME_ORGANIZATION
           return HOME_ORGANIZATION;
-        case 12: // ORGINATION_AFFILIATION
+        case 17: // ORGINATION_AFFILIATION
           return ORGINATION_AFFILIATION;
-        case 13: // CREATION_TIME
+        case 18: // CREATION_TIME
           return CREATION_TIME;
-        case 14: // LAST_ACCESS_TIME
+        case 19: // LAST_ACCESS_TIME
           return LAST_ACCESS_TIME;
-        case 15: // VALID_UNTIL
+        case 20: // VALID_UNTIL
           return VALID_UNTIL;
-        case 16: // STATE
+        case 21: // STATE
           return STATE;
-        case 17: // COMMENTS
+        case 22: // COMMENTS
           return COMMENTS;
-        case 18: // LABELED_URI
+        case 23: // LABELED_URI
           return LABELED_URI;
-        case 19: // GPG_KEY
+        case 24: // GPG_KEY
           return GPG_KEY;
-        case 20: // TIME_ZONE
+        case 25: // TIME_ZONE
           return TIME_ZONE;
-        case 21: // NSF_DEMOGRAPHICS
+        case 26: // NSF_DEMOGRAPHICS
           return NSF_DEMOGRAPHICS;
         default:
           return null;
@@ -286,7 +315,7 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
   private static final int __LASTACCESSTIME_ISSET_ID = 1;
   private static final int __VALIDUNTIL_ISSET_ID = 2;
   private byte __isset_bitfield = 0;
-  private static final _Fields optionals[] = {_Fields.USER_NAME,_Fields.ORCID_ID,_Fields.PHONES,_Fields.COUNTRY,_Fields.NATIONALITY,_Fields.HOME_ORGANIZATION,_Fields.ORGINATION_AFFILIATION,_Fields.COMMENTS,_Fields.LABELED_URI,_Fields.GPG_KEY,_Fields.TIME_ZONE,_Fields.NSF_DEMOGRAPHICS};
+  private static final _Fields optionals[] = {_Fields.MIDDLE_NAME,_Fields.NAME_PREFIX,_Fields.NAME_SUFFIX,_Fields.USER_NAME,_Fields.ORCID_ID,_Fields.PHONES,_Fields.COUNTRY,_Fields.NATIONALITY,_Fields.HOME_ORGANIZATION,_Fields.ORGINATION_AFFILIATION,_Fields.COMMENTS,_Fields.LABELED_URI,_Fields.GPG_KEY,_Fields.TIME_ZONE,_Fields.NSF_DEMOGRAPHICS};
   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);
@@ -301,6 +330,16 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
     tmpMap.put(_Fields.EMAILS, new org.apache.thrift.meta_data.FieldMetaData("emails", org.apache.thrift.TFieldRequirementType.REQUIRED, 
         new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
             new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
+    tmpMap.put(_Fields.FIRST_NAME, new org.apache.thrift.meta_data.FieldMetaData("firstName", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.LAST_NAME, new org.apache.thrift.meta_data.FieldMetaData("lastName", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.MIDDLE_NAME, new org.apache.thrift.meta_data.FieldMetaData("middleName", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.NAME_PREFIX, new org.apache.thrift.meta_data.FieldMetaData("namePrefix", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.NAME_SUFFIX, new org.apache.thrift.meta_data.FieldMetaData("nameSuffix", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     tmpMap.put(_Fields.USER_NAME, new org.apache.thrift.meta_data.FieldMetaData("userName", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     tmpMap.put(_Fields.ORCID_ID, new org.apache.thrift.meta_data.FieldMetaData("orcidId", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
@@ -353,6 +392,8 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
     String userId,
     String gatewayId,
     List<String> emails,
+    String firstName,
+    String lastName,
     long creationTime,
     long lastAccessTime,
     long validUntil,
@@ -364,6 +405,8 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
     this.userId = userId;
     this.gatewayId = gatewayId;
     this.emails = emails;
+    this.firstName = firstName;
+    this.lastName = lastName;
     this.creationTime = creationTime;
     setCreationTimeIsSet(true);
     this.lastAccessTime = lastAccessTime;
@@ -394,6 +437,21 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
       List<String> __this__emails = new ArrayList<String>(other.emails);
       this.emails = __this__emails;
     }
+    if (other.isSetFirstName()) {
+      this.firstName = other.firstName;
+    }
+    if (other.isSetLastName()) {
+      this.lastName = other.lastName;
+    }
+    if (other.isSetMiddleName()) {
+      this.middleName = other.middleName;
+    }
+    if (other.isSetNamePrefix()) {
+      this.namePrefix = other.namePrefix;
+    }
+    if (other.isSetNameSuffix()) {
+      this.nameSuffix = other.nameSuffix;
+    }
     if (other.isSetUserName()) {
       this.userName = other.userName;
     }
@@ -454,6 +512,11 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
     this.userId = null;
     this.gatewayId = null;
     this.emails = null;
+    this.firstName = null;
+    this.lastName = null;
+    this.middleName = null;
+    this.namePrefix = null;
+    this.nameSuffix = null;
     this.userName = null;
     this.orcidId = null;
     this.phones = null;
@@ -605,6 +668,121 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
     }
   }
 
+  public String getFirstName() {
+    return this.firstName;
+  }
+
+  public void setFirstName(String firstName) {
+    this.firstName = firstName;
+  }
+
+  public void unsetFirstName() {
+    this.firstName = null;
+  }
+
+  /** Returns true if field firstName is set (has been assigned a value) and false otherwise */
+  public boolean isSetFirstName() {
+    return this.firstName != null;
+  }
+
+  public void setFirstNameIsSet(boolean value) {
+    if (!value) {
+      this.firstName = null;
+    }
+  }
+
+  public String getLastName() {
+    return this.lastName;
+  }
+
+  public void setLastName(String lastName) {
+    this.lastName = lastName;
+  }
+
+  public void unsetLastName() {
+    this.lastName = null;
+  }
+
+  /** Returns true if field lastName is set (has been assigned a value) and false otherwise */
+  public boolean isSetLastName() {
+    return this.lastName != null;
+  }
+
+  public void setLastNameIsSet(boolean value) {
+    if (!value) {
+      this.lastName = null;
+    }
+  }
+
+  public String getMiddleName() {
+    return this.middleName;
+  }
+
+  public void setMiddleName(String middleName) {
+    this.middleName = middleName;
+  }
+
+  public void unsetMiddleName() {
+    this.middleName = null;
+  }
+
+  /** Returns true if field middleName is set (has been assigned a value) and false otherwise */
+  public boolean isSetMiddleName() {
+    return this.middleName != null;
+  }
+
+  public void setMiddleNameIsSet(boolean value) {
+    if (!value) {
+      this.middleName = null;
+    }
+  }
+
+  public String getNamePrefix() {
+    return this.namePrefix;
+  }
+
+  public void setNamePrefix(String namePrefix) {
+    this.namePrefix = namePrefix;
+  }
+
+  public void unsetNamePrefix() {
+    this.namePrefix = null;
+  }
+
+  /** Returns true if field namePrefix is set (has been assigned a value) and false otherwise */
+  public boolean isSetNamePrefix() {
+    return this.namePrefix != null;
+  }
+
+  public void setNamePrefixIsSet(boolean value) {
+    if (!value) {
+      this.namePrefix = null;
+    }
+  }
+
+  public String getNameSuffix() {
+    return this.nameSuffix;
+  }
+
+  public void setNameSuffix(String nameSuffix) {
+    this.nameSuffix = nameSuffix;
+  }
+
+  public void unsetNameSuffix() {
+    this.nameSuffix = null;
+  }
+
+  /** Returns true if field nameSuffix is set (has been assigned a value) and false otherwise */
+  public boolean isSetNameSuffix() {
+    return this.nameSuffix != null;
+  }
+
+  public void setNameSuffixIsSet(boolean value) {
+    if (!value) {
+      this.nameSuffix = null;
+    }
+  }
+
   public String getUserName() {
     return this.userName;
   }
@@ -1065,6 +1243,46 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
       }
       break;
 
+    case FIRST_NAME:
+      if (value == null) {
+        unsetFirstName();
+      } else {
+        setFirstName((String)value);
+      }
+      break;
+
+    case LAST_NAME:
+      if (value == null) {
+        unsetLastName();
+      } else {
+        setLastName((String)value);
+      }
+      break;
+
+    case MIDDLE_NAME:
+      if (value == null) {
+        unsetMiddleName();
+      } else {
+        setMiddleName((String)value);
+      }
+      break;
+
+    case NAME_PREFIX:
+      if (value == null) {
+        unsetNamePrefix();
+      } else {
+        setNamePrefix((String)value);
+      }
+      break;
+
+    case NAME_SUFFIX:
+      if (value == null) {
+        unsetNameSuffix();
+      } else {
+        setNameSuffix((String)value);
+      }
+      break;
+
     case USER_NAME:
       if (value == null) {
         unsetUserName();
@@ -1213,6 +1431,21 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
     case EMAILS:
       return getEmails();
 
+    case FIRST_NAME:
+      return getFirstName();
+
+    case LAST_NAME:
+      return getLastName();
+
+    case MIDDLE_NAME:
+      return getMiddleName();
+
+    case NAME_PREFIX:
+      return getNamePrefix();
+
+    case NAME_SUFFIX:
+      return getNameSuffix();
+
     case USER_NAME:
       return getUserName();
 
@@ -1282,6 +1515,16 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
       return isSetGatewayId();
     case EMAILS:
       return isSetEmails();
+    case FIRST_NAME:
+      return isSetFirstName();
+    case LAST_NAME:
+      return isSetLastName();
+    case MIDDLE_NAME:
+      return isSetMiddleName();
+    case NAME_PREFIX:
+      return isSetNamePrefix();
+    case NAME_SUFFIX:
+      return isSetNameSuffix();
     case USER_NAME:
       return isSetUserName();
     case ORCID_ID:
@@ -1376,6 +1619,51 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
         return false;
     }
 
+    boolean this_present_firstName = true && this.isSetFirstName();
+    boolean that_present_firstName = true && that.isSetFirstName();
+    if (this_present_firstName || that_present_firstName) {
+      if (!(this_present_firstName && that_present_firstName))
+        return false;
+      if (!this.firstName.equals(that.firstName))
+        return false;
+    }
+
+    boolean this_present_lastName = true && this.isSetLastName();
+    boolean that_present_lastName = true && that.isSetLastName();
+    if (this_present_lastName || that_present_lastName) {
+      if (!(this_present_lastName && that_present_lastName))
+        return false;
+      if (!this.lastName.equals(that.lastName))
+        return false;
+    }
+
+    boolean this_present_middleName = true && this.isSetMiddleName();
+    boolean that_present_middleName = true && that.isSetMiddleName();
+    if (this_present_middleName || that_present_middleName) {
+      if (!(this_present_middleName && that_present_middleName))
+        return false;
+      if (!this.middleName.equals(that.middleName))
+        return false;
+    }
+
+    boolean this_present_namePrefix = true && this.isSetNamePrefix();
+    boolean that_present_namePrefix = true && that.isSetNamePrefix();
+    if (this_present_namePrefix || that_present_namePrefix) {
+      if (!(this_present_namePrefix && that_present_namePrefix))
+        return false;
+      if (!this.namePrefix.equals(that.namePrefix))
+        return false;
+    }
+
+    boolean this_present_nameSuffix = true && this.isSetNameSuffix();
+    boolean that_present_nameSuffix = true && that.isSetNameSuffix();
+    if (this_present_nameSuffix || that_present_nameSuffix) {
+      if (!(this_present_nameSuffix && that_present_nameSuffix))
+        return false;
+      if (!this.nameSuffix.equals(that.nameSuffix))
+        return false;
+    }
+
     boolean this_present_userName = true && this.isSetUserName();
     boolean that_present_userName = true && that.isSetUserName();
     if (this_present_userName || that_present_userName) {
@@ -1552,6 +1840,31 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
     if (present_emails)
       list.add(emails);
 
+    boolean present_firstName = true && (isSetFirstName());
+    list.add(present_firstName);
+    if (present_firstName)
+      list.add(firstName);
+
+    boolean present_lastName = true && (isSetLastName());
+    list.add(present_lastName);
+    if (present_lastName)
+      list.add(lastName);
+
+    boolean present_middleName = true && (isSetMiddleName());
+    list.add(present_middleName);
+    if (present_middleName)
+      list.add(middleName);
+
+    boolean present_namePrefix = true && (isSetNamePrefix());
+    list.add(present_namePrefix);
+    if (present_namePrefix)
+      list.add(namePrefix);
+
+    boolean present_nameSuffix = true && (isSetNameSuffix());
+    list.add(present_nameSuffix);
+    if (present_nameSuffix)
+      list.add(nameSuffix);
+
     boolean present_userName = true && (isSetUserName());
     list.add(present_userName);
     if (present_userName)
@@ -1693,6 +2006,56 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
         return lastComparison;
       }
     }
+    lastComparison = Boolean.valueOf(isSetFirstName()).compareTo(other.isSetFirstName());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetFirstName()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.firstName, other.firstName);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetLastName()).compareTo(other.isSetLastName());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetLastName()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.lastName, other.lastName);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetMiddleName()).compareTo(other.isSetMiddleName());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetMiddleName()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.middleName, other.middleName);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetNamePrefix()).compareTo(other.isSetNamePrefix());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetNamePrefix()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.namePrefix, other.namePrefix);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetNameSuffix()).compareTo(other.isSetNameSuffix());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetNameSuffix()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.nameSuffix, other.nameSuffix);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
     lastComparison = Boolean.valueOf(isSetUserName()).compareTo(other.isSetUserName());
     if (lastComparison != 0) {
       return lastComparison;
@@ -1912,6 +2275,52 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
       sb.append(this.emails);
     }
     first = false;
+    if (!first) sb.append(", ");
+    sb.append("firstName:");
+    if (this.firstName == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.firstName);
+    }
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("lastName:");
+    if (this.lastName == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.lastName);
+    }
+    first = false;
+    if (isSetMiddleName()) {
+      if (!first) sb.append(", ");
+      sb.append("middleName:");
+      if (this.middleName == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.middleName);
+      }
+      first = false;
+    }
+    if (isSetNamePrefix()) {
+      if (!first) sb.append(", ");
+      sb.append("namePrefix:");
+      if (this.namePrefix == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.namePrefix);
+      }
+      first = false;
+    }
+    if (isSetNameSuffix()) {
+      if (!first) sb.append(", ");
+      sb.append("nameSuffix:");
+      if (this.nameSuffix == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.nameSuffix);
+      }
+      first = false;
+    }
     if (isSetUserName()) {
       if (!first) sb.append(", ");
       sb.append("userName:");
@@ -2078,6 +2487,14 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
       throw new org.apache.thrift.protocol.TProtocolException("Required field 'emails' is unset! Struct:" + toString());
     }
 
+    if (!isSetFirstName()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'firstName' is unset! Struct:" + toString());
+    }
+
+    if (!isSetLastName()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'lastName' is unset! Struct:" + toString());
+    }
+
     if (!isSetCreationTime()) {
       throw new org.apache.thrift.protocol.TProtocolException("Required field 'creationTime' is unset! Struct:" + toString());
     }
@@ -2186,7 +2603,47 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 6: // USER_NAME
+          case 6: // FIRST_NAME
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.firstName = iprot.readString();
+              struct.setFirstNameIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 7: // LAST_NAME
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.lastName = iprot.readString();
+              struct.setLastNameIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 8: // MIDDLE_NAME
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.middleName = iprot.readString();
+              struct.setMiddleNameIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 9: // NAME_PREFIX
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.namePrefix = iprot.readString();
+              struct.setNamePrefixIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 10: // NAME_SUFFIX
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.nameSuffix = iprot.readString();
+              struct.setNameSuffixIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 11: // USER_NAME
             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
               struct.userName = iprot.readString();
               struct.setUserNameIsSet(true);
@@ -2194,7 +2651,7 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 7: // ORCID_ID
+          case 12: // ORCID_ID
             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
               struct.orcidId = iprot.readString();
               struct.setOrcidIdIsSet(true);
@@ -2202,7 +2659,7 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 8: // PHONES
+          case 13: // PHONES
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
                 org.apache.thrift.protocol.TList _list27 = iprot.readListBegin();
@@ -2220,7 +2677,7 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 9: // COUNTRY
+          case 14: // COUNTRY
             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
               struct.country = iprot.readString();
               struct.setCountryIsSet(true);
@@ -2228,7 +2685,7 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 10: // NATIONALITY
+          case 15: // NATIONALITY
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
                 org.apache.thrift.protocol.TList _list30 = iprot.readListBegin();
@@ -2246,7 +2703,7 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 11: // HOME_ORGANIZATION
+          case 16: // HOME_ORGANIZATION
             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
               struct.homeOrganization = iprot.readString();
               struct.setHomeOrganizationIsSet(true);
@@ -2254,7 +2711,7 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 12: // ORGINATION_AFFILIATION
+          case 17: // ORGINATION_AFFILIATION
             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
               struct.orginationAffiliation = iprot.readString();
               struct.setOrginationAffiliationIsSet(true);
@@ -2262,7 +2719,7 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 13: // CREATION_TIME
+          case 18: // CREATION_TIME
             if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
               struct.creationTime = iprot.readI64();
               struct.setCreationTimeIsSet(true);
@@ -2270,7 +2727,7 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 14: // LAST_ACCESS_TIME
+          case 19: // LAST_ACCESS_TIME
             if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
               struct.lastAccessTime = iprot.readI64();
               struct.setLastAccessTimeIsSet(true);
@@ -2278,7 +2735,7 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 15: // VALID_UNTIL
+          case 20: // VALID_UNTIL
             if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
               struct.validUntil = iprot.readI64();
               struct.setValidUntilIsSet(true);
@@ -2286,7 +2743,7 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 16: // STATE
+          case 21: // STATE
             if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
               struct.State = org.apache.airavata.model.user.Status.findByValue(iprot.readI32());
               struct.setStateIsSet(true);
@@ -2294,7 +2751,7 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 17: // COMMENTS
+          case 22: // COMMENTS
             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
               struct.comments = iprot.readString();
               struct.setCommentsIsSet(true);
@@ -2302,7 +2759,7 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 18: // LABELED_URI
+          case 23: // LABELED_URI
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
                 org.apache.thrift.protocol.TList _list33 = iprot.readListBegin();
@@ -2320,7 +2777,7 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 19: // GPG_KEY
+          case 24: // GPG_KEY
             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
               struct.gpgKey = iprot.readString();
               struct.setGpgKeyIsSet(true);
@@ -2328,7 +2785,7 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 20: // TIME_ZONE
+          case 25: // TIME_ZONE
             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
               struct.timeZone = iprot.readString();
               struct.setTimeZoneIsSet(true);
@@ -2336,7 +2793,7 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 21: // NSF_DEMOGRAPHICS
+          case 26: // NSF_DEMOGRAPHICS
             if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
               struct.nsfDemographics = new NSFDemographics();
               struct.nsfDemographics.read(iprot);
@@ -2390,6 +2847,37 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
         }
         oprot.writeFieldEnd();
       }
+      if (struct.firstName != null) {
+        oprot.writeFieldBegin(FIRST_NAME_FIELD_DESC);
+        oprot.writeString(struct.firstName);
+        oprot.writeFieldEnd();
+      }
+      if (struct.lastName != null) {
+        oprot.writeFieldBegin(LAST_NAME_FIELD_DESC);
+        oprot.writeString(struct.lastName);
+        oprot.writeFieldEnd();
+      }
+      if (struct.middleName != null) {
+        if (struct.isSetMiddleName()) {
+          oprot.writeFieldBegin(MIDDLE_NAME_FIELD_DESC);
+          oprot.writeString(struct.middleName);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.namePrefix != null) {
+        if (struct.isSetNamePrefix()) {
+          oprot.writeFieldBegin(NAME_PREFIX_FIELD_DESC);
+          oprot.writeString(struct.namePrefix);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.nameSuffix != null) {
+        if (struct.isSetNameSuffix()) {
+          oprot.writeFieldBegin(NAME_SUFFIX_FIELD_DESC);
+          oprot.writeString(struct.nameSuffix);
+          oprot.writeFieldEnd();
+        }
+      }
       if (struct.userName != null) {
         if (struct.isSetUserName()) {
           oprot.writeFieldBegin(USER_NAME_FIELD_DESC);
@@ -2537,48 +3025,68 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
           oprot.writeString(_iter40);
         }
       }
+      oprot.writeString(struct.firstName);
+      oprot.writeString(struct.lastName);
       oprot.writeI64(struct.creationTime);
       oprot.writeI64(struct.lastAccessTime);
       oprot.writeI64(struct.validUntil);
       oprot.writeI32(struct.State.getValue());
       BitSet optionals = new BitSet();
-      if (struct.isSetUserName()) {
+      if (struct.isSetMiddleName()) {
         optionals.set(0);
       }
-      if (struct.isSetOrcidId()) {
+      if (struct.isSetNamePrefix()) {
         optionals.set(1);
       }
-      if (struct.isSetPhones()) {
+      if (struct.isSetNameSuffix()) {
         optionals.set(2);
       }
-      if (struct.isSetCountry()) {
+      if (struct.isSetUserName()) {
         optionals.set(3);
       }
-      if (struct.isSetNationality()) {
+      if (struct.isSetOrcidId()) {
         optionals.set(4);
       }
-      if (struct.isSetHomeOrganization()) {
+      if (struct.isSetPhones()) {
         optionals.set(5);
       }
-      if (struct.isSetOrginationAffiliation()) {
+      if (struct.isSetCountry()) {
         optionals.set(6);
       }
-      if (struct.isSetComments()) {
+      if (struct.isSetNationality()) {
         optionals.set(7);
       }
-      if (struct.isSetLabeledURI()) {
+      if (struct.isSetHomeOrganization()) {
         optionals.set(8);
       }
-      if (struct.isSetGpgKey()) {
+      if (struct.isSetOrginationAffiliation()) {
         optionals.set(9);
       }
-      if (struct.isSetTimeZone()) {
+      if (struct.isSetComments()) {
         optionals.set(10);
       }
-      if (struct.isSetNsfDemographics()) {
+      if (struct.isSetLabeledURI()) {
         optionals.set(11);
       }
-      oprot.writeBitSet(optionals, 12);
+      if (struct.isSetGpgKey()) {
+        optionals.set(12);
+      }
+      if (struct.isSetTimeZone()) {
+        optionals.set(13);
+      }
+      if (struct.isSetNsfDemographics()) {
+        optionals.set(14);
+      }
+      oprot.writeBitSet(optionals, 15);
+      if (struct.isSetMiddleName()) {
+        oprot.writeString(struct.middleName);
+      }
+      if (struct.isSetNamePrefix()) {
+        oprot.writeString(struct.namePrefix);
+      }
+      if (struct.isSetNameSuffix()) {
+        oprot.writeString(struct.nameSuffix);
+      }
       if (struct.isSetUserName()) {
         oprot.writeString(struct.userName);
       }
@@ -2657,6 +3165,10 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
         }
       }
       struct.setEmailsIsSet(true);
+      struct.firstName = iprot.readString();
+      struct.setFirstNameIsSet(true);
+      struct.lastName = iprot.readString();
+      struct.setLastNameIsSet(true);
       struct.creationTime = iprot.readI64();
       struct.setCreationTimeIsSet(true);
       struct.lastAccessTime = iprot.readI64();
@@ -2665,16 +3177,28 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
       struct.setValidUntilIsSet(true);
       struct.State = org.apache.airavata.model.user.Status.findByValue(iprot.readI32());
       struct.setStateIsSet(true);
-      BitSet incoming = iprot.readBitSet(12);
+      BitSet incoming = iprot.readBitSet(15);
       if (incoming.get(0)) {
+        struct.middleName = iprot.readString();
+        struct.setMiddleNameIsSet(true);
+      }
+      if (incoming.get(1)) {
+        struct.namePrefix = iprot.readString();
+        struct.setNamePrefixIsSet(true);
+      }
+      if (incoming.get(2)) {
+        struct.nameSuffix = iprot.readString();
+        struct.setNameSuffixIsSet(true);
+      }
+      if (incoming.get(3)) {
         struct.userName = iprot.readString();
         struct.setUserNameIsSet(true);
       }
-      if (incoming.get(1)) {
+      if (incoming.get(4)) {
         struct.orcidId = iprot.readString();
         struct.setOrcidIdIsSet(true);
       }
-      if (incoming.get(2)) {
+      if (incoming.get(5)) {
         {
           org.apache.thrift.protocol.TList _list47 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
           struct.phones = new ArrayList<String>(_list47.size);
@@ -2687,11 +3211,11 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
         }
         struct.setPhonesIsSet(true);
       }
-      if (incoming.get(3)) {
+      if (incoming.get(6)) {
         struct.country = iprot.readString();
         struct.setCountryIsSet(true);
       }
-      if (incoming.get(4)) {
+      if (incoming.get(7)) {
         {
           org.apache.thrift.protocol.TList _list50 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
           struct.nationality = new ArrayList<String>(_list50.size);
@@ -2704,19 +3228,19 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
         }
         struct.setNationalityIsSet(true);
       }
-      if (incoming.get(5)) {
+      if (incoming.get(8)) {
         struct.homeOrganization = iprot.readString();
         struct.setHomeOrganizationIsSet(true);
       }
-      if (incoming.get(6)) {
+      if (incoming.get(9)) {
         struct.orginationAffiliation = iprot.readString();
         struct.setOrginationAffiliationIsSet(true);
       }
-      if (incoming.get(7)) {
+      if (incoming.get(10)) {
         struct.comments = iprot.readString();
         struct.setCommentsIsSet(true);
       }
-      if (incoming.get(8)) {
+      if (incoming.get(11)) {
         {
           org.apache.thrift.protocol.TList _list53 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
           struct.labeledURI = new ArrayList<String>(_list53.size);
@@ -2729,15 +3253,15 @@ public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserPro
         }
         struct.setLabeledURIIsSet(true);
       }
-      if (incoming.get(9)) {
+      if (incoming.get(12)) {
         struct.gpgKey = iprot.readString();
         struct.setGpgKeyIsSet(true);
       }
-      if (incoming.get(10)) {
+      if (incoming.get(13)) {
         struct.timeZone = iprot.readString();
         struct.setTimeZoneIsSet(true);
       }
-      if (incoming.get(11)) {
+      if (incoming.get(14)) {
         struct.nsfDemographics = new NSFDemographics();
         struct.nsfDemographics.read(iprot);
         struct.setNsfDemographicsIsSet(true);

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/disability.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/disability.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/disability.java
index cc6dd0c..de4077c 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/disability.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/disability.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/ethnicity.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/ethnicity.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/ethnicity.java
index d9462ba..aaf005b 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/ethnicity.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/ethnicity.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/race.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/race.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/race.java
index fef5da6..dbf1cac 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/race.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/race.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/user_profile_modelConstants.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/user_profile_modelConstants.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/user_profile_modelConstants.java
index 91f5425..37b47a8 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/user_profile_modelConstants.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/user_profile_modelConstants.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Gateway.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Gateway.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Gateway.java
index 2018124..c32cc0d 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Gateway.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Gateway.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/GatewayApprovalStatus.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/GatewayApprovalStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/GatewayApprovalStatus.java
index 2a47b1a..e53ee20 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/GatewayApprovalStatus.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/GatewayApprovalStatus.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Group.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Group.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Group.java
index e765ab7..f1bf76f 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Group.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Group.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Notification.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Notification.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Notification.java
index 65dc1da..bebdca6 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Notification.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Notification.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/NotificationPriority.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/NotificationPriority.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/NotificationPriority.java
index 4b0c11e..90c56be 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/NotificationPriority.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/NotificationPriority.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Project.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Project.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Project.java
index d01c743..275c199 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Project.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Project.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/User.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/User.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/User.java
index e26a269..e0cfcc2 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/User.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/User.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/thrift-interface-descriptions/airavata-apis/airavata_api.thrift
----------------------------------------------------------------------
diff --git a/thrift-interface-descriptions/airavata-apis/airavata_api.thrift b/thrift-interface-descriptions/airavata-apis/airavata_api.thrift
index 34ef441..e952abb 100644
--- a/thrift-interface-descriptions/airavata-apis/airavata_api.thrift
+++ b/thrift-interface-descriptions/airavata-apis/airavata_api.thrift
@@ -43,8 +43,8 @@ include "../data-models/resource-catalog-models/user_resource_profile_model.thri
 include "../data-models/resource-catalog-models/data_movement_models.thrift"
 include "../data-models/workflow-models/workflow_data_model.thrift"
 include "../data-models/replica-catalog-models/replica_catalog_models.thrift"
-include "../data-models/user-group-models/group_manager_model.thrift"
-include "../data-models/user-group-models/user_profile_model.thrift"
+include "../data-models/user-tenant-group-models/group_manager_model.thrift"
+include "../data-models/user-tenant-group-models/user_profile_model.thrift"
 
 namespace java org.apache.airavata.api
 namespace php Airavata.API

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/thrift-interface-descriptions/component-cpis/registry-api.thrift
----------------------------------------------------------------------
diff --git a/thrift-interface-descriptions/component-cpis/registry-api.thrift b/thrift-interface-descriptions/component-cpis/registry-api.thrift
index 004919a..cd3248f 100644
--- a/thrift-interface-descriptions/component-cpis/registry-api.thrift
+++ b/thrift-interface-descriptions/component-cpis/registry-api.thrift
@@ -24,7 +24,7 @@
 */
 
 include "../data-models/airavata_data_models.thrift"
-include "../data-models/user-group-models/user_profile_model.thrift"
+include "../data-models/user-tenant-group-models/user_profile_model.thrift"
 include "../data-models/experiment-catalog-models/status_models.thrift"
 include "../data-models/experiment-catalog-models/job_model.thrift"
 include "../data-models/experiment-catalog-models/experiment_model.thrift"

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/thrift-interface-descriptions/component-cpis/user-profile-cpi.thrift
----------------------------------------------------------------------
diff --git a/thrift-interface-descriptions/component-cpis/user-profile-cpi.thrift b/thrift-interface-descriptions/component-cpis/user-profile-cpi.thrift
index 739ea1c..9567bf0 100644
--- a/thrift-interface-descriptions/component-cpis/user-profile-cpi.thrift
+++ b/thrift-interface-descriptions/component-cpis/user-profile-cpi.thrift
@@ -23,7 +23,7 @@
  *
 */
 
-include "../data-models/user-group-models/user_profile_model.thrift"
+include "../data-models/user-tenant-group-models/user_profile_model.thrift"
 include "user_profile_cpi_errors.thrift"
 
 


[12/50] [abbrv] airavata git commit: Add Tenant Profile Thrift Model

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/tenant_profile_model_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/tenant_profile_model_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/tenant_profile_model_types.h
new file mode 100644
index 0000000..2a815f8
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/tenant_profile_model_types.h
@@ -0,0 +1,244 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.3)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef tenant_profile_model_TYPES_H
+#define tenant_profile_model_TYPES_H
+
+#include <iosfwd>
+
+#include <thrift/Thrift.h>
+#include <thrift/TApplicationException.h>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/transport/TTransport.h>
+
+#include <thrift/cxxfunctional.h>
+#include "airavata_commons_types.h"
+
+
+namespace apache { namespace airavata { namespace model { namespace tenant {
+
+struct TenantApprovalStatus {
+  enum type {
+    REQUESTED = 0,
+    APPROVED = 1,
+    ACTIVE = 2,
+    DEACTIVATED = 3,
+    CANCELLED = 4,
+    DENIED = 5,
+    CREATED = 6
+  };
+};
+
+extern const std::map<int, const char*> _TenantApprovalStatus_VALUES_TO_NAMES;
+
+class Tenant;
+
+typedef struct _Tenant__isset {
+  _Tenant__isset() : tenantName(false), domain(false), emailAddress(false), tenantAcronym(false), tenantURL(false), tenantPublicAbstract(false), reviewProposalDescription(false), tenantAdminFirstName(false), tenantAdminLastName(false), tenantAdminEmail(false), identityServerUserName(false), identityServerPasswordToken(false), declinedReason(false), oauthClientId(false), oauthClientSecret(false), requestCreationTime(false), requesterUsername(false) {}
+  bool tenantName :1;
+  bool domain :1;
+  bool emailAddress :1;
+  bool tenantAcronym :1;
+  bool tenantURL :1;
+  bool tenantPublicAbstract :1;
+  bool reviewProposalDescription :1;
+  bool tenantAdminFirstName :1;
+  bool tenantAdminLastName :1;
+  bool tenantAdminEmail :1;
+  bool identityServerUserName :1;
+  bool identityServerPasswordToken :1;
+  bool declinedReason :1;
+  bool oauthClientId :1;
+  bool oauthClientSecret :1;
+  bool requestCreationTime :1;
+  bool requesterUsername :1;
+} _Tenant__isset;
+
+class Tenant {
+ public:
+
+  Tenant(const Tenant&);
+  Tenant& operator=(const Tenant&);
+  Tenant() : tenantId(), tenantApprovalStatus((TenantApprovalStatus::type)0), tenantName(), domain(), emailAddress(), tenantAcronym(), tenantURL(), tenantPublicAbstract(), reviewProposalDescription(), tenantAdminFirstName(), tenantAdminLastName(), tenantAdminEmail(), identityServerUserName(), identityServerPasswordToken(), declinedReason(), oauthClientId(), oauthClientSecret(), requestCreationTime(0), requesterUsername() {
+  }
+
+  virtual ~Tenant() throw();
+  std::string tenantId;
+  TenantApprovalStatus::type tenantApprovalStatus;
+  std::string tenantName;
+  std::string domain;
+  std::string emailAddress;
+  std::string tenantAcronym;
+  std::string tenantURL;
+  std::string tenantPublicAbstract;
+  std::string reviewProposalDescription;
+  std::string tenantAdminFirstName;
+  std::string tenantAdminLastName;
+  std::string tenantAdminEmail;
+  std::string identityServerUserName;
+  std::string identityServerPasswordToken;
+  std::string declinedReason;
+  std::string oauthClientId;
+  std::string oauthClientSecret;
+  int64_t requestCreationTime;
+  std::string requesterUsername;
+
+  _Tenant__isset __isset;
+
+  void __set_tenantId(const std::string& val);
+
+  void __set_tenantApprovalStatus(const TenantApprovalStatus::type val);
+
+  void __set_tenantName(const std::string& val);
+
+  void __set_domain(const std::string& val);
+
+  void __set_emailAddress(const std::string& val);
+
+  void __set_tenantAcronym(const std::string& val);
+
+  void __set_tenantURL(const std::string& val);
+
+  void __set_tenantPublicAbstract(const std::string& val);
+
+  void __set_reviewProposalDescription(const std::string& val);
+
+  void __set_tenantAdminFirstName(const std::string& val);
+
+  void __set_tenantAdminLastName(const std::string& val);
+
+  void __set_tenantAdminEmail(const std::string& val);
+
+  void __set_identityServerUserName(const std::string& val);
+
+  void __set_identityServerPasswordToken(const std::string& val);
+
+  void __set_declinedReason(const std::string& val);
+
+  void __set_oauthClientId(const std::string& val);
+
+  void __set_oauthClientSecret(const std::string& val);
+
+  void __set_requestCreationTime(const int64_t val);
+
+  void __set_requesterUsername(const std::string& val);
+
+  bool operator == (const Tenant & rhs) const
+  {
+    if (!(tenantId == rhs.tenantId))
+      return false;
+    if (!(tenantApprovalStatus == rhs.tenantApprovalStatus))
+      return false;
+    if (__isset.tenantName != rhs.__isset.tenantName)
+      return false;
+    else if (__isset.tenantName && !(tenantName == rhs.tenantName))
+      return false;
+    if (__isset.domain != rhs.__isset.domain)
+      return false;
+    else if (__isset.domain && !(domain == rhs.domain))
+      return false;
+    if (__isset.emailAddress != rhs.__isset.emailAddress)
+      return false;
+    else if (__isset.emailAddress && !(emailAddress == rhs.emailAddress))
+      return false;
+    if (__isset.tenantAcronym != rhs.__isset.tenantAcronym)
+      return false;
+    else if (__isset.tenantAcronym && !(tenantAcronym == rhs.tenantAcronym))
+      return false;
+    if (__isset.tenantURL != rhs.__isset.tenantURL)
+      return false;
+    else if (__isset.tenantURL && !(tenantURL == rhs.tenantURL))
+      return false;
+    if (__isset.tenantPublicAbstract != rhs.__isset.tenantPublicAbstract)
+      return false;
+    else if (__isset.tenantPublicAbstract && !(tenantPublicAbstract == rhs.tenantPublicAbstract))
+      return false;
+    if (__isset.reviewProposalDescription != rhs.__isset.reviewProposalDescription)
+      return false;
+    else if (__isset.reviewProposalDescription && !(reviewProposalDescription == rhs.reviewProposalDescription))
+      return false;
+    if (__isset.tenantAdminFirstName != rhs.__isset.tenantAdminFirstName)
+      return false;
+    else if (__isset.tenantAdminFirstName && !(tenantAdminFirstName == rhs.tenantAdminFirstName))
+      return false;
+    if (__isset.tenantAdminLastName != rhs.__isset.tenantAdminLastName)
+      return false;
+    else if (__isset.tenantAdminLastName && !(tenantAdminLastName == rhs.tenantAdminLastName))
+      return false;
+    if (__isset.tenantAdminEmail != rhs.__isset.tenantAdminEmail)
+      return false;
+    else if (__isset.tenantAdminEmail && !(tenantAdminEmail == rhs.tenantAdminEmail))
+      return false;
+    if (__isset.identityServerUserName != rhs.__isset.identityServerUserName)
+      return false;
+    else if (__isset.identityServerUserName && !(identityServerUserName == rhs.identityServerUserName))
+      return false;
+    if (__isset.identityServerPasswordToken != rhs.__isset.identityServerPasswordToken)
+      return false;
+    else if (__isset.identityServerPasswordToken && !(identityServerPasswordToken == rhs.identityServerPasswordToken))
+      return false;
+    if (__isset.declinedReason != rhs.__isset.declinedReason)
+      return false;
+    else if (__isset.declinedReason && !(declinedReason == rhs.declinedReason))
+      return false;
+    if (__isset.oauthClientId != rhs.__isset.oauthClientId)
+      return false;
+    else if (__isset.oauthClientId && !(oauthClientId == rhs.oauthClientId))
+      return false;
+    if (__isset.oauthClientSecret != rhs.__isset.oauthClientSecret)
+      return false;
+    else if (__isset.oauthClientSecret && !(oauthClientSecret == rhs.oauthClientSecret))
+      return false;
+    if (__isset.requestCreationTime != rhs.__isset.requestCreationTime)
+      return false;
+    else if (__isset.requestCreationTime && !(requestCreationTime == rhs.requestCreationTime))
+      return false;
+    if (__isset.requesterUsername != rhs.__isset.requesterUsername)
+      return false;
+    else if (__isset.requesterUsername && !(requesterUsername == rhs.requesterUsername))
+      return false;
+    return true;
+  }
+  bool operator != (const Tenant &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Tenant & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  virtual void printTo(std::ostream& out) const;
+};
+
+void swap(Tenant &a, Tenant &b);
+
+inline std::ostream& operator<<(std::ostream& out, const Tenant& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
+}}}} // namespace
+
+#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/user_profile_model_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/user_profile_model_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/user_profile_model_types.cpp
index 8dbb408..a7b968a 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/user_profile_model_types.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/user_profile_model_types.cpp
@@ -121,6 +121,10 @@ NSFDemographics::~NSFDemographics() throw() {
 }
 
 
+void NSFDemographics::__set_airavataInternalUserId(const std::string& val) {
+  this->airavataInternalUserId = val;
+}
+
 void NSFDemographics::__set_gender(const std::string& val) {
   this->gender = val;
 __isset.gender = true;
@@ -158,6 +162,7 @@ uint32_t NSFDemographics::read(::apache::thrift::protocol::TProtocol* iprot) {
 
   using ::apache::thrift::protocol::TProtocolException;
 
+  bool isset_airavataInternalUserId = false;
 
   while (true)
   {
@@ -169,13 +174,21 @@ uint32_t NSFDemographics::read(::apache::thrift::protocol::TProtocol* iprot) {
     {
       case 1:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->airavataInternalUserId);
+          isset_airavataInternalUserId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->gender);
           this->__isset.gender = true;
         } else {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 2:
+      case 3:
         if (ftype == ::apache::thrift::protocol::T_I32) {
           int32_t ecast0;
           xfer += iprot->readI32(ecast0);
@@ -185,7 +198,7 @@ uint32_t NSFDemographics::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 3:
+      case 4:
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->ethnicities.clear();
@@ -207,7 +220,7 @@ uint32_t NSFDemographics::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 4:
+      case 5:
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->races.clear();
@@ -229,7 +242,7 @@ uint32_t NSFDemographics::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 5:
+      case 6:
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->disabilities.clear();
@@ -260,6 +273,8 @@ uint32_t NSFDemographics::read(::apache::thrift::protocol::TProtocol* iprot) {
 
   xfer += iprot->readStructEnd();
 
+  if (!isset_airavataInternalUserId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
   return xfer;
 }
 
@@ -268,18 +283,22 @@ uint32_t NSFDemographics::write(::apache::thrift::protocol::TProtocol* oprot) co
   apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
   xfer += oprot->writeStructBegin("NSFDemographics");
 
+  xfer += oprot->writeFieldBegin("airavataInternalUserId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->airavataInternalUserId);
+  xfer += oprot->writeFieldEnd();
+
   if (this->__isset.gender) {
-    xfer += oprot->writeFieldBegin("gender", ::apache::thrift::protocol::T_STRING, 1);
+    xfer += oprot->writeFieldBegin("gender", ::apache::thrift::protocol::T_STRING, 2);
     xfer += oprot->writeString(this->gender);
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.usCitizenship) {
-    xfer += oprot->writeFieldBegin("usCitizenship", ::apache::thrift::protocol::T_I32, 2);
+    xfer += oprot->writeFieldBegin("usCitizenship", ::apache::thrift::protocol::T_I32, 3);
     xfer += oprot->writeI32((int32_t)this->usCitizenship);
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.ethnicities) {
-    xfer += oprot->writeFieldBegin("ethnicities", ::apache::thrift::protocol::T_LIST, 3);
+    xfer += oprot->writeFieldBegin("ethnicities", ::apache::thrift::protocol::T_LIST, 4);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_I32, static_cast<uint32_t>(this->ethnicities.size()));
       std::vector<ethnicity::type> ::const_iterator _iter19;
@@ -292,7 +311,7 @@ uint32_t NSFDemographics::write(::apache::thrift::protocol::TProtocol* oprot) co
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.races) {
-    xfer += oprot->writeFieldBegin("races", ::apache::thrift::protocol::T_LIST, 4);
+    xfer += oprot->writeFieldBegin("races", ::apache::thrift::protocol::T_LIST, 5);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_I32, static_cast<uint32_t>(this->races.size()));
       std::vector<race::type> ::const_iterator _iter20;
@@ -305,7 +324,7 @@ uint32_t NSFDemographics::write(::apache::thrift::protocol::TProtocol* oprot) co
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.disabilities) {
-    xfer += oprot->writeFieldBegin("disabilities", ::apache::thrift::protocol::T_LIST, 5);
+    xfer += oprot->writeFieldBegin("disabilities", ::apache::thrift::protocol::T_LIST, 6);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_I32, static_cast<uint32_t>(this->disabilities.size()));
       std::vector<disability::type> ::const_iterator _iter21;
@@ -324,6 +343,7 @@ uint32_t NSFDemographics::write(::apache::thrift::protocol::TProtocol* oprot) co
 
 void swap(NSFDemographics &a, NSFDemographics &b) {
   using ::std::swap;
+  swap(a.airavataInternalUserId, b.airavataInternalUserId);
   swap(a.gender, b.gender);
   swap(a.usCitizenship, b.usCitizenship);
   swap(a.ethnicities, b.ethnicities);
@@ -333,6 +353,7 @@ void swap(NSFDemographics &a, NSFDemographics &b) {
 }
 
 NSFDemographics::NSFDemographics(const NSFDemographics& other22) {
+  airavataInternalUserId = other22.airavataInternalUserId;
   gender = other22.gender;
   usCitizenship = other22.usCitizenship;
   ethnicities = other22.ethnicities;
@@ -341,6 +362,7 @@ NSFDemographics::NSFDemographics(const NSFDemographics& other22) {
   __isset = other22.__isset;
 }
 NSFDemographics& NSFDemographics::operator=(const NSFDemographics& other23) {
+  airavataInternalUserId = other23.airavataInternalUserId;
   gender = other23.gender;
   usCitizenship = other23.usCitizenship;
   ethnicities = other23.ethnicities;
@@ -352,7 +374,8 @@ NSFDemographics& NSFDemographics::operator=(const NSFDemographics& other23) {
 void NSFDemographics::printTo(std::ostream& out) const {
   using ::apache::thrift::to_string;
   out << "NSFDemographics(";
-  out << "gender="; (__isset.gender ? (out << to_string(gender)) : (out << "<null>"));
+  out << "airavataInternalUserId=" << to_string(airavataInternalUserId);
+  out << ", " << "gender="; (__isset.gender ? (out << to_string(gender)) : (out << "<null>"));
   out << ", " << "usCitizenship="; (__isset.usCitizenship ? (out << to_string(usCitizenship)) : (out << "<null>"));
   out << ", " << "ethnicities="; (__isset.ethnicities ? (out << to_string(ethnicities)) : (out << "<null>"));
   out << ", " << "races="; (__isset.races ? (out << to_string(races)) : (out << "<null>"));
@@ -385,6 +408,29 @@ void UserProfile::__set_emails(const std::vector<std::string> & val) {
   this->emails = val;
 }
 
+void UserProfile::__set_firstName(const std::string& val) {
+  this->firstName = val;
+}
+
+void UserProfile::__set_lastName(const std::string& val) {
+  this->lastName = val;
+}
+
+void UserProfile::__set_middleName(const std::string& val) {
+  this->middleName = val;
+__isset.middleName = true;
+}
+
+void UserProfile::__set_namePrefix(const std::string& val) {
+  this->namePrefix = val;
+__isset.namePrefix = true;
+}
+
+void UserProfile::__set_nameSuffix(const std::string& val) {
+  this->nameSuffix = val;
+__isset.nameSuffix = true;
+}
+
 void UserProfile::__set_userName(const std::string& val) {
   this->userName = val;
 __isset.userName = true;
@@ -420,15 +466,15 @@ void UserProfile::__set_orginationAffiliation(const std::string& val) {
 __isset.orginationAffiliation = true;
 }
 
-void UserProfile::__set_creationTime(const std::string& val) {
+void UserProfile::__set_creationTime(const int64_t val) {
   this->creationTime = val;
 }
 
-void UserProfile::__set_lastAccessTime(const std::string& val) {
+void UserProfile::__set_lastAccessTime(const int64_t val) {
   this->lastAccessTime = val;
 }
 
-void UserProfile::__set_validUntil(const std::string& val) {
+void UserProfile::__set_validUntil(const int64_t val) {
   this->validUntil = val;
 }
 
@@ -478,6 +524,8 @@ uint32_t UserProfile::read(::apache::thrift::protocol::TProtocol* iprot) {
   bool isset_userId = false;
   bool isset_gatewayId = false;
   bool isset_emails = false;
+  bool isset_firstName = false;
+  bool isset_lastName = false;
   bool isset_creationTime = false;
   bool isset_lastAccessTime = false;
   bool isset_validUntil = false;
@@ -545,13 +593,53 @@ uint32_t UserProfile::read(::apache::thrift::protocol::TProtocol* iprot) {
         break;
       case 6:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->firstName);
+          isset_firstName = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 7:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->lastName);
+          isset_lastName = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 8:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->middleName);
+          this->__isset.middleName = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 9:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->namePrefix);
+          this->__isset.namePrefix = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 10:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->nameSuffix);
+          this->__isset.nameSuffix = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 11:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->userName);
           this->__isset.userName = true;
         } else {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 7:
+      case 12:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->orcidId);
           this->__isset.orcidId = true;
@@ -559,7 +647,7 @@ uint32_t UserProfile::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 8:
+      case 13:
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->phones.clear();
@@ -579,7 +667,7 @@ uint32_t UserProfile::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 9:
+      case 14:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->country);
           this->__isset.country = true;
@@ -587,7 +675,7 @@ uint32_t UserProfile::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 10:
+      case 15:
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->nationality.clear();
@@ -607,7 +695,7 @@ uint32_t UserProfile::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 11:
+      case 16:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->homeOrganization);
           this->__isset.homeOrganization = true;
@@ -615,7 +703,7 @@ uint32_t UserProfile::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 12:
+      case 17:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->orginationAffiliation);
           this->__isset.orginationAffiliation = true;
@@ -623,31 +711,31 @@ uint32_t UserProfile::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 13:
-        if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->creationTime);
+      case 18:
+        if (ftype == ::apache::thrift::protocol::T_I64) {
+          xfer += iprot->readI64(this->creationTime);
           isset_creationTime = true;
         } else {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 14:
-        if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->lastAccessTime);
+      case 19:
+        if (ftype == ::apache::thrift::protocol::T_I64) {
+          xfer += iprot->readI64(this->lastAccessTime);
           isset_lastAccessTime = true;
         } else {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 15:
-        if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->validUntil);
+      case 20:
+        if (ftype == ::apache::thrift::protocol::T_I64) {
+          xfer += iprot->readI64(this->validUntil);
           isset_validUntil = true;
         } else {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 16:
+      case 21:
         if (ftype == ::apache::thrift::protocol::T_I32) {
           int32_t ecast39;
           xfer += iprot->readI32(ecast39);
@@ -657,7 +745,7 @@ uint32_t UserProfile::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 17:
+      case 22:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->comments);
           this->__isset.comments = true;
@@ -665,7 +753,7 @@ uint32_t UserProfile::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 18:
+      case 23:
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->labeledURI.clear();
@@ -685,7 +773,7 @@ uint32_t UserProfile::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 19:
+      case 24:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->gpgKey);
           this->__isset.gpgKey = true;
@@ -693,7 +781,7 @@ uint32_t UserProfile::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 20:
+      case 25:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->timeZone);
           this->__isset.timeZone = true;
@@ -701,7 +789,7 @@ uint32_t UserProfile::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 21:
+      case 26:
         if (ftype == ::apache::thrift::protocol::T_STRUCT) {
           xfer += this->nsfDemographics.read(iprot);
           this->__isset.nsfDemographics = true;
@@ -728,6 +816,10 @@ uint32_t UserProfile::read(::apache::thrift::protocol::TProtocol* iprot) {
     throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_emails)
     throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_firstName)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_lastName)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_creationTime)
     throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_lastAccessTime)
@@ -772,18 +864,41 @@ uint32_t UserProfile::write(::apache::thrift::protocol::TProtocol* oprot) const
   }
   xfer += oprot->writeFieldEnd();
 
+  xfer += oprot->writeFieldBegin("firstName", ::apache::thrift::protocol::T_STRING, 6);
+  xfer += oprot->writeString(this->firstName);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("lastName", ::apache::thrift::protocol::T_STRING, 7);
+  xfer += oprot->writeString(this->lastName);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.middleName) {
+    xfer += oprot->writeFieldBegin("middleName", ::apache::thrift::protocol::T_STRING, 8);
+    xfer += oprot->writeString(this->middleName);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.namePrefix) {
+    xfer += oprot->writeFieldBegin("namePrefix", ::apache::thrift::protocol::T_STRING, 9);
+    xfer += oprot->writeString(this->namePrefix);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.nameSuffix) {
+    xfer += oprot->writeFieldBegin("nameSuffix", ::apache::thrift::protocol::T_STRING, 10);
+    xfer += oprot->writeString(this->nameSuffix);
+    xfer += oprot->writeFieldEnd();
+  }
   if (this->__isset.userName) {
-    xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 6);
+    xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 11);
     xfer += oprot->writeString(this->userName);
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.orcidId) {
-    xfer += oprot->writeFieldBegin("orcidId", ::apache::thrift::protocol::T_STRING, 7);
+    xfer += oprot->writeFieldBegin("orcidId", ::apache::thrift::protocol::T_STRING, 12);
     xfer += oprot->writeString(this->orcidId);
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.phones) {
-    xfer += oprot->writeFieldBegin("phones", ::apache::thrift::protocol::T_LIST, 8);
+    xfer += oprot->writeFieldBegin("phones", ::apache::thrift::protocol::T_LIST, 13);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->phones.size()));
       std::vector<std::string> ::const_iterator _iter46;
@@ -796,12 +911,12 @@ uint32_t UserProfile::write(::apache::thrift::protocol::TProtocol* oprot) const
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.country) {
-    xfer += oprot->writeFieldBegin("country", ::apache::thrift::protocol::T_STRING, 9);
+    xfer += oprot->writeFieldBegin("country", ::apache::thrift::protocol::T_STRING, 14);
     xfer += oprot->writeString(this->country);
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.nationality) {
-    xfer += oprot->writeFieldBegin("nationality", ::apache::thrift::protocol::T_LIST, 10);
+    xfer += oprot->writeFieldBegin("nationality", ::apache::thrift::protocol::T_LIST, 15);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->nationality.size()));
       std::vector<std::string> ::const_iterator _iter47;
@@ -814,38 +929,38 @@ uint32_t UserProfile::write(::apache::thrift::protocol::TProtocol* oprot) const
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.homeOrganization) {
-    xfer += oprot->writeFieldBegin("homeOrganization", ::apache::thrift::protocol::T_STRING, 11);
+    xfer += oprot->writeFieldBegin("homeOrganization", ::apache::thrift::protocol::T_STRING, 16);
     xfer += oprot->writeString(this->homeOrganization);
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.orginationAffiliation) {
-    xfer += oprot->writeFieldBegin("orginationAffiliation", ::apache::thrift::protocol::T_STRING, 12);
+    xfer += oprot->writeFieldBegin("orginationAffiliation", ::apache::thrift::protocol::T_STRING, 17);
     xfer += oprot->writeString(this->orginationAffiliation);
     xfer += oprot->writeFieldEnd();
   }
-  xfer += oprot->writeFieldBegin("creationTime", ::apache::thrift::protocol::T_STRING, 13);
-  xfer += oprot->writeString(this->creationTime);
+  xfer += oprot->writeFieldBegin("creationTime", ::apache::thrift::protocol::T_I64, 18);
+  xfer += oprot->writeI64(this->creationTime);
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("lastAccessTime", ::apache::thrift::protocol::T_STRING, 14);
-  xfer += oprot->writeString(this->lastAccessTime);
+  xfer += oprot->writeFieldBegin("lastAccessTime", ::apache::thrift::protocol::T_I64, 19);
+  xfer += oprot->writeI64(this->lastAccessTime);
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("validUntil", ::apache::thrift::protocol::T_STRING, 15);
-  xfer += oprot->writeString(this->validUntil);
+  xfer += oprot->writeFieldBegin("validUntil", ::apache::thrift::protocol::T_I64, 20);
+  xfer += oprot->writeI64(this->validUntil);
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("State", ::apache::thrift::protocol::T_I32, 16);
+  xfer += oprot->writeFieldBegin("State", ::apache::thrift::protocol::T_I32, 21);
   xfer += oprot->writeI32((int32_t)this->State);
   xfer += oprot->writeFieldEnd();
 
   if (this->__isset.comments) {
-    xfer += oprot->writeFieldBegin("comments", ::apache::thrift::protocol::T_STRING, 17);
+    xfer += oprot->writeFieldBegin("comments", ::apache::thrift::protocol::T_STRING, 22);
     xfer += oprot->writeString(this->comments);
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.labeledURI) {
-    xfer += oprot->writeFieldBegin("labeledURI", ::apache::thrift::protocol::T_LIST, 18);
+    xfer += oprot->writeFieldBegin("labeledURI", ::apache::thrift::protocol::T_LIST, 23);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->labeledURI.size()));
       std::vector<std::string> ::const_iterator _iter48;
@@ -858,17 +973,17 @@ uint32_t UserProfile::write(::apache::thrift::protocol::TProtocol* oprot) const
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.gpgKey) {
-    xfer += oprot->writeFieldBegin("gpgKey", ::apache::thrift::protocol::T_STRING, 19);
+    xfer += oprot->writeFieldBegin("gpgKey", ::apache::thrift::protocol::T_STRING, 24);
     xfer += oprot->writeString(this->gpgKey);
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.timeZone) {
-    xfer += oprot->writeFieldBegin("timeZone", ::apache::thrift::protocol::T_STRING, 20);
+    xfer += oprot->writeFieldBegin("timeZone", ::apache::thrift::protocol::T_STRING, 25);
     xfer += oprot->writeString(this->timeZone);
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.nsfDemographics) {
-    xfer += oprot->writeFieldBegin("nsfDemographics", ::apache::thrift::protocol::T_STRUCT, 21);
+    xfer += oprot->writeFieldBegin("nsfDemographics", ::apache::thrift::protocol::T_STRUCT, 26);
     xfer += this->nsfDemographics.write(oprot);
     xfer += oprot->writeFieldEnd();
   }
@@ -884,6 +999,11 @@ void swap(UserProfile &a, UserProfile &b) {
   swap(a.userId, b.userId);
   swap(a.gatewayId, b.gatewayId);
   swap(a.emails, b.emails);
+  swap(a.firstName, b.firstName);
+  swap(a.lastName, b.lastName);
+  swap(a.middleName, b.middleName);
+  swap(a.namePrefix, b.namePrefix);
+  swap(a.nameSuffix, b.nameSuffix);
   swap(a.userName, b.userName);
   swap(a.orcidId, b.orcidId);
   swap(a.phones, b.phones);
@@ -909,6 +1029,11 @@ UserProfile::UserProfile(const UserProfile& other49) {
   userId = other49.userId;
   gatewayId = other49.gatewayId;
   emails = other49.emails;
+  firstName = other49.firstName;
+  lastName = other49.lastName;
+  middleName = other49.middleName;
+  namePrefix = other49.namePrefix;
+  nameSuffix = other49.nameSuffix;
   userName = other49.userName;
   orcidId = other49.orcidId;
   phones = other49.phones;
@@ -933,6 +1058,11 @@ UserProfile& UserProfile::operator=(const UserProfile& other50) {
   userId = other50.userId;
   gatewayId = other50.gatewayId;
   emails = other50.emails;
+  firstName = other50.firstName;
+  lastName = other50.lastName;
+  middleName = other50.middleName;
+  namePrefix = other50.namePrefix;
+  nameSuffix = other50.nameSuffix;
   userName = other50.userName;
   orcidId = other50.orcidId;
   phones = other50.phones;
@@ -960,6 +1090,11 @@ void UserProfile::printTo(std::ostream& out) const {
   out << ", " << "userId=" << to_string(userId);
   out << ", " << "gatewayId=" << to_string(gatewayId);
   out << ", " << "emails=" << to_string(emails);
+  out << ", " << "firstName=" << to_string(firstName);
+  out << ", " << "lastName=" << to_string(lastName);
+  out << ", " << "middleName="; (__isset.middleName ? (out << to_string(middleName)) : (out << "<null>"));
+  out << ", " << "namePrefix="; (__isset.namePrefix ? (out << to_string(namePrefix)) : (out << "<null>"));
+  out << ", " << "nameSuffix="; (__isset.nameSuffix ? (out << to_string(nameSuffix)) : (out << "<null>"));
   out << ", " << "userName="; (__isset.userName ? (out << to_string(userName)) : (out << "<null>"));
   out << ", " << "orcidId="; (__isset.orcidId ? (out << to_string(orcidId)) : (out << "<null>"));
   out << ", " << "phones="; (__isset.phones ? (out << to_string(phones)) : (out << "<null>"));

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/user_profile_model_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/user_profile_model_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/user_profile_model_types.h
index 69fa0a0..1d5b3be 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/user_profile_model_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/user_profile_model_types.h
@@ -118,10 +118,11 @@ class NSFDemographics {
 
   NSFDemographics(const NSFDemographics&);
   NSFDemographics& operator=(const NSFDemographics&);
-  NSFDemographics() : gender(), usCitizenship((USCitizenship::type)0) {
+  NSFDemographics() : airavataInternalUserId("DO_NOT_SET_AT_CLIENTS"), gender(), usCitizenship((USCitizenship::type)0) {
   }
 
   virtual ~NSFDemographics() throw();
+  std::string airavataInternalUserId;
   std::string gender;
   USCitizenship::type usCitizenship;
   std::vector<ethnicity::type>  ethnicities;
@@ -130,6 +131,8 @@ class NSFDemographics {
 
   _NSFDemographics__isset __isset;
 
+  void __set_airavataInternalUserId(const std::string& val);
+
   void __set_gender(const std::string& val);
 
   void __set_usCitizenship(const USCitizenship::type val);
@@ -142,6 +145,8 @@ class NSFDemographics {
 
   bool operator == (const NSFDemographics & rhs) const
   {
+    if (!(airavataInternalUserId == rhs.airavataInternalUserId))
+      return false;
     if (__isset.gender != rhs.__isset.gender)
       return false;
     else if (__isset.gender && !(gender == rhs.gender))
@@ -185,7 +190,10 @@ inline std::ostream& operator<<(std::ostream& out, const NSFDemographics& obj)
 }
 
 typedef struct _UserProfile__isset {
-  _UserProfile__isset() : userName(false), orcidId(false), phones(false), country(false), nationality(false), homeOrganization(false), orginationAffiliation(false), comments(false), labeledURI(false), gpgKey(false), timeZone(false), nsfDemographics(false) {}
+  _UserProfile__isset() : middleName(false), namePrefix(false), nameSuffix(false), userName(false), orcidId(false), phones(false), country(false), nationality(false), homeOrganization(false), orginationAffiliation(false), comments(false), labeledURI(false), gpgKey(false), timeZone(false), nsfDemographics(false) {}
+  bool middleName :1;
+  bool namePrefix :1;
+  bool nameSuffix :1;
   bool userName :1;
   bool orcidId :1;
   bool phones :1;
@@ -205,7 +213,7 @@ class UserProfile {
 
   UserProfile(const UserProfile&);
   UserProfile& operator=(const UserProfile&);
-  UserProfile() : userModelVersion("1.0"), airavataInternalUserId("DO_NOT_SET_AT_CLIENTS"), userId(), gatewayId(), userName(), orcidId(), country(), homeOrganization(), orginationAffiliation(), creationTime(), lastAccessTime(), validUntil(), State((Status::type)0), comments(), gpgKey(), timeZone() {
+  UserProfile() : userModelVersion("1.0"), airavataInternalUserId("DO_NOT_SET_AT_CLIENTS"), userId(), gatewayId(), firstName(), lastName(), middleName(), namePrefix(), nameSuffix(), userName(), orcidId(), country(), homeOrganization(), orginationAffiliation(), creationTime(0), lastAccessTime(0), validUntil(0), State((Status::type)0), comments(), gpgKey(), timeZone() {
   }
 
   virtual ~UserProfile() throw();
@@ -214,6 +222,11 @@ class UserProfile {
   std::string userId;
   std::string gatewayId;
   std::vector<std::string>  emails;
+  std::string firstName;
+  std::string lastName;
+  std::string middleName;
+  std::string namePrefix;
+  std::string nameSuffix;
   std::string userName;
   std::string orcidId;
   std::vector<std::string>  phones;
@@ -221,9 +234,9 @@ class UserProfile {
   std::vector<std::string>  nationality;
   std::string homeOrganization;
   std::string orginationAffiliation;
-  std::string creationTime;
-  std::string lastAccessTime;
-  std::string validUntil;
+  int64_t creationTime;
+  int64_t lastAccessTime;
+  int64_t validUntil;
   Status::type State;
   std::string comments;
   std::vector<std::string>  labeledURI;
@@ -243,6 +256,16 @@ class UserProfile {
 
   void __set_emails(const std::vector<std::string> & val);
 
+  void __set_firstName(const std::string& val);
+
+  void __set_lastName(const std::string& val);
+
+  void __set_middleName(const std::string& val);
+
+  void __set_namePrefix(const std::string& val);
+
+  void __set_nameSuffix(const std::string& val);
+
   void __set_userName(const std::string& val);
 
   void __set_orcidId(const std::string& val);
@@ -257,11 +280,11 @@ class UserProfile {
 
   void __set_orginationAffiliation(const std::string& val);
 
-  void __set_creationTime(const std::string& val);
+  void __set_creationTime(const int64_t val);
 
-  void __set_lastAccessTime(const std::string& val);
+  void __set_lastAccessTime(const int64_t val);
 
-  void __set_validUntil(const std::string& val);
+  void __set_validUntil(const int64_t val);
 
   void __set_State(const Status::type val);
 
@@ -287,6 +310,22 @@ class UserProfile {
       return false;
     if (!(emails == rhs.emails))
       return false;
+    if (!(firstName == rhs.firstName))
+      return false;
+    if (!(lastName == rhs.lastName))
+      return false;
+    if (__isset.middleName != rhs.__isset.middleName)
+      return false;
+    else if (__isset.middleName && !(middleName == rhs.middleName))
+      return false;
+    if (__isset.namePrefix != rhs.__isset.namePrefix)
+      return false;
+    else if (__isset.namePrefix && !(namePrefix == rhs.namePrefix))
+      return false;
+    if (__isset.nameSuffix != rhs.__isset.nameSuffix)
+      return false;
+    else if (__isset.nameSuffix && !(nameSuffix == rhs.nameSuffix))
+      return false;
     if (__isset.userName != rhs.__isset.userName)
       return false;
     else if (__isset.userName && !(userName == rhs.userName))

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/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 e1032be..23df7a4 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
@@ -4139,6 +4139,12 @@ interface AiravataIf {
    * *  Externally assertable unique identifier. SAML (primarly in higher education, academic) tends to keep
    * *   user name less opaque. OpenID Connect maintains them to be opaque.
    * *
+   * * firstName, middleName, lastName:
+   * *  First and Last names as assertede by the user
+   * *
+   * * namePrefix, nameSuffix:
+   * *  prefix and suffix to the users name as asserted by the user
+   * *
    * * emails:
    * *   Email identifier are Verified, REQUIRED and MULTIVALUED
    * *
@@ -4222,6 +4228,12 @@ interface AiravataIf {
    * *  Externally assertable unique identifier. SAML (primarly in higher education, academic) tends to keep
    * *   user name less opaque. OpenID Connect maintains them to be opaque.
    * *
+   * * firstName, middleName, lastName:
+   * *  First and Last names as assertede by the user
+   * *
+   * * namePrefix, nameSuffix:
+   * *  prefix and suffix to the users name as asserted by the user
+   * *
    * * emails:
    * *   Email identifier are Verified, REQUIRED and MULTIVALUED
    * *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Error/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Error/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Error/Types.php
index edaa6de..0b5258d 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Error/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Error/Types.php
@@ -514,6 +514,88 @@ class AuthorizationException extends TException {
 }
 
 /**
+ * This exception is thrown when you try to save a duplicate entity that already exists
+ *   in the database.
+ * 
+ *   message: contains the associated error message
+ * 
+ */
+class DuplicateEntryException extends TException {
+  static $_TSPEC;
+
+  /**
+   * @var string
+   */
+  public $message = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'message',
+          'type' => TType::STRING,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['message'])) {
+        $this->message = $vals['message'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'DuplicateEntryException';
+  }
+
+  public function read($input)
+  {
+    $xfer = 0;
+    $fname = null;
+    $ftype = 0;
+    $fid = 0;
+    $xfer += $input->readStructBegin($fname);
+    while (true)
+    {
+      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+      if ($ftype == TType::STOP) {
+        break;
+      }
+      switch ($fid)
+      {
+        case 1:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->message);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        default:
+          $xfer += $input->skip($ftype);
+          break;
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+  public function write($output) {
+    $xfer = 0;
+    $xfer += $output->writeStructBegin('DuplicateEntryException');
+    if ($this->message !== null) {
+      $xfer += $output->writeFieldBegin('message', TType::STRING, 1);
+      $xfer += $output->writeString($this->message);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+/**
  * This exception is thrown by Airavata Services when a call fails as a result of
  * a problem that a client may be able to resolve.  For example, if the user
  * attempts to execute an application on a resource gateway does not have access to.

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php
index 03a2690..86e6c5d 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php
@@ -51,7 +51,7 @@ final class ResourceJobManagerType {
     3 => 'LSF',
     4 => 'UGE',
     5 => 'CLOUD',
-      6 => 'AIRAVATA_CUSTOM',
+    6 => 'AIRAVATA_CUSTOM',
   );
 }
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Application/Io/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Application/Io/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Application/Io/Types.php
index fd97025..b8bdf76 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Application/Io/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Application/Io/Types.php
@@ -173,9 +173,9 @@ class InputDataObjectType {
           'var' => 'storageResourceId',
           'type' => TType::STRING,
           ),
-          13 => array(
-              'var' => 'isReadOnly',
-              'type' => TType::BOOL,
+        13 => array(
+          'var' => 'isReadOnly',
+          'type' => TType::BOOL,
           ),
         );
     }

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Data/Replica/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Data/Replica/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Data/Replica/Types.php
index 7fba287..d6e208e 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Data/Replica/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Data/Replica/Types.php
@@ -48,103 +48,107 @@ final class DataProductType {
   );
 }
 
-class DataProductModel {
+class DataReplicaLocationModel {
   static $_TSPEC;
 
   /**
    * @var string
    */
-  public $productUri = null;
+  public $replicaId = null;
   /**
    * @var string
    */
-  public $gatewayId = null;
+  public $productUri = null;
   /**
    * @var string
    */
-  public $parentProductUri = null;
+  public $replicaName = null;
   /**
    * @var string
    */
-  public $productName = null;
+  public $replicaDescription = null;
   /**
-   * @var string
+   * @var int
    */
-  public $productDescription = null;
+  public $creationTime = null;
   /**
-   * @var string
+   * @var int
    */
-  public $ownerName = null;
+  public $lastModifiedTime = null;
   /**
    * @var int
    */
-  public $dataProductType = null;
+  public $validUntilTime = null;
   /**
    * @var int
    */
-  public $productSize = null;
+  public $replicaLocationCategory = null;
   /**
    * @var int
    */
-  public $creationTime = null;
+  public $replicaPersistentType = null;
   /**
-   * @var int
+   * @var string
    */
-  public $lastModifiedTime = null;
+  public $storageResourceId = null;
   /**
-   * @var array
+   * @var string
    */
-  public $productMetadata = null;
+  public $filePath = null;
   /**
-   * @var \Airavata\Model\Data\Replica\DataReplicaLocationModel[]
+   * @var array
    */
-  public $replicaLocations = null;
+  public $replicaMetadata = null;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
       self::$_TSPEC = array(
         1 => array(
-          'var' => 'productUri',
+          'var' => 'replicaId',
           'type' => TType::STRING,
           ),
         2 => array(
-          'var' => 'gatewayId',
+          'var' => 'productUri',
           'type' => TType::STRING,
           ),
         3 => array(
-          'var' => 'parentProductUri',
+          'var' => 'replicaName',
           'type' => TType::STRING,
           ),
         4 => array(
-          'var' => 'productName',
+          'var' => 'replicaDescription',
           'type' => TType::STRING,
           ),
         5 => array(
-          'var' => 'productDescription',
-          'type' => TType::STRING,
+          'var' => 'creationTime',
+          'type' => TType::I64,
           ),
         6 => array(
-          'var' => 'ownerName',
-          'type' => TType::STRING,
+          'var' => 'lastModifiedTime',
+          'type' => TType::I64,
           ),
         7 => array(
-          'var' => 'dataProductType',
-          'type' => TType::I32,
+          'var' => 'validUntilTime',
+          'type' => TType::I64,
           ),
         8 => array(
-          'var' => 'productSize',
+          'var' => 'replicaLocationCategory',
           'type' => TType::I32,
           ),
         9 => array(
-          'var' => 'creationTime',
-          'type' => TType::I64,
+          'var' => 'replicaPersistentType',
+          'type' => TType::I32,
           ),
         10 => array(
-          'var' => 'lastModifiedTime',
-          'type' => TType::I64,
+          'var' => 'storageResourceId',
+          'type' => TType::STRING,
           ),
         11 => array(
-          'var' => 'productMetadata',
+          'var' => 'filePath',
+          'type' => TType::STRING,
+          ),
+        12 => array(
+          'var' => 'replicaMetadata',
           'type' => TType::MAP,
           'ktype' => TType::STRING,
           'vtype' => TType::STRING,
@@ -155,41 +159,20 @@ class DataProductModel {
             'type' => TType::STRING,
             ),
           ),
-        12 => array(
-          'var' => 'replicaLocations',
-          'type' => TType::LST,
-          'etype' => TType::STRUCT,
-          'elem' => array(
-            'type' => TType::STRUCT,
-            'class' => '\Airavata\Model\Data\Replica\DataReplicaLocationModel',
-            ),
-          ),
         );
     }
     if (is_array($vals)) {
+      if (isset($vals['replicaId'])) {
+        $this->replicaId = $vals['replicaId'];
+      }
       if (isset($vals['productUri'])) {
         $this->productUri = $vals['productUri'];
       }
-      if (isset($vals['gatewayId'])) {
-        $this->gatewayId = $vals['gatewayId'];
-      }
-      if (isset($vals['parentProductUri'])) {
-        $this->parentProductUri = $vals['parentProductUri'];
-      }
-      if (isset($vals['productName'])) {
-        $this->productName = $vals['productName'];
-      }
-      if (isset($vals['productDescription'])) {
-        $this->productDescription = $vals['productDescription'];
-      }
-      if (isset($vals['ownerName'])) {
-        $this->ownerName = $vals['ownerName'];
-      }
-      if (isset($vals['dataProductType'])) {
-        $this->dataProductType = $vals['dataProductType'];
+      if (isset($vals['replicaName'])) {
+        $this->replicaName = $vals['replicaName'];
       }
-      if (isset($vals['productSize'])) {
-        $this->productSize = $vals['productSize'];
+      if (isset($vals['replicaDescription'])) {
+        $this->replicaDescription = $vals['replicaDescription'];
       }
       if (isset($vals['creationTime'])) {
         $this->creationTime = $vals['creationTime'];
@@ -197,17 +180,29 @@ class DataProductModel {
       if (isset($vals['lastModifiedTime'])) {
         $this->lastModifiedTime = $vals['lastModifiedTime'];
       }
-      if (isset($vals['productMetadata'])) {
-        $this->productMetadata = $vals['productMetadata'];
+      if (isset($vals['validUntilTime'])) {
+        $this->validUntilTime = $vals['validUntilTime'];
       }
-      if (isset($vals['replicaLocations'])) {
-        $this->replicaLocations = $vals['replicaLocations'];
+      if (isset($vals['replicaLocationCategory'])) {
+        $this->replicaLocationCategory = $vals['replicaLocationCategory'];
+      }
+      if (isset($vals['replicaPersistentType'])) {
+        $this->replicaPersistentType = $vals['replicaPersistentType'];
+      }
+      if (isset($vals['storageResourceId'])) {
+        $this->storageResourceId = $vals['storageResourceId'];
+      }
+      if (isset($vals['filePath'])) {
+        $this->filePath = $vals['filePath'];
+      }
+      if (isset($vals['replicaMetadata'])) {
+        $this->replicaMetadata = $vals['replicaMetadata'];
       }
     }
   }
 
   public function getName() {
-    return 'DataProductModel';
+    return 'DataReplicaLocationModel';
   }
 
   public function read($input)
@@ -227,77 +222,84 @@ class DataProductModel {
       {
         case 1:
           if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->productUri);
+            $xfer += $input->readString($this->replicaId);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
         case 2:
           if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->gatewayId);
+            $xfer += $input->readString($this->productUri);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
         case 3:
           if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->parentProductUri);
+            $xfer += $input->readString($this->replicaName);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
         case 4:
           if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->productName);
+            $xfer += $input->readString($this->replicaDescription);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
         case 5:
-          if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->productDescription);
+          if ($ftype == TType::I64) {
+            $xfer += $input->readI64($this->creationTime);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
         case 6:
-          if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->ownerName);
+          if ($ftype == TType::I64) {
+            $xfer += $input->readI64($this->lastModifiedTime);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
         case 7:
-          if ($ftype == TType::I32) {
-            $xfer += $input->readI32($this->dataProductType);
+          if ($ftype == TType::I64) {
+            $xfer += $input->readI64($this->validUntilTime);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
         case 8:
           if ($ftype == TType::I32) {
-            $xfer += $input->readI32($this->productSize);
+            $xfer += $input->readI32($this->replicaLocationCategory);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
         case 9:
-          if ($ftype == TType::I64) {
-            $xfer += $input->readI64($this->creationTime);
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->replicaPersistentType);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
         case 10:
-          if ($ftype == TType::I64) {
-            $xfer += $input->readI64($this->lastModifiedTime);
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->storageResourceId);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
         case 11:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->filePath);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 12:
           if ($ftype == TType::MAP) {
-            $this->productMetadata = array();
+            $this->replicaMetadata = array();
             $_size0 = 0;
             $_ktype1 = 0;
             $_vtype2 = 0;
@@ -308,31 +310,13 @@ class DataProductModel {
               $val6 = '';
               $xfer += $input->readString($key5);
               $xfer += $input->readString($val6);
-              $this->productMetadata[$key5] = $val6;
+              $this->replicaMetadata[$key5] = $val6;
             }
             $xfer += $input->readMapEnd();
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 12:
-          if ($ftype == TType::LST) {
-            $this->replicaLocations = array();
-            $_size7 = 0;
-            $_etype10 = 0;
-            $xfer += $input->readListBegin($_etype10, $_size7);
-            for ($_i11 = 0; $_i11 < $_size7; ++$_i11)
-            {
-              $elem12 = null;
-              $elem12 = new \Airavata\Model\Data\Replica\DataReplicaLocationModel();
-              $xfer += $elem12->read($input);
-              $this->replicaLocations []= $elem12;
-            }
-            $xfer += $input->readListEnd();
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
         default:
           $xfer += $input->skip($ftype);
           break;
@@ -345,92 +329,80 @@ class DataProductModel {
 
   public function write($output) {
     $xfer = 0;
-    $xfer += $output->writeStructBegin('DataProductModel');
+    $xfer += $output->writeStructBegin('DataReplicaLocationModel');
+    if ($this->replicaId !== null) {
+      $xfer += $output->writeFieldBegin('replicaId', TType::STRING, 1);
+      $xfer += $output->writeString($this->replicaId);
+      $xfer += $output->writeFieldEnd();
+    }
     if ($this->productUri !== null) {
-      $xfer += $output->writeFieldBegin('productUri', TType::STRING, 1);
+      $xfer += $output->writeFieldBegin('productUri', TType::STRING, 2);
       $xfer += $output->writeString($this->productUri);
       $xfer += $output->writeFieldEnd();
     }
-    if ($this->gatewayId !== null) {
-      $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 2);
-      $xfer += $output->writeString($this->gatewayId);
+    if ($this->replicaName !== null) {
+      $xfer += $output->writeFieldBegin('replicaName', TType::STRING, 3);
+      $xfer += $output->writeString($this->replicaName);
       $xfer += $output->writeFieldEnd();
     }
-    if ($this->parentProductUri !== null) {
-      $xfer += $output->writeFieldBegin('parentProductUri', TType::STRING, 3);
-      $xfer += $output->writeString($this->parentProductUri);
+    if ($this->replicaDescription !== null) {
+      $xfer += $output->writeFieldBegin('replicaDescription', TType::STRING, 4);
+      $xfer += $output->writeString($this->replicaDescription);
       $xfer += $output->writeFieldEnd();
     }
-    if ($this->productName !== null) {
-      $xfer += $output->writeFieldBegin('productName', TType::STRING, 4);
-      $xfer += $output->writeString($this->productName);
+    if ($this->creationTime !== null) {
+      $xfer += $output->writeFieldBegin('creationTime', TType::I64, 5);
+      $xfer += $output->writeI64($this->creationTime);
       $xfer += $output->writeFieldEnd();
     }
-    if ($this->productDescription !== null) {
-      $xfer += $output->writeFieldBegin('productDescription', TType::STRING, 5);
-      $xfer += $output->writeString($this->productDescription);
+    if ($this->lastModifiedTime !== null) {
+      $xfer += $output->writeFieldBegin('lastModifiedTime', TType::I64, 6);
+      $xfer += $output->writeI64($this->lastModifiedTime);
       $xfer += $output->writeFieldEnd();
     }
-    if ($this->ownerName !== null) {
-      $xfer += $output->writeFieldBegin('ownerName', TType::STRING, 6);
-      $xfer += $output->writeString($this->ownerName);
+    if ($this->validUntilTime !== null) {
+      $xfer += $output->writeFieldBegin('validUntilTime', TType::I64, 7);
+      $xfer += $output->writeI64($this->validUntilTime);
       $xfer += $output->writeFieldEnd();
     }
-    if ($this->dataProductType !== null) {
-      $xfer += $output->writeFieldBegin('dataProductType', TType::I32, 7);
-      $xfer += $output->writeI32($this->dataProductType);
+    if ($this->replicaLocationCategory !== null) {
+      $xfer += $output->writeFieldBegin('replicaLocationCategory', TType::I32, 8);
+      $xfer += $output->writeI32($this->replicaLocationCategory);
       $xfer += $output->writeFieldEnd();
     }
-    if ($this->productSize !== null) {
-      $xfer += $output->writeFieldBegin('productSize', TType::I32, 8);
-      $xfer += $output->writeI32($this->productSize);
+    if ($this->replicaPersistentType !== null) {
+      $xfer += $output->writeFieldBegin('replicaPersistentType', TType::I32, 9);
+      $xfer += $output->writeI32($this->replicaPersistentType);
       $xfer += $output->writeFieldEnd();
     }
-    if ($this->creationTime !== null) {
-      $xfer += $output->writeFieldBegin('creationTime', TType::I64, 9);
-      $xfer += $output->writeI64($this->creationTime);
+    if ($this->storageResourceId !== null) {
+      $xfer += $output->writeFieldBegin('storageResourceId', TType::STRING, 10);
+      $xfer += $output->writeString($this->storageResourceId);
       $xfer += $output->writeFieldEnd();
     }
-    if ($this->lastModifiedTime !== null) {
-      $xfer += $output->writeFieldBegin('lastModifiedTime', TType::I64, 10);
-      $xfer += $output->writeI64($this->lastModifiedTime);
+    if ($this->filePath !== null) {
+      $xfer += $output->writeFieldBegin('filePath', TType::STRING, 11);
+      $xfer += $output->writeString($this->filePath);
       $xfer += $output->writeFieldEnd();
     }
-    if ($this->productMetadata !== null) {
-      if (!is_array($this->productMetadata)) {
+    if ($this->replicaMetadata !== null) {
+      if (!is_array($this->replicaMetadata)) {
         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
       }
-      $xfer += $output->writeFieldBegin('productMetadata', TType::MAP, 11);
+      $xfer += $output->writeFieldBegin('replicaMetadata', TType::MAP, 12);
       {
-        $output->writeMapBegin(TType::STRING, TType::STRING, count($this->productMetadata));
+        $output->writeMapBegin(TType::STRING, TType::STRING, count($this->replicaMetadata));
         {
-          foreach ($this->productMetadata as $kiter13 => $viter14)
+          foreach ($this->replicaMetadata as $kiter7 => $viter8)
           {
-            $xfer += $output->writeString($kiter13);
-            $xfer += $output->writeString($viter14);
+            $xfer += $output->writeString($kiter7);
+            $xfer += $output->writeString($viter8);
           }
         }
         $output->writeMapEnd();
       }
       $xfer += $output->writeFieldEnd();
     }
-    if ($this->replicaLocations !== null) {
-      if (!is_array($this->replicaLocations)) {
-        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
-      }
-      $xfer += $output->writeFieldBegin('replicaLocations', TType::LST, 12);
-      {
-        $output->writeListBegin(TType::STRUCT, count($this->replicaLocations));
-        {
-          foreach ($this->replicaLocations as $iter15)
-          {
-            $xfer += $iter15->write($output);
-          }
-        }
-        $output->writeListEnd();
-      }
-      $xfer += $output->writeFieldEnd();
-    }
     $xfer += $output->writeFieldStop();
     $xfer += $output->writeStructEnd();
     return $xfer;
@@ -438,107 +410,103 @@ class DataProductModel {
 
 }
 
-class DataReplicaLocationModel {
+class DataProductModel {
   static $_TSPEC;
 
   /**
    * @var string
    */
-  public $replicaId = null;
+  public $productUri = null;
   /**
    * @var string
    */
-  public $productUri = null;
+  public $gatewayId = null;
   /**
    * @var string
    */
-  public $replicaName = null;
+  public $parentProductUri = null;
   /**
    * @var string
    */
-  public $replicaDescription = null;
+  public $productName = null;
   /**
-   * @var int
+   * @var string
    */
-  public $creationTime = null;
+  public $productDescription = null;
   /**
-   * @var int
+   * @var string
    */
-  public $lastModifiedTime = null;
+  public $ownerName = null;
   /**
    * @var int
    */
-  public $validUntilTime = null;
+  public $dataProductType = null;
   /**
    * @var int
    */
-  public $replicaLocationCategory = null;
+  public $productSize = null;
   /**
    * @var int
    */
-  public $replicaPersistentType = null;
+  public $creationTime = null;
   /**
-   * @var string
+   * @var int
    */
-  public $storageResourceId = null;
+  public $lastModifiedTime = null;
   /**
-   * @var string
+   * @var array
    */
-  public $filePath = null;
+  public $productMetadata = null;
   /**
-   * @var array
+   * @var \Airavata\Model\Data\Replica\DataReplicaLocationModel[]
    */
-  public $replicaMetadata = null;
+  public $replicaLocations = null;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
       self::$_TSPEC = array(
         1 => array(
-          'var' => 'replicaId',
+          'var' => 'productUri',
           'type' => TType::STRING,
           ),
         2 => array(
-          'var' => 'productUri',
+          'var' => 'gatewayId',
           'type' => TType::STRING,
           ),
         3 => array(
-          'var' => 'replicaName',
+          'var' => 'parentProductUri',
           'type' => TType::STRING,
           ),
         4 => array(
-          'var' => 'replicaDescription',
+          'var' => 'productName',
           'type' => TType::STRING,
           ),
         5 => array(
-          'var' => 'creationTime',
-          'type' => TType::I64,
+          'var' => 'productDescription',
+          'type' => TType::STRING,
           ),
         6 => array(
-          'var' => 'lastModifiedTime',
-          'type' => TType::I64,
+          'var' => 'ownerName',
+          'type' => TType::STRING,
           ),
         7 => array(
-          'var' => 'validUntilTime',
-          'type' => TType::I64,
+          'var' => 'dataProductType',
+          'type' => TType::I32,
           ),
         8 => array(
-          'var' => 'replicaLocationCategory',
+          'var' => 'productSize',
           'type' => TType::I32,
           ),
         9 => array(
-          'var' => 'replicaPersistentType',
-          'type' => TType::I32,
+          'var' => 'creationTime',
+          'type' => TType::I64,
           ),
         10 => array(
-          'var' => 'storageResourceId',
-          'type' => TType::STRING,
+          'var' => 'lastModifiedTime',
+          'type' => TType::I64,
           ),
         11 => array(
-          'var' => 'filePath',
-          'type' => TType::STRING,
-          ),
-        12 => array(
-          'var' => 'replicaMetadata',
+          'var' => 'productMetadata',
           'type' => TType::MAP,
           'ktype' => TType::STRING,
           'vtype' => TType::STRING,
@@ -549,50 +517,59 @@ class DataReplicaLocationModel {
             'type' => TType::STRING,
             ),
           ),
+        12 => array(
+          'var' => 'replicaLocations',
+          'type' => TType::LST,
+          'etype' => TType::STRUCT,
+          'elem' => array(
+            'type' => TType::STRUCT,
+            'class' => '\Airavata\Model\Data\Replica\DataReplicaLocationModel',
+            ),
+          ),
         );
     }
     if (is_array($vals)) {
-      if (isset($vals['replicaId'])) {
-        $this->replicaId = $vals['replicaId'];
-      }
       if (isset($vals['productUri'])) {
         $this->productUri = $vals['productUri'];
       }
-      if (isset($vals['replicaName'])) {
-        $this->replicaName = $vals['replicaName'];
+      if (isset($vals['gatewayId'])) {
+        $this->gatewayId = $vals['gatewayId'];
       }
-      if (isset($vals['replicaDescription'])) {
-        $this->replicaDescription = $vals['replicaDescription'];
+      if (isset($vals['parentProductUri'])) {
+        $this->parentProductUri = $vals['parentProductUri'];
       }
-      if (isset($vals['creationTime'])) {
-        $this->creationTime = $vals['creationTime'];
+      if (isset($vals['productName'])) {
+        $this->productName = $vals['productName'];
       }
-      if (isset($vals['lastModifiedTime'])) {
-        $this->lastModifiedTime = $vals['lastModifiedTime'];
+      if (isset($vals['productDescription'])) {
+        $this->productDescription = $vals['productDescription'];
       }
-      if (isset($vals['validUntilTime'])) {
-        $this->validUntilTime = $vals['validUntilTime'];
+      if (isset($vals['ownerName'])) {
+        $this->ownerName = $vals['ownerName'];
       }
-      if (isset($vals['replicaLocationCategory'])) {
-        $this->replicaLocationCategory = $vals['replicaLocationCategory'];
+      if (isset($vals['dataProductType'])) {
+        $this->dataProductType = $vals['dataProductType'];
       }
-      if (isset($vals['replicaPersistentType'])) {
-        $this->replicaPersistentType = $vals['replicaPersistentType'];
+      if (isset($vals['productSize'])) {
+        $this->productSize = $vals['productSize'];
       }
-      if (isset($vals['storageResourceId'])) {
-        $this->storageResourceId = $vals['storageResourceId'];
+      if (isset($vals['creationTime'])) {
+        $this->creationTime = $vals['creationTime'];
       }
-      if (isset($vals['filePath'])) {
-        $this->filePath = $vals['filePath'];
+      if (isset($vals['lastModifiedTime'])) {
+        $this->lastModifiedTime = $vals['lastModifiedTime'];
       }
-      if (isset($vals['replicaMetadata'])) {
-        $this->replicaMetadata = $vals['replicaMetadata'];
+      if (isset($vals['productMetadata'])) {
+        $this->productMetadata = $vals['productMetadata'];
+      }
+      if (isset($vals['replicaLocations'])) {
+        $this->replicaLocations = $vals['replicaLocations'];
       }
     }
   }
 
   public function getName() {
-    return 'DataReplicaLocationModel';
+    return 'DataProductModel';
   }
 
   public function read($input)
@@ -612,97 +589,108 @@ class DataReplicaLocationModel {
       {
         case 1:
           if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->replicaId);
+            $xfer += $input->readString($this->productUri);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
         case 2:
           if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->productUri);
+            $xfer += $input->readString($this->gatewayId);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
         case 3:
           if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->replicaName);
+            $xfer += $input->readString($this->parentProductUri);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
         case 4:
           if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->replicaDescription);
+            $xfer += $input->readString($this->productName);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
         case 5:
-          if ($ftype == TType::I64) {
-            $xfer += $input->readI64($this->creationTime);
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->productDescription);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
         case 6:
-          if ($ftype == TType::I64) {
-            $xfer += $input->readI64($this->lastModifiedTime);
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->ownerName);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
         case 7:
-          if ($ftype == TType::I64) {
-            $xfer += $input->readI64($this->validUntilTime);
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->dataProductType);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
         case 8:
           if ($ftype == TType::I32) {
-            $xfer += $input->readI32($this->replicaLocationCategory);
+            $xfer += $input->readI32($this->productSize);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
         case 9:
-          if ($ftype == TType::I32) {
-            $xfer += $input->readI32($this->replicaPersistentType);
+          if ($ftype == TType::I64) {
+            $xfer += $input->readI64($this->creationTime);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
         case 10:
-          if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->storageResourceId);
+          if ($ftype == TType::I64) {
+            $xfer += $input->readI64($this->lastModifiedTime);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
         case 11:
-          if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->filePath);
+          if ($ftype == TType::MAP) {
+            $this->productMetadata = array();
+            $_size9 = 0;
+            $_ktype10 = 0;
+            $_vtype11 = 0;
+            $xfer += $input->readMapBegin($_ktype10, $_vtype11, $_size9);
+            for ($_i13 = 0; $_i13 < $_size9; ++$_i13)
+            {
+              $key14 = '';
+              $val15 = '';
+              $xfer += $input->readString($key14);
+              $xfer += $input->readString($val15);
+              $this->productMetadata[$key14] = $val15;
+            }
+            $xfer += $input->readMapEnd();
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
         case 12:
-          if ($ftype == TType::MAP) {
-            $this->replicaMetadata = array();
+          if ($ftype == TType::LST) {
+            $this->replicaLocations = array();
             $_size16 = 0;
-            $_ktype17 = 0;
-            $_vtype18 = 0;
-            $xfer += $input->readMapBegin($_ktype17, $_vtype18, $_size16);
+            $_etype19 = 0;
+            $xfer += $input->readListBegin($_etype19, $_size16);
             for ($_i20 = 0; $_i20 < $_size16; ++$_i20)
             {
-              $key21 = '';
-              $val22 = '';
-              $xfer += $input->readString($key21);
-              $xfer += $input->readString($val22);
-              $this->replicaMetadata[$key21] = $val22;
+              $elem21 = null;
+              $elem21 = new \Airavata\Model\Data\Replica\DataReplicaLocationModel();
+              $xfer += $elem21->read($input);
+              $this->replicaLocations []= $elem21;
             }
-            $xfer += $input->readMapEnd();
+            $xfer += $input->readListEnd();
           } else {
             $xfer += $input->skip($ftype);
           }
@@ -719,80 +707,92 @@ class DataReplicaLocationModel {
 
   public function write($output) {
     $xfer = 0;
-    $xfer += $output->writeStructBegin('DataReplicaLocationModel');
-    if ($this->replicaId !== null) {
-      $xfer += $output->writeFieldBegin('replicaId', TType::STRING, 1);
-      $xfer += $output->writeString($this->replicaId);
-      $xfer += $output->writeFieldEnd();
-    }
+    $xfer += $output->writeStructBegin('DataProductModel');
     if ($this->productUri !== null) {
-      $xfer += $output->writeFieldBegin('productUri', TType::STRING, 2);
+      $xfer += $output->writeFieldBegin('productUri', TType::STRING, 1);
       $xfer += $output->writeString($this->productUri);
       $xfer += $output->writeFieldEnd();
     }
-    if ($this->replicaName !== null) {
-      $xfer += $output->writeFieldBegin('replicaName', TType::STRING, 3);
-      $xfer += $output->writeString($this->replicaName);
+    if ($this->gatewayId !== null) {
+      $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 2);
+      $xfer += $output->writeString($this->gatewayId);
       $xfer += $output->writeFieldEnd();
     }
-    if ($this->replicaDescription !== null) {
-      $xfer += $output->writeFieldBegin('replicaDescription', TType::STRING, 4);
-      $xfer += $output->writeString($this->replicaDescription);
+    if ($this->parentProductUri !== null) {
+      $xfer += $output->writeFieldBegin('parentProductUri', TType::STRING, 3);
+      $xfer += $output->writeString($this->parentProductUri);
       $xfer += $output->writeFieldEnd();
     }
-    if ($this->creationTime !== null) {
-      $xfer += $output->writeFieldBegin('creationTime', TType::I64, 5);
-      $xfer += $output->writeI64($this->creationTime);
+    if ($this->productName !== null) {
+      $xfer += $output->writeFieldBegin('productName', TType::STRING, 4);
+      $xfer += $output->writeString($this->productName);
       $xfer += $output->writeFieldEnd();
     }
-    if ($this->lastModifiedTime !== null) {
-      $xfer += $output->writeFieldBegin('lastModifiedTime', TType::I64, 6);
-      $xfer += $output->writeI64($this->lastModifiedTime);
+    if ($this->productDescription !== null) {
+      $xfer += $output->writeFieldBegin('productDescription', TType::STRING, 5);
+      $xfer += $output->writeString($this->productDescription);
       $xfer += $output->writeFieldEnd();
     }
-    if ($this->validUntilTime !== null) {
-      $xfer += $output->writeFieldBegin('validUntilTime', TType::I64, 7);
-      $xfer += $output->writeI64($this->validUntilTime);
+    if ($this->ownerName !== null) {
+      $xfer += $output->writeFieldBegin('ownerName', TType::STRING, 6);
+      $xfer += $output->writeString($this->ownerName);
       $xfer += $output->writeFieldEnd();
     }
-    if ($this->replicaLocationCategory !== null) {
-      $xfer += $output->writeFieldBegin('replicaLocationCategory', TType::I32, 8);
-      $xfer += $output->writeI32($this->replicaLocationCategory);
+    if ($this->dataProductType !== null) {
+      $xfer += $output->writeFieldBegin('dataProductType', TType::I32, 7);
+      $xfer += $output->writeI32($this->dataProductType);
       $xfer += $output->writeFieldEnd();
     }
-    if ($this->replicaPersistentType !== null) {
-      $xfer += $output->writeFieldBegin('replicaPersistentType', TType::I32, 9);
-      $xfer += $output->writeI32($this->replicaPersistentType);
+    if ($this->productSize !== null) {
+      $xfer += $output->writeFieldBegin('productSize', TType::I32, 8);
+      $xfer += $output->writeI32($this->productSize);
       $xfer += $output->writeFieldEnd();
     }
-    if ($this->storageResourceId !== null) {
-      $xfer += $output->writeFieldBegin('storageResourceId', TType::STRING, 10);
-      $xfer += $output->writeString($this->storageResourceId);
+    if ($this->creationTime !== null) {
+      $xfer += $output->writeFieldBegin('creationTime', TType::I64, 9);
+      $xfer += $output->writeI64($this->creationTime);
       $xfer += $output->writeFieldEnd();
     }
-    if ($this->filePath !== null) {
-      $xfer += $output->writeFieldBegin('filePath', TType::STRING, 11);
-      $xfer += $output->writeString($this->filePath);
+    if ($this->lastModifiedTime !== null) {
+      $xfer += $output->writeFieldBegin('lastModifiedTime', TType::I64, 10);
+      $xfer += $output->writeI64($this->lastModifiedTime);
       $xfer += $output->writeFieldEnd();
     }
-    if ($this->replicaMetadata !== null) {
-      if (!is_array($this->replicaMetadata)) {
+    if ($this->productMetadata !== null) {
+      if (!is_array($this->productMetadata)) {
         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
       }
-      $xfer += $output->writeFieldBegin('replicaMetadata', TType::MAP, 12);
+      $xfer += $output->writeFieldBegin('productMetadata', TType::MAP, 11);
       {
-        $output->writeMapBegin(TType::STRING, TType::STRING, count($this->replicaMetadata));
+        $output->writeMapBegin(TType::STRING, TType::STRING, count($this->productMetadata));
         {
-          foreach ($this->replicaMetadata as $kiter23 => $viter24)
+          foreach ($this->productMetadata as $kiter22 => $viter23)
           {
-            $xfer += $output->writeString($kiter23);
-            $xfer += $output->writeString($viter24);
+            $xfer += $output->writeString($kiter22);
+            $xfer += $output->writeString($viter23);
           }
         }
         $output->writeMapEnd();
       }
       $xfer += $output->writeFieldEnd();
     }
+    if ($this->replicaLocations !== null) {
+      if (!is_array($this->replicaLocations)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('replicaLocations', TType::LST, 12);
+      {
+        $output->writeListBegin(TType::STRUCT, count($this->replicaLocations));
+        {
+          foreach ($this->replicaLocations as $iter24)
+          {
+            $xfer += $iter24->write($output);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
     $xfer += $output->writeFieldStop();
     $xfer += $output->writeStructEnd();
     return $xfer;


[50/50] [abbrv] airavata git commit: merging with develop

Posted by sm...@apache.org.
merging with develop


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

Branch: refs/heads/registry-refactoring
Commit: a98d7fc35a9c656e33971920f15f634a23cf40a6
Parents: e43905c e988672
Author: Suresh Marru <sm...@apache.org>
Authored: Tue May 16 11:48:44 2017 -0400
Committer: Suresh Marru <sm...@apache.org>
Committed: Tue May 16 11:48:44 2017 -0400

----------------------------------------------------------------------
 README                                          |      3 -
 airavata-api/airavata-api-server/pom.xml        |     63 +-
 .../airavata/api/server/AiravataAPIServer.java  |     12 +-
 .../api/server/AiravataDerbyServer.java         |      4 +-
 .../server/handler/AiravataServerHandler.java   |   2573 +-
 .../AiravataExperimentStatusUpdator.java        |      6 +-
 .../listener/ExperimentStatusChangedEvent.java  |     19 +
 .../security/AiravataSecurityManager.java       |     43 -
 .../DefaultAiravataSecurityManager.java         |    273 -
 .../api/server/security/IdentityContext.java    |     44 -
 .../airavata/api/server/security/Main.java      |    179 -
 .../server/security/SecurityManagerFactory.java |     60 -
 .../server/security/authzcache/AuthzCache.java  |     61 -
 .../security/authzcache/AuthzCacheEntry.java    |     63 -
 .../security/authzcache/AuthzCacheIndex.java    |     90 -
 .../security/authzcache/AuthzCacheManager.java  |     80 -
 .../authzcache/AuthzCacheManagerFactory.java    |     60 -
 .../security/authzcache/AuthzCachedStatus.java  |     34 -
 .../authzcache/DefaultAuthzCacheManager.java    |    106 -
 .../security/interceptor/SecurityCheck.java     |     36 -
 .../interceptor/SecurityInterceptor.java        |     83 -
 .../security/interceptor/SecurityModule.java    |     43 -
 .../security/oauth/DefaultOAuthClient.java      |     91 -
 .../server/security/xacml/DefaultPAPClient.java |    125 -
 .../server/security/xacml/DefaultXACMLPEP.java  |    133 -
 .../airavata/api/server/util/Constants.java     |      4 +-
 .../api/server/util/ThriftClientPool.java       |    176 +
 airavata-api/airavata-api-stubs/pom.xml         |     38 +-
 .../java/org/apache/airavata/api/Airavata.java  | 112728 +++++++++++-----
 .../airavata/api/airavata_apiConstants.java     |      2 +-
 .../api/client/AiravataClientFactory.java       |      4 +-
 .../airavata-cpp-sdk/pom.xml                    |     27 +-
 .../src/main/assembly/bin-assembly.xml          |     29 +-
 .../main/resources/lib/airavata/Airavata.cpp    |  68426 ++++++----
 .../src/main/resources/lib/airavata/Airavata.h  |   6687 +-
 .../lib/airavata/Airavata_server.skeleton.cpp   |    591 +-
 .../lib/airavata/airavata_api_constants.cpp     |      2 +-
 .../resources/lib/airavata/airavata_api_types.h |      3 +
 .../lib/airavata/airavata_data_models_types.h   |      3 +
 .../lib/airavata/airavata_errors_types.cpp      |    205 +-
 .../lib/airavata/airavata_errors_types.h        |     44 +
 .../application_deployment_model_types.cpp      |    110 +
 .../application_deployment_model_types.h        |     44 +-
 .../airavata/application_io_models_types.cpp    |     22 +
 .../lib/airavata/application_io_models_types.h  |     12 +-
 .../airavata/compute_resource_model_types.cpp   |    216 +-
 .../lib/airavata/compute_resource_model_types.h |     94 +-
 .../credential_store_data_models_constants.cpp  |     36 +
 .../credential_store_data_models_constants.h    |     42 +
 .../credential_store_data_models_types.cpp      |   1149 +
 .../credential_store_data_models_types.h        |    494 +
 .../airavata/credential_summary_constants.cpp   |     34 +
 .../lib/airavata/credential_summary_constants.h |     41 +
 .../lib/airavata/credential_summary_types.cpp   |    234 +
 .../lib/airavata/credential_summary_types.h     |    122 +
 .../lib/airavata/db_event_model_constants.cpp   |     34 +
 .../lib/airavata/db_event_model_constants.h     |     41 +
 .../lib/airavata/db_event_model_types.cpp       |    627 +
 .../lib/airavata/db_event_model_types.h         |    318 +
 .../lib/airavata/experiment_model_types.cpp     |     22 +
 .../lib/airavata/experiment_model_types.h       |     12 +-
 .../lib/airavata/group_manager_model_types.cpp  |      8 +-
 .../lib/airavata/group_manager_model_types.h    |      3 +-
 .../resources/lib/airavata/job_model_types.cpp  |     30 +-
 .../resources/lib/airavata/job_model_types.h    |     12 +-
 .../lib/airavata/messaging_events_types.cpp     |      8 +-
 .../lib/airavata/messaging_events_types.h       |      3 +-
 .../lib/airavata/process_model_types.cpp        |     82 +-
 .../lib/airavata/process_model_types.h          |     32 +-
 .../airavata/replica_catalog_models_types.cpp   |    726 +-
 .../lib/airavata/replica_catalog_models_types.h |    274 +-
 .../lib/airavata/status_models_types.cpp        |    201 +
 .../lib/airavata/status_models_types.h          |     67 +
 .../resources/lib/airavata/task_model_types.cpp |     60 +-
 .../resources/lib/airavata/task_model_types.h   |     18 +-
 .../airavata/tenant_profile_model_constants.cpp |     34 +
 .../airavata/tenant_profile_model_constants.h   |     41 +
 .../lib/airavata/tenant_profile_model_types.cpp |    541 +
 .../lib/airavata/tenant_profile_model_types.h   |    244 +
 .../lib/airavata/user_profile_model_types.cpp   |    239 +-
 .../lib/airavata/user_profile_model_types.h     |     59 +-
 .../user_resource_profile_model_constants.cpp   |     34 +
 .../user_resource_profile_model_constants.h     |     41 +
 .../user_resource_profile_model_types.cpp       |    759 +
 .../user_resource_profile_model_types.h         |    334 +
 .../airavata-php-sdk/pom.xml                    |     27 +-
 .../src/main/assembly/bin-assembly.xml          |     29 +-
 .../conf/airavata-client-properties.ini         |     47 +-
 .../resources/conf/app-catalog-identifiers.ini  |     40 +-
 .../resources/lib/Airavata/API/Airavata.php     |  25101 +++-
 .../resources/lib/Airavata/API/Error/Types.php  |     82 +
 .../main/resources/lib/Airavata/API/Types.php   |      2 +-
 .../Model/AppCatalog/AppDeployment/Types.php    |    115 +
 .../Model/AppCatalog/ComputeResource/Types.php  |    204 +-
 .../AppCatalog/UserResourceProfile/Types.php    |    788 +
 .../lib/Airavata/Model/Application/Io/Types.php |     23 +
 .../Airavata/Model/Credential/Store/Types.php   |   1099 +
 .../lib/Airavata/Model/Data/Product/Types.php   |    879 -
 .../lib/Airavata/Model/Data/Replica/Types.php   |    572 +-
 .../lib/Airavata/Model/Data/Resource/Types.php  |    854 -
 .../lib/Airavata/Model/Dbevent/Types.php        |    573 +
 .../lib/Airavata/Model/Experiment/Types.php     |     23 +
 .../lib/Airavata/Model/Group/Types.php          |      2 +
 .../Airavata/Model/Messaging/Event/Types.php    |      2 +
 .../lib/Airavata/Model/Process/Types.php        |     67 +-
 .../lib/Airavata/Model/Status/Types.php         |    190 +
 .../resources/lib/Airavata/Model/Task/Types.php |     44 +-
 .../lib/Airavata/Model/Tenant/Types.php         |    528 +
 .../resources/lib/Airavata/Model/User/Types.php |    279 +-
 .../resources/lib/Airavata/Model/job/Types.php  |     22 +-
 .../src/main/resources/lib/Types.php            |     13 +
 .../resources/php-cli-samples/getAPIVersion.php |      3 +-
 .../php-cli-samples/getAiravataClient.php       |      8 +-
 .../resources/php-cli-samples/isUserExists.php  |     53 +
 .../airavata-python-sdk/pom.xml                 |     27 +-
 .../src/main/assembly/bin-assembly.xml          |     29 +-
 .../lib/apache/airavata/api/Airavata-remote     |    206 +-
 .../lib/apache/airavata/api/Airavata.py         |  24916 ++--
 .../lib/apache/airavata/api/constants.py        |      2 +-
 .../lib/apache/airavata/api/error/ttypes.py     |     76 +
 .../resources/lib/apache/airavata/api/ttypes.py |      3 +
 .../model/appcatalog/appdeployment/ttypes.py    |     67 +-
 .../model/appcatalog/computeresource/ttypes.py  |    140 +-
 .../appcatalog/credentialsummary/__init__.py    |      1 +
 .../appcatalog/credentialsummary/constants.py   |     11 +
 .../appcatalog/credentialsummary/ttypes.py      |    154 +
 .../appcatalog/userresourceprofile/__init__.py  |      1 +
 .../appcatalog/userresourceprofile/constants.py |     11 +
 .../appcatalog/userresourceprofile/ttypes.py    |    538 +
 .../airavata/model/application/io/ttypes.py     |     15 +-
 .../airavata/model/data/replica/ttypes.py       |    430 +-
 .../apache/airavata/model/dbevent/__init__.py   |      1 +
 .../apache/airavata/model/dbevent/constants.py  |     11 +
 .../lib/apache/airavata/model/dbevent/ttypes.py |    494 +
 .../apache/airavata/model/experiment/ttypes.py  |     15 +-
 .../lib/apache/airavata/model/group/ttypes.py   |      3 +
 .../lib/apache/airavata/model/job/ttypes.py     |     22 +-
 .../airavata/model/messaging/event/ttypes.py    |      3 +
 .../lib/apache/airavata/model/process/ttypes.py |     55 +-
 .../lib/apache/airavata/model/status/ttypes.py  |    142 +
 .../lib/apache/airavata/model/task/ttypes.py    |     46 +-
 .../apache/airavata/model/tenant/__init__.py    |      1 +
 .../apache/airavata/model/tenant/constants.py   |     11 +
 .../lib/apache/airavata/model/tenant/ttypes.py  |    352 +
 .../lib/apache/airavata/model/ttypes.py         |      3 +
 .../lib/apache/airavata/model/user/ttypes.py    |    231 +-
 .../credential_store_data_models/__init__.py    |      1 +
 .../credential_store_data_models/constants.py   |     12 +
 .../lib/credential_store_data_models/ttypes.py  |    786 +
 .../main/resources/samples/AiravataClient.py    |    306 +
 .../resources/samples/testAiravataClient.py     |     32 +
 .../java-client-samples/pom.xml                 |     26 +-
 .../client/samples/CancelExperiments.java       |      4 +-
 .../client/samples/CreateLaunchBES.java         |      3 +-
 .../client/samples/CreateLaunchExperiment.java  |      6 +-
 .../samples/CreateLaunchExperimentUS3.java      |      2 +-
 .../client/samples/ReplicaCatalogSample.java    |      5 +-
 .../client/samples/SampleEchoExperiment.java    |      4 +-
 .../client/OAuthAppRegisteringClient.java       |      3 +-
 .../client/OAuthTokenRetrievalClient.java       |      3 +-
 .../client/secure/client/Properties.java        |      3 +-
 .../client/secure/client/SecureClient.java      |      3 +-
 .../tools/RegisterOGCEUS3Application.java       |      6 +-
 .../tools/RegisterSampleApplications.java       |      5 +-
 .../tools/RegisterSampleApplicationsUtils.java  |     19 +
 .../client/tools/RegisterUS3Application.java    |      6 +-
 airavata-api/airavata-client-sdks/pom.xml       |     26 +-
 airavata-api/airavata-data-models/pom.xml       |     31 +-
 .../ApplicationDeploymentDescription.java       |    514 +-
 .../application_deployment_modelConstants.java  |     28 +-
 .../application_interface_modelConstants.java   |     28 +-
 .../appcatalog/computeresource/BatchQueue.java  |    406 +-
 .../ComputeResourceDescription.java             |    404 +-
 .../computeresource/LOCALSubmission.java        |     53 +-
 .../appcatalog/computeresource/MonitorMode.java |     16 +-
 .../computeresource/ResourceJobManagerType.java |      8 +-
 .../compute_resource_modelConstants.java        |     28 +-
 .../gatewayprofile/DataStoragePreference.java   |     28 +-
 .../UserComputeResourcePreference.java          |   1381 +
 .../UserResourceProfile.java                    |   1277 +
 .../UserStoragePreference.java                  |    728 +
 .../application/io/InputDataObjectType.java     |    107 +-
 .../credential/store/CertificateCredential.java |   1142 +
 .../model/credential/store/CommunityUser.java   |    608 +
 .../credential/store/CredentialOwnerType.java   |     62 +
 .../credential/store/CredentialSummary.java     |   1040 +
 .../credential/store/PasswordCredential.java    |   1028 +
 .../model/credential/store/SSHCredential.java   |   1265 +
 .../credential/store/SSHCredentialSummary.java  |    929 +
 .../model/credential/store/SummaryType.java     |     69 +
 .../credential_store_data_modelsConstants.java  |     58 +
 .../model/data/replica/DataProductModel.java    |     84 +-
 .../data/replica/DataReplicaLocationModel.java  |     44 +-
 .../apache/airavata/model/dbevent/CrudType.java |     68 +
 .../airavata/model/dbevent/DBEventMessage.java  |    622 +
 .../model/dbevent/DBEventMessageContext.java    |    387 +
 .../model/dbevent/DBEventPublisher.java         |    411 +
 .../model/dbevent/DBEventPublisherContext.java  |    641 +
 .../model/dbevent/DBEventSubscriber.java        |    406 +
 .../airavata/model/dbevent/DBEventType.java     |     62 +
 .../airavata/model/dbevent/EntityType.java      |     80 +
 .../model/error/DuplicateEntryException.java    |    413 +
 .../experiment/UserConfigurationDataModel.java  |    107 +-
 .../model/group/ResourcePermissionType.java     |      5 +-
 .../org/apache/airavata/model/job/JobModel.java |    103 +-
 .../model/messaging/event/MessageType.java      |      5 +-
 .../model/messaging/event/TaskSubmitEvent.java  |     28 +-
 .../messaging/event/TaskTerminateEvent.java     |     28 +-
 .../event/messaging_eventsConstants.java        |     28 +-
 .../airavata/model/process/ProcessModel.java    |    284 +-
 .../airavata/model/status/QueueStatusModel.java |    891 +
 .../apache/airavata/model/task/TaskModel.java   |    178 +-
 .../apache/airavata/model/tenant/Tenant.java    |   2322 +
 .../model/tenant/TenantApprovalStatus.java      |     77 +
 .../airavata/model/user/NSFDemographics.java    |    149 +-
 .../apache/airavata/model/user/UserProfile.java |    882 +-
 .../model/workflow_data_modelConstants.java     |     28 +-
 airavata-api/airavata-model-utils/pom.xml       |     36 +-
 .../airavata/model/util/AppDeploymentUtil.java  |      4 +-
 .../airavata/model/util/AppInterfaceUtil.java   |      4 +-
 .../model/util/ComputeResourceUtil.java         |      4 +-
 .../airavata/model/util/ExecutionType.java      |      4 +-
 .../model/util/ExperimentModelUtil.java         |      5 +-
 .../airavata/model/util/ProjectModelUtil.java   |      2 +-
 airavata-api/pom.xml                            |     26 +-
 airavata-services/pom.xml                       |     70 +
 .../iam-admin-services-core/pom.xml             |     62 +
 .../core/impl/TenantManagementKeycloakImpl.java |    351 +
 .../interfaces/TenantManagementInterface.java   |    101 +
 .../services/core/tests/SetupNewGateway.java    |    117 +
 airavata-services/profile-service/pom.xml       |     39 +
 .../java-client-samples/pom.xml                 |     37 +
 .../client/samples/TenantProfileSample.java     |     61 +
 .../client/samples/UserProfileSample.java       |    124 +
 .../client/util/ProfileServiceClientUtil.java   |     47 +
 .../resources/profile-client-sample.properties  |     29 +
 .../profile-service-client-sdks/pom.xml         |     34 +
 .../profile-service-commons/pom.xml             |    117 +
 .../repositories/AbstractRepository.java        |    106 +
 .../commons/tenant/entities/GatewayEntity.java  |    254 +
 .../user/entities/NSFDemographicsEntity.java    |    108 +
 .../user/entities/UserProfileEntity.java        |    334 +
 .../profile/commons/utils/Committer.java        |     27 +
 .../profile/commons/utils/JPAConstants.java     |     34 +
 .../service/profile/commons/utils/JPAUtils.java |     79 +
 .../commons/utils/ObjectMapperSingleton.java    |     39 +
 .../profile/commons/utils/QueryConstants.java   |     23 +
 .../service/profile/commons/utils/Utils.java    |    147 +
 .../src/main/resources/META-INF/persistence.xml |     35 +
 .../profile-service-server/pom.xml              |     59 +
 .../handlers/IamAdminServicesHandler.java       |    131 +
 .../handlers/TenantProfileServiceHandler.java   |    194 +
 .../handlers/UserProfileServiceHandler.java     |    173 +
 .../profile/server/ProfileServiceServer.java    |    181 +
 .../profile/utils/ProfileServiceUtils.java      |     70 +
 .../profile-service-stubs/pom.xml               |     37 +
 .../client/ProfileServiceClientFactory.java     |     63 +
 .../admin/services/cpi/IamAdminServices.java    |   8240 ++
 .../exception/IamAdminServicesException.java    |    407 +
 .../cpi/iam_admin_services_cpiConstants.java    |     59 +
 .../tenant/cpi/TenantProfileService.java        |   8359 ++
 .../TenantProfileServiceException.java          |    407 +
 .../tenant/cpi/profile_tenant_cpiConstants.java |     59 +
 .../profile/user/cpi/UserProfileService.java    |   7894 ++
 .../exception/UserProfileServiceException.java  |    407 +
 .../user/cpi/profile_user_cpiConstants.java     |     59 +
 .../profile-service/profile-tenant-core/pom.xml |     40 +
 .../repositories/TenantProfileRepository.java   |     71 +
 .../profile-service/profile-user-core/pom.xml   |     85 +
 .../UserProfileRegistryException.java           |     28 +
 .../repositories/UserProfileRepository.java     |     91 +
 .../src/main/resources/user_profile_catalog.sql |     84 +
 .../repositories/WorkspaceRepositoryTest.java   |    176 +
 airavata-services/services-security/pom.xml     |     92 +
 .../security/AiravataSecurityManager.java       |     43 +
 .../DefaultAiravataSecurityManager.java         |    273 +
 .../service/security/IdentityContext.java       |     44 +
 .../security/KeyCloakSecurityManager.java       |    289 +
 .../apache/airavata/service/security/Main.java  |    179 +
 .../security/SecurityManagerFactory.java        |     60 +
 .../service/security/authzcache/AuthzCache.java |     61 +
 .../security/authzcache/AuthzCacheEntry.java    |     63 +
 .../security/authzcache/AuthzCacheIndex.java    |     90 +
 .../security/authzcache/AuthzCacheManager.java  |     80 +
 .../authzcache/AuthzCacheManagerFactory.java    |     60 +
 .../security/authzcache/AuthzCachedStatus.java  |     34 +
 .../authzcache/DefaultAuthzCacheManager.java    |    106 +
 .../security/interceptor/SecurityCheck.java     |     37 +
 .../interceptor/SecurityInterceptor.java        |     83 +
 .../security/interceptor/SecurityModule.java    |     43 +
 .../security/oauth/DefaultOAuthClient.java      |     91 +
 .../security/xacml/DefaultPAPClient.java        |    125 +
 .../service/security/xacml/DefaultXACMLPEP.java |    133 +
 apache-license-header.txt                       |     17 +
 dev-tools/ansible/.gitignore                    |      2 +
 dev-tools/ansible/NOTE                          |      5 +
 dev-tools/ansible/README.md                     |     36 +
 dev-tools/ansible/airavata-iam-setup.yml        |      8 +
 dev-tools/ansible/airavata.yml                  |     59 +
 dev-tools/ansible/ansible.cfg                   |      2 +
 dev-tools/ansible/dev_airavata_deploy.yml       |     34 +
 dev-tools/ansible/dev_pga_deploy.yml            |     37 +
 .../inventories/airavata-iam/group_vars/all.yml |     16 +
 .../ansible/inventories/airavata-iam/hosts      |      8 +
 .../inventories/develop/group_vars/.gitignore   |      1 +
 .../inventories/develop/group_vars/all.yml      |    123 +
 .../develop/group_vars/dev-airavata.yml         |     22 +
 .../inventories/develop/group_vars/dev-pga.yml  |     23 +
 .../develop/group_vars/local.yml.template       |      4 +
 dev-tools/ansible/inventories/develop/hosts     |     35 +
 .../geogateway-dev/group_vars/pga/vars.yml      |     53 +
 .../geogateway-dev/group_vars/pga/vault.yml     |     18 +
 .../ansible/inventories/geogateway-dev/hosts    |      2 +
 .../dreg-production/files/pga-ssl-vhost.conf.j2 |     31 +
 .../dreg-production/group_vars/pga/vars.yml     |     67 +
 .../dreg-production/group_vars/pga/vault.yml    |     18 +
 .../inventories/scigap/dreg-production/hosts    |     21 +
 .../scigap/production/files/airavata.jks        |     76 +
 .../scigap/production/files/airavata_sym.jks    |     30 +
 .../production/files/client_truststore.jks      |    126 +
 .../scigap/production/group_vars/all/vars.yml   |    126 +
 .../scigap/production/group_vars/all/vault.yml  |     20 +
 .../ansible/inventories/scigap/production/hosts |     20 +
 .../production/pga_config/brandeis/vars.yml     |     51 +
 .../production/pga_config/brandeis/vault.yml    |     18 +
 .../production/pga_config/cinetvtech/vars.yml   |     55 +
 .../production/pga_config/cinetvtech/vault.yml  |     18 +
 .../cornell-dnasequence/pga-ssl-vhost.conf.j2   |     31 +
 .../pga_config/cornell-dnasequence/vars.yml     |     63 +
 .../pga_config/cornell-dnasequence/vault.yml    |     18 +
 .../production/pga_config/georgiastate/vars.yml |     55 +
 .../pga_config/georgiastate/vault.yml           |     18 +
 .../production/pga_config/iugateway/vars.yml    |     55 +
 .../production/pga_config/iugateway/vault.yml   |     18 +
 .../scigap/production/pga_config/lsu/vars.yml   |     51 +
 .../scigap/production/pga_config/lsu/vault.yml  |     18 +
 .../scigap/production/pga_config/nsg/vars.yml   |     56 +
 .../scigap/production/pga_config/nsg/vault.yml  |     18 +
 .../production/pga_config/oiitandy/vars.yml     |     55 +
 .../production/pga_config/oiitandy/vault.yml    |     18 +
 .../scigap/production/pga_config/oscer/vars.yml |     55 +
 .../production/pga_config/oscer/vault.yml       |     18 +
 .../production/pga_config/phasta/vars.yml       |     55 +
 .../production/pga_config/phasta/vault.yml      |     18 +
 .../production/pga_config/scigap/vars.yml       |     56 +
 .../production/pga_config/scigap/vault.yml      |     18 +
 .../production/pga_config/seagrid/vars.yml      |     56 +
 .../production/pga_config/seagrid/vault.yml     |     18 +
 .../production/pga_config/simvascular/vars.yml  |     55 +
 .../production/pga_config/simvascular/vault.yml |     18 +
 .../production/pga_config/southdakota/vars.yml  |     55 +
 .../production/pga_config/southdakota/vault.yml |     18 +
 .../pga_config/southernillinois/vars.yml        |     55 +
 .../pga_config/southernillinois/vault.yml       |     18 +
 .../production/pga_config/testdrive/vars.yml    |     56 +
 .../production/pga_config/testdrive/vault.yml   |     18 +
 .../production/pga_config/ultrascan/vars.yml    |     64 +
 .../production/pga_config/ultrascan/vault.yml   |     18 +
 .../scigap/production/pga_config/utah/vars.yml  |     55 +
 .../scigap/production/pga_config/utah/vault.yml |     18 +
 .../testing-0.17-scigap/group_vars/all/vars.yml |    111 +
 .../group_vars/all/vault.yml                    |      7 +
 .../testing-0.17-scigap/group_vars/pga/vars.yml |     52 +
 .../group_vars/pga/vault.yml                    |     18 +
 .../inventories/testing-0.17-scigap/hosts       |     23 +
 .../group_vars/all/vars.yml                     |    111 +
 .../group_vars/all/vault.yml                    |      7 +
 .../group_vars/pga/vars.yml                     |     51 +
 .../group_vars/pga/vault.yml                    |     18 +
 .../inventories/testing-0.17-testdrive/hosts    |     23 +
 .../inventories/testing-0.17/files/airavata.jks |     76 +
 .../testing-0.17/files/airavata_sym.jks         |     30 +
 .../testing-0.17/files/client_truststore.jks    |    271 +
 .../testing-0.17/group_vars/all/vars.yml        |    115 +
 .../testing-0.17/group_vars/all/vault.yml       |     13 +
 .../testing-0.17/group_vars/pga/vars.yml        |     54 +
 .../testing-0.17/group_vars/pga/vault.yml       |     18 +
 .../ansible/inventories/testing-0.17/hosts      |     23 +
 dev-tools/ansible/local_airavata_deploy.yml     |     29 +
 dev-tools/ansible/pga-scigap-prod.yml           |     41 +
 dev-tools/ansible/pga-single-vhost.yml          |     37 +
 dev-tools/ansible/pga.yml                       |     28 +
 .../ansible/roles/airavata_build/tasks/main.yml |     39 +
 .../roles/airavata_deploy/defaults/main.yml     |     22 +
 .../roles/airavata_deploy/handlers/main.yml     |     48 +
 .../roles/airavata_deploy/tasks/main.yml        |    124 +
 .../ansible/roles/api-orch/defaults/main.yml    |     27 +
 .../files/mysql-connector-java-5.1.37-bin.jar   |    Bin 0 -> 985603 bytes
 .../ansible/roles/api-orch/handlers/main.yml    |     34 +
 dev-tools/ansible/roles/api-orch/tasks/main.yml |    105 +
 .../templates/airavata-server.properties.j2     |    330 +
 .../api-orch/templates/gfac-config.yaml.j2      |    117 +
 .../roles/api-orch/templates/logback.xml.j2     |     55 +
 .../ansible/roles/common/defaults/main.yml      |     23 +
 .../ansible/roles/common/files/airavata.jks     |    Bin 0 -> 2289 bytes
 .../ansible/roles/common/files/airavata_sym.jks |    Bin 0 -> 501 bytes
 dev-tools/ansible/roles/common/tasks/main.yml   |     75 +
 dev-tools/ansible/roles/common/vars/main.yml    |     24 +
 .../ansible/roles/database/defaults/main.yml    |     21 +
 .../database/files/MariaDB_yum_CentOS_7.repo    |      7 +
 .../ansible/roles/database/files/mysql-tmp.te   |      9 +
 .../ansible/roles/database/handlers/main.yml    |     34 +
 dev-tools/ansible/roles/database/tasks/main.yml |    137 +
 .../roles/database/tasks/secure_install.yml     |     43 +
 .../ansible/roles/database/templates/my.cnf.j2  |      4 +
 dev-tools/ansible/roles/database/vars/main.yml  |     44 +
 .../ansible/roles/env_setup/tasks/main.yml      |     56 +
 .../ansible/roles/env_setup/tasks/redhat.yml    |     32 +
 dev-tools/ansible/roles/gfac/defaults/main.yml  |     21 +
 .../files/mysql-connector-java-5.1.37-bin.jar   |    Bin 0 -> 985603 bytes
 dev-tools/ansible/roles/gfac/handlers/main.yml  |     28 +
 dev-tools/ansible/roles/gfac/tasks/main.yml     |     97 +
 .../templates/airavata-server.properties.j2     |    297 +
 .../roles/gfac/templates/gfac-config.yaml.j2    |    119 +
 .../ansible/roles/gfac/templates/logback.xml.j2 |     55 +
 dev-tools/ansible/roles/java/tasks/main.yml     |     47 +
 dev-tools/ansible/roles/java/vars/main.yml      |     35 +
 dev-tools/ansible/roles/keycloak/README.md      |     14 +
 .../ansible/roles/keycloak/defaults/main.yml    |     12 +
 .../ansible/roles/keycloak/files/README.md      |     36 +
 dev-tools/ansible/roles/keycloak/tasks/main.yml |    180 +
 .../templates/keycloak-hacluster-init.j2        |     49 +
 .../templates/keycloak-standalone-init.j2       |     46 +
 .../ansible/roles/keycloak/templates/module.j2  |     12 +
 .../keycloak/templates/standalone-ha.xml.j2     |    533 +
 .../roles/keycloak/templates/standalone.xml.j2  |    493 +
 dev-tools/ansible/roles/pga/defaults/main.yml   |     77 +
 dev-tools/ansible/roles/pga/files/default.conf  |      5 +
 dev-tools/ansible/roles/pga/handlers/main.yml   |     33 +
 .../roles/pga/tasks/install_deps_CentOS_7.yml   |     54 +
 .../roles/pga/tasks/install_deps_Ubuntu_14.yml  |     68 +
 .../roles/pga/tasks/install_deps_Ubuntu_16.yml  |     81 +
 dev-tools/ansible/roles/pga/tasks/main.yml      |    155 +
 .../roles/pga/templates/pga-ssl-vhost.conf.j2   |     29 +
 .../roles/pga/templates/pga-vhost.conf.j2       |     14 +
 .../roles/pga/templates/pga_config.php.j2       |    256 +
 .../ansible/roles/pga_deploy/handlers/main.yml  |     23 +
 .../ansible/roles/pga_deploy/tasks/main.yml     |     27 +
 .../ansible/roles/rabbitmq/handlers/main.yml    |     33 +
 dev-tools/ansible/roles/rabbitmq/tasks/main.yml |     80 +
 dev-tools/ansible/roles/rabbitmq/vars/main.yml  |     22 +
 .../files/mysql-connector-java-5.1.37-bin.jar   |    Bin 0 -> 985603 bytes
 dev-tools/ansible/roles/registry/tasks/main.yml |     79 +
 .../templates/airavata-server.properties.j2     |    301 +
 dev-tools/ansible/roles/wso2_is/tasks/main.yml  |     61 +
 .../roles/wso2_is/templates/carbon.xml.j2       |    688 +
 dev-tools/ansible/roles/wso2_is/vars/main.yml   |     38 +
 .../ansible/roles/zookeeper/handlers/main.yml   |     32 +
 .../ansible/roles/zookeeper/tasks/main.yml      |     54 +
 .../roles/zookeeper/templates/zoo.cfg.j2        |     28 +
 .../zookeeper/templates/zookeeper.service.j2    |     15 +
 dev-tools/ansible/roles/zookeeper/vars/main.yml |     37 +
 dev-tools/ansible/site.yml                      |     96 +
 modules/amqpwstunnel/python/amqpwstunnel.py     |    583 -
 modules/amqpwstunnel/python/config.json         |     10 -
 modules/amqpwstunnel/wstest.html                |    157 -
 modules/cloud/ansible-playbooks/README.md       |    119 +
 .../cloud/ansible-playbooks/group_vars/all.yml  |     39 +
 modules/cloud/ansible-playbooks/hosts           |     13 +
 .../ansible-playbooks/roles/ec2/tasks/main.yml  |     50 +
 .../roles/ec2/vars/aws-credential.yml           |     23 +
 .../ansible-playbooks/roles/ec2/vars/main.yml   |     28 +
 .../ansible-playbooks/roles/java/tasks/main.yml |     41 +
 .../ansible-playbooks/roles/java/vars/main.yml  |     35 +
 .../roles/mesos-master/tasks/backup_main.yml    |    137 +
 .../roles/mesos-master/tasks/main.yml           |    106 +
 .../roles/mesos-master/templates/quorum.j2      |      1 +
 .../roles/mesos-master/templates/zk.j2          |      1 +
 .../roles/mesos-slave/tasks/main.yml            |     86 +
 .../roles/mesos-slave/templates/zk.j2           |      1 +
 .../roles/openstack/tasks/main.yml              |     48 +
 .../roles/openstack/vars/main.yml               |     30 +
 .../openstack/vars/openstack-credentials.yml    |     30 +
 .../ansible-playbooks/roles/test/tasks/main.yml |     23 +
 .../roles/zookeeper/handlers/main.yml           |     35 +
 .../roles/zookeeper/tasks/main.yml              |    118 +
 .../roles/zookeeper/templates/myid.j2           |      1 +
 .../roles/zookeeper/templates/zoo.cfg.j2        |     32 +
 .../roles/zookeeper/vars/main.yml               |     35 +
 modules/cloud/ansible-playbooks/site.yml        |     44 +
 modules/cloud/aurora-client/README.md           |     49 +
 modules/cloud/aurora-client/pom.xml             |     83 +
 .../client/AuroraSchedulerClientFactory.java    |     98 +
 .../cloud/aurora/client/AuroraThriftClient.java |    335 +
 .../aurora/client/bean/GetJobsResponseBean.java |     63 +
 .../cloud/aurora/client/bean/IdentityBean.java  |     58 +
 .../cloud/aurora/client/bean/JobConfigBean.java |    236 +
 .../client/bean/JobDetailsResponseBean.java     |     69 +
 .../cloud/aurora/client/bean/JobKeyBean.java    |    104 +
 .../client/bean/PendingJobReasonBean.java       |     70 +
 .../cloud/aurora/client/bean/ProcessBean.java   |    193 +
 .../cloud/aurora/client/bean/ResourceBean.java  |    104 +
 .../cloud/aurora/client/bean/ResponseBean.java  |     79 +
 .../aurora/client/bean/ServerInfoBean.java      |     87 +
 .../aurora/client/bean/TaskConfigBean.java      |    136 +
 .../cloud/aurora/client/sdk/AppcImage.java      |    549 +
 .../cloud/aurora/client/sdk/AssignedTask.java   |   1084 +
 .../cloud/aurora/client/sdk/Attribute.java      |    574 +
 .../cloud/aurora/client/sdk/AuroraAdmin.java    |  14400 ++
 .../client/sdk/AuroraSchedulerManager.java      |  13414 ++
 .../cloud/aurora/client/sdk/ConfigGroup.java    |    581 +
 .../cloud/aurora/client/sdk/ConfigRewrite.java  |    389 +
 .../cloud/aurora/client/sdk/ConfigSummary.java  |    581 +
 .../aurora/client/sdk/ConfigSummaryResult.java  |    422 +
 .../cloud/aurora/client/sdk/Constraint.java     |    539 +
 .../cloud/aurora/client/sdk/Container.java      |    392 +
 .../aurora/client/sdk/CronCollisionPolicy.java  |     80 +
 .../aurora/client/sdk/DockerContainer.java      |    606 +
 .../cloud/aurora/client/sdk/DockerImage.java    |    549 +
 .../aurora/client/sdk/DockerParameter.java      |    549 +
 .../aurora/client/sdk/DrainHostsResult.java     |    471 +
 .../aurora/client/sdk/EndMaintenanceResult.java |    471 +
 .../cloud/aurora/client/sdk/ExecutorConfig.java |    546 +
 .../sdk/ExplicitReconciliationSettings.java     |    412 +
 .../client/sdk/GetJobUpdateDetailsResult.java   |    584 +
 .../client/sdk/GetJobUpdateDiffResult.java      |    996 +
 .../client/sdk/GetJobUpdateSummariesResult.java |    474 +
 .../cloud/aurora/client/sdk/GetJobsResult.java  |    471 +
 .../client/sdk/GetPendingReasonResult.java      |    471 +
 .../cloud/aurora/client/sdk/GetQuotaResult.java |    931 +
 .../aurora/client/sdk/GetTierConfigResult.java  |    603 +
 .../cloud/aurora/client/sdk/HostAttributes.java |    810 +
 .../cloud/aurora/client/sdk/HostStatus.java     |    538 +
 .../airavata/cloud/aurora/client/sdk/Hosts.java |    466 +
 .../cloud/aurora/client/sdk/Identity.java       |    417 +
 .../airavata/cloud/aurora/client/sdk/Image.java |    392 +
 .../client/sdk/InstanceConfigRewrite.java       |    678 +
 .../cloud/aurora/client/sdk/InstanceKey.java    |    552 +
 .../aurora/client/sdk/InstanceTaskConfig.java   |    608 +
 .../aurora/client/sdk/JobConfigRewrite.java     |    556 +
 .../aurora/client/sdk/JobConfiguration.java     |   1049 +
 .../client/sdk/JobInstanceUpdateEvent.java      |    666 +
 .../cloud/aurora/client/sdk/JobKey.java         |    666 +
 .../cloud/aurora/client/sdk/JobStats.java       |    760 +
 .../cloud/aurora/client/sdk/JobSummary.java     |    649 +
 .../aurora/client/sdk/JobSummaryResult.java     |    471 +
 .../cloud/aurora/client/sdk/JobUpdate.java      |    559 +
 .../aurora/client/sdk/JobUpdateAction.java      |    101 +
 .../aurora/client/sdk/JobUpdateDetails.java     |    776 +
 .../cloud/aurora/client/sdk/JobUpdateEvent.java |    798 +
 .../client/sdk/JobUpdateInstructions.java       |    730 +
 .../cloud/aurora/client/sdk/JobUpdateKey.java   |    554 +
 .../aurora/client/sdk/JobUpdatePulseStatus.java |     74 +
 .../cloud/aurora/client/sdk/JobUpdateQuery.java |   1189 +
 .../aurora/client/sdk/JobUpdateRequest.java     |    848 +
 .../aurora/client/sdk/JobUpdateSettings.java    |   1285 +
 .../cloud/aurora/client/sdk/JobUpdateState.java |    666 +
 .../aurora/client/sdk/JobUpdateStatus.java      |    129 +
 .../aurora/client/sdk/JobUpdateSummary.java     |    850 +
 .../aurora/client/sdk/LimitConstraint.java      |    419 +
 .../aurora/client/sdk/ListBackupsResult.java    |    466 +
 .../airavata/cloud/aurora/client/sdk/Lock.java  |    903 +
 .../cloud/aurora/client/sdk/LockKey.java        |    331 +
 .../aurora/client/sdk/MaintenanceMode.java      |     70 +
 .../client/sdk/MaintenanceStatusResult.java     |    471 +
 .../cloud/aurora/client/sdk/MesosContainer.java |    432 +
 .../aurora/client/sdk/MesosFetcherURI.java      |    661 +
 .../cloud/aurora/client/sdk/Metadata.java       |    525 +
 .../airavata/cloud/aurora/client/sdk/Mode.java  |     73 +
 .../cloud/aurora/client/sdk/Package.java        |    625 +
 .../cloud/aurora/client/sdk/PendingReason.java  |    522 +
 .../aurora/client/sdk/PopulateJobResult.java    |    422 +
 .../aurora/client/sdk/PulseJobUpdateResult.java |    436 +
 .../aurora/client/sdk/QueryRecoveryResult.java  |    471 +
 .../airavata/cloud/aurora/client/sdk/Range.java |    517 +
 .../aurora/client/sdk/ReadOnlyScheduler.java    |  11291 ++
 .../cloud/aurora/client/sdk/Resource.java       |    561 +
 .../aurora/client/sdk/ResourceAggregate.java    |    820 +
 .../cloud/aurora/client/sdk/Response.java       |    840 +
 .../cloud/aurora/client/sdk/ResponseCode.java   |     85 +
 .../cloud/aurora/client/sdk/ResponseDetail.java |    417 +
 .../cloud/aurora/client/sdk/Result.java         |   1487 +
 .../client/sdk/RewriteConfigsRequest.java       |    471 +
 .../cloud/aurora/client/sdk/RoleSummary.java    |    619 +
 .../aurora/client/sdk/RoleSummaryResult.java    |    471 +
 .../cloud/aurora/client/sdk/ScheduleStatus.java |    143 +
 .../aurora/client/sdk/ScheduleStatusResult.java |    471 +
 .../cloud/aurora/client/sdk/ScheduledTask.java  |    973 +
 .../cloud/aurora/client/sdk/ServerInfo.java     |    537 +
 .../aurora/client/sdk/StartJobUpdateResult.java |    562 +
 .../client/sdk/StartMaintenanceResult.java      |    471 +
 .../cloud/aurora/client/sdk/TaskConfig.java     |   2769 +
 .../cloud/aurora/client/sdk/TaskConstraint.java |    392 +
 .../cloud/aurora/client/sdk/TaskEvent.java      |    794 +
 .../cloud/aurora/client/sdk/TaskQuery.java      |   1611 +
 .../cloud/aurora/client/sdk/TierConfig.java     |    601 +
 .../aurora/client/sdk/ValueConstraint.java      |    585 +
 .../cloud/aurora/client/sdk/Volume.java         |    674 +
 .../aurora/client/sdk/aurora_apiConstants.java  |    124 +
 .../cloud/aurora/sample/AuroraClientSample.java |    187 +
 .../aurora/util/AuroraThriftClientUtil.java     |    424 +
 .../airavata/cloud/aurora/util/Constants.java   |     47 +
 .../cloud/aurora/util/ResponseCodeEnum.java     |     95 +
 .../cloud/aurora/util/ResponseResultType.java   |     47 +
 .../src/main/resources/aurora-api.thrift        |   1238 +
 .../main/resources/aurora-scheduler.properties  |     11 +
 .../resources/executor-config-template.json     |     48 +
 modules/cloud/cloud-provisioning/pom.xml        |     43 +-
 .../airavata/cloud/intf/CloudInterface.java     |      4 +-
 .../cloud/intf/impl/OpenstackIntfImpl.java      |      4 +-
 .../cloud/openstack/OS4JClientProvider.java     |      4 +-
 .../apache/airavata/cloud/util/CloudRef.java    |      4 +-
 .../apache/airavata/cloud/util/Constants.java   |      6 +-
 .../org/apache/airavata/cloud/util/IPType.java  |      4 +-
 .../airavata/cloud/util/OpenstackIntfUtil.java  |      4 +-
 .../airavata/cloud/test/CloudIntfTest.java      |     25 +-
 modules/cloud/pom.xml                           |     57 +-
 .../org/apache/airavata/cloud/CloudMain.java    |      3 +-
 modules/cluster-monitoring/pom.xml              |     93 +
 .../monitoring/ClusterStatusMonitorJob.java     |    285 +
 .../ClusterStatusMonitorJobScheduler.java       |     69 +
 modules/commons/pom.xml                         |     58 +-
 .../airavata/common/utils/BuildConstant.java    |     24 +
 .../airavata/common/context/RequestContext.java |      4 +-
 .../common/context/WorkflowContext.java         |      4 +-
 .../AiravataConfigurationException.java         |      4 +-
 .../common/exception/AiravataException.java     |      4 +-
 .../exception/AiravataStartupException.java     |      4 +-
 .../exception/ApplicationSettingsException.java |      4 +-
 .../airavata/common/logging/Exception.java      |     65 +
 .../airavata/common/logging/LogEntry.java       |    131 +
 .../airavata/common/logging/MDCConstants.java   |     29 +
 .../apache/airavata/common/logging/MDCUtil.java |     51 +
 .../airavata/common/logging/ServerId.java       |     67 +
 .../common/logging/kafka/KafkaAppender.java     |    114 +
 .../airavata/common/utils/AiravataJobState.java |      5 +-
 .../airavata/common/utils/AiravataUtils.java    |      6 +-
 .../airavata/common/utils/AiravataZKUtils.java  |     18 +-
 .../common/utils/ApplicationSettings.java       |     74 +-
 .../airavata/common/utils/AwsMetadata.java      |    136 +
 .../airavata/common/utils/BrowserLauncher.java  |      4 +-
 .../airavata/common/utils/ClientSettings.java   |      4 +-
 .../apache/airavata/common/utils/Constants.java |      4 +-
 .../common/utils/DBEventManagerConstants.java   |     99 +
 .../airavata/common/utils/DBEventService.java   |     42 +
 .../apache/airavata/common/utils/DBUtil.java    |      4 +-
 .../common/utils/DatabaseTestCases.java         |      4 +-
 .../utils/DefaultKeyStorePasswordCallback.java  |      4 +-
 .../apache/airavata/common/utils/DerbyUtil.java |      4 +-
 .../airavata/common/utils/ExecutionMode.java    |      4 +-
 .../apache/airavata/common/utils/IOUtil.java    |      4 +-
 .../apache/airavata/common/utils/IServer.java   |      4 +-
 .../apache/airavata/common/utils/JSONUtil.java  |      4 +-
 .../common/utils/KeyStorePasswordCallback.java  |     19 +
 .../common/utils/LocalEventPublisher.java       |      5 +-
 .../airavata/common/utils/NameValidator.java    |      4 +-
 .../org/apache/airavata/common/utils/Pair.java  |      4 +-
 .../airavata/common/utils/SecurityUtil.java     |      4 +-
 .../airavata/common/utils/ServerSettings.java   |    108 +-
 .../airavata/common/utils/ServiceUtils.java     |     19 +
 .../airavata/common/utils/StringUtil.java       |      4 +-
 .../apache/airavata/common/utils/SwingUtil.java |      4 +-
 .../airavata/common/utils/ThriftUtils.java      |      4 +-
 .../apache/airavata/common/utils/Version.java   |      4 +-
 .../airavata/common/utils/WSConstants.java      |      4 +-
 .../apache/airavata/common/utils/WSDLUtil.java  |      4 +-
 .../apache/airavata/common/utils/XMLUtil.java   |    586 -
 .../airavata/common/utils/XmlFormatter.java     |     82 -
 .../airavata/common/utils/ZkConstants.java      |      3 +-
 .../listener/AbstractActivityListener.java      |      4 +-
 .../listener/AbstractStateChangeRequest.java    |      4 +-
 .../common/utils/listener/PublisherMessage.java |      4 +-
 .../common/utils/ApplicationSettingsTest.java   |      4 +-
 .../airavata/common/utils/SecurityUtilTest.java |      4 +-
 .../airavata/common/utils/XMLUtilTest.java      |     56 -
 modules/configuration/client/pom.xml            |     26 +-
 modules/configuration/pom.xml                   |     26 +-
 modules/configuration/server/pom.xml            |     26 +-
 .../src/main/resources/CLOUD_Groovy.template    |      7 +
 .../src/main/resources/FORK_Groovy.template     |     13 +
 .../server/src/main/resources/ForkTemplate.xslt |     24 -
 .../server/src/main/resources/LSFTemplate.xslt  |     92 -
 .../src/main/resources/LSF_Groovy.template      |     30 +
 .../server/src/main/resources/PBSTemplate.xslt  |    107 -
 .../src/main/resources/PBS_Groovy.template      |     35 +
 .../src/main/resources/SLURMTemplate.xslt       |    102 -
 .../src/main/resources/SLURM_Groovy.template    |     28 +
 .../server/src/main/resources/UGETemplate.xslt  |     78 -
 .../src/main/resources/UGE_Groovy.template      |     29 +
 .../resources/airavata-default-xacml-policy.xml |     20 +-
 .../main/resources/airavata-server.properties   |    101 +-
 .../src/main/resources/client_truststore.jks    |    Bin 2423 -> 5312 bytes
 .../server/src/main/resources/gfac-config.yaml  |     13 +-
 .../main/resources/grouper.hibernate.properties |     10 -
 .../server/src/main/resources/log4j.properties  |     48 -
 .../server/src/main/resources/logback.xml       |     55 +
 .../server/src/main/resources/sources.xml       |    875 -
 .../credential-store-service/pom.xml            |     52 +-
 .../credential/store/credential/AuditInfo.java  |      4 +-
 .../store/credential/CommunityUser.java         |      4 +-
 .../credential/store/credential/Credential.java |     21 +-
 .../store/credential/CredentialOwnerType.java   |     47 +
 .../impl/certificate/CertificateAuditInfo.java  |      6 +-
 .../impl/certificate/CertificateCredential.java |      4 +-
 .../impl/password/PasswordCredential.java       |      4 +-
 .../credential/impl/ssh/SSHCredential.java      |      4 +-
 .../impl/ssh/SSHCredentialGenerator.java        |      4 +-
 .../store/notifier/CredentialStoreNotifier.java |     19 +
 .../store/notifier/NotificationMessage.java     |      4 +-
 .../store/notifier/NotifierBootstrap.java       |      4 +-
 .../notifier/impl/EmailNotificationMessage.java |      4 +-
 .../store/notifier/impl/EmailNotifier.java      |      4 +-
 .../impl/EmailNotifierConfiguration.java        |      4 +-
 .../store/server/CredentialStoreServer.java     |      3 +-
 .../server/CredentialStoreServerHandler.java    |    142 +-
 .../store/servlet/CredentialBootstrapper.java   |      4 +-
 .../servlet/CredentialStoreCallbackServlet.java |      4 +-
 .../servlet/CredentialStoreStartServlet.java    |      4 +-
 .../store/store/CredentialReader.java           |      4 +-
 .../store/store/CredentialReaderFactory.java    |      4 +-
 .../store/store/CredentialStoreException.java   |      4 +-
 .../store/store/CredentialWriter.java           |      4 +-
 .../store/impl/CertificateCredentialWriter.java |      4 +-
 .../store/store/impl/CredentialReaderImpl.java  |      4 +-
 .../store/store/impl/SSHCredentialWriter.java   |      4 +-
 .../store/store/impl/db/CommunityUserDAO.java   |      4 +-
 .../store/store/impl/db/CredentialsDAO.java     |     30 +-
 .../store/store/impl/db/ParentDAO.java          |      4 +-
 .../store/store/impl/util/ConnectionPool.java   |    381 +
 .../impl/util/CredentialStoreInitUtil.java      |    154 +
 .../store/store/impl/util/DatabaseCreator.java  |    352 +
 .../store/store/impl/util/JdbcStorage.java      |    174 +
 .../store/util/ConfigurationReader.java         |      4 +-
 .../store/util/CredentialStoreConstants.java    |      4 +-
 .../credential/store/util/PrivateKeyStore.java  |      4 +-
 .../credential/store/util/TokenGenerator.java   |      4 +-
 .../airavata/credential/store/util/Utility.java |      4 +-
 .../cpi/SSHSummaryTest/SSHSummaryTest.java      |    192 +
 .../store/notifier/impl/EmailNotifierTest.java  |      4 +-
 .../store/impl/db/CommunityUserDAOTest.java     |      4 +-
 .../store/store/impl/db/CredentialsDAOTest.java |     18 +-
 .../store/store/impl/db/SSHCredentialTest.java  |      6 +-
 .../store/util/ConfigurationReaderTest.java     |      4 +-
 .../store/util/TokenGeneratorTest.java          |      4 +-
 .../credential-store-stubs/pom.xml              |     55 +-
 .../client/CredentialStoreClientFactory.java    |      4 +-
 .../credential/store/client/TestSSLClient.java  |      9 +-
 .../store/cpi/CredentialStoreService.java       |   4660 +-
 .../cpi/credential_store_cpiConstants.java      |     19 +
 .../store/datamodel/APICredential.java          |    723 -
 .../store/datamodel/CertificateCredential.java  |   1149 -
 .../store/datamodel/CommunityUser.java          |    609 -
 .../store/datamodel/PasswordCredential.java     |   1032 -
 .../store/datamodel/SSHCredential.java          |   1044 -
 .../credential_store_data_modelsConstants.java  |     57 -
 .../exception/CredentialStoreException.java     |     21 +-
 modules/credential-store/pom.xml                |     26 +-
 modules/db-event-manager/pom.xml                |     41 +
 .../db/event/manager/DBEventManagerRunner.java  |     78 +
 .../messaging/DBEventManagerException.java      |     42 +
 .../DBEventManagerMessagingFactory.java         |     76 +
 .../messaging/impl/DBEventMessageHandler.java   |    112 +
 .../db/event/manager/utils/Constants.java       |     33 +
 .../manager/utils/DbEventManagerZkUtils.java    |    126 +
 .../db-event-manager/src/test/java/Test.java    |     25 +
 modules/distribution/pom.xml                    |    330 +-
 .../src/main/assembly/bin-assembly.xml          |     51 +-
 .../src/main/assembly/src-assembly.xml          |     37 +-
 .../main/resources/bin/airavata-server-start.sh |     17 +-
 .../gfac-application-specific-handlers/pom.xml  |     31 +-
 .../gaussian/handler/GaussianHandler.java       |     19 +
 modules/gfac/gfac-bes/pom.xml                   |     29 +-
 .../gfac/bes/handlers/AbstractSMSHandler.java   |     19 +
 .../gfac/bes/handlers/SMSByteIOInHandler.java   |     19 +
 .../gfac/bes/handlers/SMSByteIOOutHandler.java  |     19 +
 .../gfac/bes/handlers/SMSDirectoryHandler.java  |     19 +
 .../gfac/bes/provider/impl/BESProvider.java     |      8 +-
 .../bes/security/UNICORESecurityContext.java    |     19 +
 .../gfac/bes/security/X509SecurityContext.java  |      5 +-
 .../airavata/gfac/bes/utils/ActivityInfo.java   |     19 +
 .../gfac/bes/utils/ApplicationProcessor.java    |      4 +-
 .../airavata/gfac/bes/utils/BESConstants.java   |     19 +
 .../gfac/bes/utils/DataTransferrer.java         |      4 +-
 .../airavata/gfac/bes/utils/FileDownloader.java |      4 +-
 .../gfac/bes/utils/FileTransferBase.java        |      4 +-
 .../airavata/gfac/bes/utils/FileUploader.java   |      4 +-
 .../airavata/gfac/bes/utils/JSDLGenerator.java  |      3 +-
 .../airavata/gfac/bes/utils/JSDLUtils.java      |      4 +-
 .../apache/airavata/gfac/bes/utils/Mode.java    |      4 +-
 .../airavata/gfac/bes/utils/MyProxyLogon.java   |     19 +
 .../airavata/gfac/bes/utils/OSRequirement.java  |      4 +-
 .../apache/airavata/gfac/bes/utils/OSType.java  |      4 +-
 .../gfac/bes/utils/ProcessorRequirement.java    |      6 +-
 .../airavata/gfac/bes/utils/RangeValueType.java |      4 +-
 .../gfac/bes/utils/ResourceProcessor.java       |      4 +-
 .../airavata/gfac/bes/utils/SPMDProcessor.java  |      4 +-
 .../airavata/gfac/bes/utils/SPMDVariations.java |      4 +-
 .../airavata/gfac/bes/utils/SecurityUtils.java  |     19 +
 .../airavata/gfac/bes/utils/StorageCreator.java |      4 +-
 .../gfac/bes/utils/UASDataStagingProcessor.java |      4 +-
 .../airavata/gfac/bes/utils/URIUtils.java       |      4 +-
 .../impl/JSDLGeneratorTestWithMyProxyAuth.java  |      6 +-
 modules/gfac/gfac-client/pom.xml                |     31 +-
 .../airavata/gfac/client/GFACInstance.java      |      5 +-
 .../airavata/gfac/client/GFacClientFactory.java |      5 +-
 .../apache/airavata/gfac/cpi/GfacService.java   |     21 +-
 .../airavata/gfac/cpi/gfac_cpiConstants.java    |     19 +
 modules/gfac/gfac-core/pom.xml                  |     34 +-
 .../apache/airavata/gfac/core/GFacEngine.java   |     12 +-
 .../apache/airavata/gfac/core/GFacUtils.java    |    372 +-
 .../apache/airavata/gfac/core/GroovyMap.java    |    111 +
 .../airavata/gfac/core/JobDescriptor.java       |    489 -
 .../org/apache/airavata/gfac/core/Script.java   |     79 +
 .../core/cluster/AbstractRemoteCluster.java     |     12 +-
 .../gfac/core/cluster/OutputParser.java         |     19 +-
 .../gfac/core/cluster/RemoteCluster.java        |     43 +-
 .../airavata/gfac/core/cluster/ServerInfo.java  |     26 +-
 .../gfac/core/context/JobExecutionContext.java  |      2 +-
 .../gfac/core/context/ProcessContext.java       |    366 +-
 .../airavata/gfac/core/context/TaskContext.java |      2 +-
 .../gfac/core/monitor/JobStatusResult.java      |      9 +
 .../gfac/core/x2012/x12/AfterAnyList.java       |    185 -
 .../gfac/core/x2012/x12/AfterOKList.java        |    185 -
 .../gfac/core/x2012/x12/ExportProperties.java   |    202 -
 .../airavata/gfac/core/x2012/x12/InputList.java |    185 -
 .../core/x2012/x12/JobDescriptorDocument.java   |    131 -
 .../gfac/core/x2012/x12/ModuleLoadCommands.java |    185 -
 .../airavata/gfac/core/x2012/x12/PbsParams.java |   1500 -
 .../gfac/core/x2012/x12/PostJobCommands.java    |    185 -
 .../gfac/core/x2012/x12/PreJobCommands.java     |    185 -
 .../core/x2012/x12/impl/AfterAnyListImpl.java   |    254 -
 .../core/x2012/x12/impl/AfterOKListImpl.java    |    254 -
 .../x2012/x12/impl/ExportPropertiesImpl.java    |    252 -
 .../gfac/core/x2012/x12/impl/InputListImpl.java |    254 -
 .../x12/impl/JobDescriptorDocumentImpl.java     |     96 -
 .../x2012/x12/impl/ModuleLoadCommandsImpl.java  |    254 -
 .../gfac/core/x2012/x12/impl/PbsParamsImpl.java |   4381 -
 .../x2012/x12/impl/PostJobCommandsImpl.java     |    254 -
 .../core/x2012/x12/impl/PreJobCommandsImpl.java |    254 -
 .../src/main/resources/PBSJobDescriptor.xsd     |    116 -
 .../src/main/resources/gsissh-schemas.xsdconfig |     14 -
 .../airavata/gfac/core/GFacUtilsTest.java       |     22 +
 modules/gfac/gfac-impl/pom.xml                  |     31 +-
 .../java/com/jcraft/jsch/ExtendedSession.java   |      4 +-
 .../com/jcraft/jsch/GSISSHIdentityFile.java     |      4 +-
 .../jcraft/jsch/GSISSHIdentityRepository.java   |      4 +-
 .../java/com/jcraft/jsch/GSSContextX509.java    |      4 +-
 .../UserAuthGSSAPIWithMICGSSCredentials.java    |      4 +-
 .../apache/airavata/gfac/impl/AuroraUtils.java  |     29 +
 .../airavata/gfac/impl/BESRemoteCluster.java    |     55 +-
 .../gfac/impl/DefaultHostScheduler.java         |      3 +-
 .../org/apache/airavata/gfac/impl/Factory.java  |    312 +-
 .../airavata/gfac/impl/GFacEngineImpl.java      |    232 +-
 .../apache/airavata/gfac/impl/GFacWorker.java   |     12 +-
 .../airavata/gfac/impl/HPCRemoteCluster.java    |    147 +-
 .../apache/airavata/gfac/impl/HTTPUtils.java    |     26 +
 .../airavata/gfac/impl/LocalCommandOutput.java  |      3 +-
 .../airavata/gfac/impl/LocalRemoteCluster.java  |    108 +-
 .../org/apache/airavata/gfac/impl/SSHUtils.java |     27 +-
 .../airavata/gfac/impl/StandardOutReader.java   |      5 +-
 .../job/AiravataCustomCommandOutputParser.java  |     57 +
 .../gfac/impl/job/ForkJobConfiguration.java     |      6 +-
 .../gfac/impl/job/ForkOutputParser.java         |     20 +-
 .../apache/airavata/gfac/impl/job/JobUtil.java  |      3 +-
 .../gfac/impl/job/LSFJobConfiguration.java      |      5 +-
 .../airavata/gfac/impl/job/LSFOutputParser.java |     32 +-
 .../gfac/impl/job/PBSJobConfiguration.java      |      5 +-
 .../airavata/gfac/impl/job/PBSOutputParser.java |     98 +-
 .../gfac/impl/job/SlurmJobConfiguration.java    |      5 +-
 .../gfac/impl/job/SlurmOutputParser.java        |     75 +-
 .../gfac/impl/job/UGEJobConfiguration.java      |      5 +-
 .../airavata/gfac/impl/job/UGEOutputParser.java |     97 +-
 .../airavata/gfac/impl/task/ArchiveTask.java    |     44 +-
 .../gfac/impl/task/AuroraJobSubmissionTask.java |    159 +
 .../gfac/impl/task/BESJobSubmissionTask.java    |     49 +-
 .../airavata/gfac/impl/task/DataStageTask.java  |      6 +-
 .../gfac/impl/task/DataStreamingTask.java       |      9 +-
 .../impl/task/DefaultJobSubmissionTask.java     |     43 +-
 .../gfac/impl/task/EnvironmentSetupTask.java    |      6 +-
 .../gfac/impl/task/ForkJobSubmissionTask.java   |     21 +-
 .../gfac/impl/task/LocalJobSubmissionTask.java  |    156 +-
 .../gfac/impl/task/SCPDataStageTask.java        |     84 +-
 .../airavata/gfac/impl/task/TaskUtils.java      |      6 +-
 .../gfac/impl/task/utils/StreamData.java        |     21 +-
 .../gfac/impl/task/utils/bes/ActivityInfo.java  |     19 +
 .../task/utils/bes/ApplicationProcessor.java    |      4 +-
 .../gfac/impl/task/utils/bes/BESConstants.java  |     19 +
 .../impl/task/utils/bes/DataTransferrer.java    |      4 +-
 .../impl/task/utils/bes/FileDownloader.java     |      4 +-
 .../impl/task/utils/bes/FileTransferBase.java   |      4 +-
 .../gfac/impl/task/utils/bes/FileUploader.java  |      4 +-
 .../gfac/impl/task/utils/bes/JSDLGenerator.java |      8 +-
 .../gfac/impl/task/utils/bes/JSDLUtils.java     |      4 +-
 .../airavata/gfac/impl/task/utils/bes/Mode.java |      4 +-
 .../gfac/impl/task/utils/bes/MyProxyLogon.java  |     19 +
 .../gfac/impl/task/utils/bes/OSType.java        |      4 +-
 .../task/utils/bes/ProcessorRequirement.java    |      6 +-
 .../impl/task/utils/bes/RangeValueType.java     |      4 +-
 .../impl/task/utils/bes/ResourceProcessor.java  |      4 +-
 .../task/utils/bes/ResourceRequirement.java     |      4 +-
 .../impl/task/utils/bes/SPMDVariations.java     |      4 +-
 .../gfac/impl/task/utils/bes/SecurityUtils.java |     19 +
 .../impl/task/utils/bes/StorageCreator.java     |      4 +-
 .../task/utils/bes/UASDataStagingProcessor.java |      4 +-
 .../task/utils/bes/UNICORESecurityContext.java  |     31 +-
 .../gfac/impl/task/utils/bes/URIUtils.java      |      4 +-
 .../task/utils/bes/X509SecurityContext.java     |      5 +-
 .../impl/watcher/CancelRequestWatcherImpl.java  |      3 +-
 .../watcher/RedeliveryRequestWatcherImpl.java   |      3 +-
 .../handler/LocalDirectorySetupHandler.java     |     19 +
 .../gfac/local/handler/LocalInputHandler.java   |     19 +
 .../gfac/local/provider/impl/LocalProvider.java |     19 +
 .../local/utils/InputStreamToFileWriter.java    |      5 +-
 .../airavata/gfac/local/utils/InputUtils.java   |      5 +-
 .../gfac/local/utils/LocalProviderUtil.java     |     19 +
 .../gfac/monitor/cloud/AuroraJobMonitor.java    |    243 +
 .../gfac/monitor/email/EmailBasedMonitor.java   |    121 +-
 .../email/parser/AiravataCustomMailParser.java  |     79 +
 .../monitor/email/parser/LSFEmailParser.java    |     45 +-
 .../monitor/email/parser/PBSEmailParser.java    |     34 +-
 .../monitor/email/parser/SLURMEmailParser.java  |     13 +-
 .../monitor/email/parser/UGEEmailParser.java    |     14 +-
 .../exception/AiravataMonitorException.java     |      5 +-
 .../gfac/ssh/context/SSHAuthWrapper.java        |      5 +-
 .../gfac/ssh/security/SSHSecurityContext.java   |      3 +-
 .../gfac/ssh/security/TokenizedSSHAuthInfo.java |      5 +-
 .../services/impl/BigRed2TestWithSSHAuth.java   |     21 +-
 .../gfac/services/impl/CredentialStoreTest.java |     19 +
 .../impl/GSISSHProviderTestWithMyProxyAuth.java |     21 +-
 .../gfac/services/impl/LocalProviderTest.java   |     19 +
 .../impl/SSHProviderTestWithSSHAuth.java        |     21 +-
 .../GSISecurityContextTestWithMyProxyAuth.java  |     19 +
 .../email/parser/PBSEmailParserTest.java        |     52 +
 .../gfac/ssh/config/ConfigReaderTest.java       |     19 +
 .../impl/DefaultSSHApiTestWithMyProxyAuth.java  |     19 +
 .../gfac/ssh/impl/VanilaTestWithSSHAuth.java    |     19 +
 .../apache/airavata/job/AMQPMonitorTest.java    |     19 +
 .../job/QstatMonitorTestWithMyProxyAuth.java    |     19 +
 modules/gfac/gfac-service/pom.xml               |     31 +-
 .../apache/airavata/gfac/server/GfacServer.java |      5 +-
 .../airavata/gfac/server/GfacServerHandler.java |    101 +-
 .../gfac/client/GfacClientFactoryTest.java      |      6 +-
 .../airavata/gfac/client/util/Initialize.java   |      4 +-
 modules/gfac/pom.xml                            |     26 +-
 modules/group-manager/pom.xml                   |     58 -
 .../internal/dao/PermissionEntryDAO.java        |    286 -
 .../dao/hib3/Hib3PermissionEntryDAO.java        |   1123 -
 .../grouper/permissions/PermissionFinder.java   |    770 -
 .../airavata/grouper/AiravataGrouperUtil.java   |     35 -
 .../airavata/grouper/GroupManagerCPI.java       |     35 -
 .../airavata/grouper/GroupManagerException.java |     36 -
 .../airavata/grouper/GroupManagerFactory.java   |     42 -
 .../airavata/grouper/GroupManagerImpl.java      |    118 -
 .../apache/airavata/grouper/SubjectType.java    |     14 -
 .../apache/airavata/grouper/group/Group.java    |    108 -
 .../airavata/grouper/group/GroupMembership.java |     88 -
 .../grouper/group/GroupMembershipType.java      |     12 -
 .../airavata/grouper/group/GroupService.java    |     39 -
 .../grouper/group/GroupServiceImpl.java         |    412 -
 .../grouper/permission/PermissionAction.java    |     15 -
 .../permission/PermissionServiceImpl.java       |     86 -
 .../airavata/grouper/resource/Resource.java     |    145 -
 .../resource/ResourceNotFoundException.java     |     35 -
 .../grouper/resource/ResourceServiceImpl.java   |    343 -
 .../airavata/grouper/resource/ResourceType.java |     51 -
 .../airavata/grouper/role/RoleServiceImpl.java  |    112 -
 .../Owasp.CsrfGuard.overlay.properties          |     78 -
 .../main/resources/Owasp.CsrfGuard.properties   |    403 -
 .../group-manager/src/main/resources/README.txt |     21 -
 .../src/main/resources/ehcache.xml              |   1517 -
 .../resources/grouper-loader.base.properties    |    351 -
 .../main/resources/grouper-loader.properties    |     25 -
 .../src/main/resources/grouper.base.properties  |   1017 -
 .../resources/grouper.client.base.properties    |    552 -
 .../main/resources/grouper.client.properties    |    552 -
 .../resources/grouper.hibernate.base.properties |    120 -
 .../main/resources/grouper.hibernate.properties |     10 -
 .../src/main/resources/grouper.properties       |   1017 -
 .../src/main/resources/grouperUtf8.txt          |      1 -
 .../src/main/resources/log4j.properties         |    154 -
 .../src/main/resources/morphString.properties   |     21 -
 .../src/main/resources/server.properties        |     26 -
 .../src/main/resources/sources.xml              |    875 -
 .../src/main/resources/spy.properties           |     54 -
 .../group-manager/src/main/resources/sqltool.rc |      6 -
 .../src/main/resources/subject.base.properties  |     46 -
 .../src/main/resources/subject.properties       |     27 -
 modules/integration-tests/pom.xml               |     26 +-
 .../org/apache/airavata/integration/Man.java    |      4 +-
 .../integration/AbstractIntegrationTest.java    |      4 +-
 .../apache/airavata/integration/BaseCaseIT.java |      4 +-
 .../airavata/integration/DataRetrievalIT.java   |      4 +-
 .../airavata/integration/ForEachCaseIT.java     |      4 +-
 .../apache/airavata/integration/OsUtils.java    |      4 +-
 .../integration/PasswordCallbackImpl.java       |     19 +
 .../airavata/integration/SimpleEchoIT.java      |      4 +-
 .../SingleAppIntegrationTestBase.java           |      3 +-
 .../WorkflowIntegrationTestBase.java            |      4 +-
 .../integration/WorkflowSamplesCaseIT.java      |      4 +-
 .../integration/tools/DocumentCreatorNew.java   |      5 +-
 .../integration/tools/DocumentCreatorUtils.java |      4 +-
 .../integration-tests/src/test/java/suite.xml   |     30 +-
 modules/messaging/client/pom.xml                |     26 +-
 .../messaging/client/RabbitMQListener.java      |      4 +-
 .../airavata/messaging/client/TestReader.java   |      3 +-
 modules/messaging/core/pom.xml                  |     32 +-
 .../airavata/messaging/core/MessageContext.java |      4 +-
 .../airavata/messaging/core/MessageHandler.java |      4 +-
 .../messaging/core/MessagingConstants.java      |      4 +-
 .../messaging/core/MessagingFactory.java        |     33 +-
 .../airavata/messaging/core/Publisher.java      |     14 +-
 .../messaging/core/PublisherFactory.java        |     19 +
 .../messaging/core/RabbitMQProperties.java      |      3 +-
 .../airavata/messaging/core/Subscriber.java     |      6 +-
 .../airavata/messaging/core/TestClient.java     |      4 +-
 .../apache/airavata/messaging/core/Type.java    |      3 +-
 .../messaging/core/impl/ExperimentConsumer.java |      3 +-
 .../messaging/core/impl/MessageConsumer.java    |     94 +
 .../messaging/core/impl/ProcessConsumer.java    |      3 +-
 .../impl/RabbitMQProcessLaunchConsumer.java     |     19 +
 .../impl/RabbitMQProcessLaunchPublisher.java    |     19 +
 .../messaging/core/impl/RabbitMQProducer.java   |     19 +
 .../messaging/core/impl/RabbitMQPublisher.java  |     40 +-
 .../core/impl/RabbitMQStatusPublisher.java      |     19 +
 .../core/impl/RabbitMQStatusSubscriber.java     |     19 +
 .../messaging/core/impl/RabbitMQSubscriber.java |      4 +-
 .../messaging/core/impl/StatusConsumer.java     |      3 +-
 .../messaging/core/stats/CountWriterTask.java   |      3 +-
 .../messaging/core/stats/LatencyWriterTask.java |      3 +-
 .../messaging/core/stats/StatCounter.java       |      3 +-
 modules/messaging/pom.xml                       |     26 +-
 modules/monitoring/pom.xml                      |     31 +-
 .../org/apache/airavata/monitoring/Main.java    |      3 +-
 .../airavata/monitoring/MessageExtract.java     |      3 +-
 .../org/apache/airavata/monitoring/Util.java    |      3 +-
 .../monitoring/consumer/StatusConsumer.java     |      3 +-
 .../monitoring/consumer/StatusReceiver.java     |      3 +-
 .../monitoring/mailbox/GmailSMTPMailBox.java    |      3 +-
 .../airavata/monitoring/mailbox/MailBox.java    |      3 +-
 .../airavata/monitoring/mailbox/MailConfig.java |      3 +-
 .../producer/RabbitMQEmailPublisher.java        |      3 +-
 .../monitoring/simulator/FetchPublish.java      |      3 +-
 .../monitoring/simulator/Simulator.java         |      3 +-
 modules/orchestrator/NULL                       |      1 -
 .../orchestrator/orchestrator-client/pom.xml    |     31 +-
 .../client/OrchestratorClientFactory.java       |      4 +-
 .../orchestrator/cpi/OrchestratorService.java   |     21 +-
 .../cpi/orchestrator_cpiConstants.java          |     19 +
 .../sample/OrchestratorClientSample.java        |      6 +-
 modules/orchestrator/orchestrator-core/pom.xml  |     31 +-
 .../core/OrchestratorConfiguration.java         |      5 +-
 .../core/context/OrchestratorContext.java       |      5 +-
 .../core/exception/OrchestratorException.java   |      5 +-
 .../core/impl/GFACPassiveJobSubmitter.java      |      5 +-
 .../orchestrator/core/job/JobSubmitter.java     |      5 +-
 .../core/utils/OrchestratorConstants.java       |      5 +-
 .../core/utils/OrchestratorUtils.java           |    250 +-
 .../core/validator/JobMetadataValidator.java    |      5 +-
 .../validator/impl/BatchQueueValidator.java     |      9 +-
 .../impl/ExperimentStatusValidator.java         |      5 +-
 .../airavata/orchestrator/cpi/Orchestrator.java |      5 +-
 .../cpi/impl/AbstractOrchestrator.java          |      5 +-
 .../cpi/impl/SimpleOrchestratorImpl.java        |    166 +-
 .../orchestrator/core/BaseOrchestratorTest.java |      5 +-
 .../orchestrator/core/NewOrchestratorTest.java  |      5 +-
 .../core/OrchestratorTestWithGRAM.java          |      5 +-
 .../core/OrchestratorTestWithMyProxyAuth.java   |      5 +-
 .../orchestrator/core/ValidatorTest.java        |     19 +
 .../orchestrator/core/util/Initialize.java      |      4 +-
 .../orchestrator/core/util/SecondValidator.java |     19 +
 .../orchestrator/core/util/TestValidator.java   |     19 +
 .../orchestrator/orchestrator-service/pom.xml   |     36 +-
 .../orchestrator/server/OrchestratorServer.java |     24 +-
 .../server/OrchestratorServerHandler.java       |    109 +-
 .../airavata/orchestrator/util/Constants.java   |      4 +-
 .../OrchestratorServerThreadPoolExecutor.java   |      4 +-
 .../orchestrator/util/OrchestratorUtils.java    |      3 +-
 .../client/OrchestratorClientFactoryTest.java   |      6 +-
 .../orchestrator/client/util/Initialize.java    |      4 +-
 modules/orchestrator/pom.xml                    |     26 +-
 modules/registry-refactoring/pom.xml            |    127 -
 .../registry/core/RegistryException.java        |     28 -
 .../ComputeResourceSchedulingEntity.java        |    170 -
 .../entities/expcatalog/ExperimentEntity.java   |    224 -
 .../expcatalog/ExperimentErrorEntity.java       |    118 -
 .../entities/expcatalog/ExperimentErrorPK.java  |     75 -
 .../expcatalog/ExperimentInputEntity.java       |    174 -
 .../entities/expcatalog/ExperimentInputPK.java  |     74 -
 .../expcatalog/ExperimentOutputEntity.java      |    165 -
 .../entities/expcatalog/ExperimentOutputPK.java |     74 -
 .../expcatalog/ExperimentStatusEntity.java      |     83 -
 .../entities/expcatalog/ExperimentStatusPK.java |     74 -
 .../core/entities/expcatalog/JobEntity.java     |    165 -
 .../entities/expcatalog/JobStatusEntity.java    |     83 -
 .../core/entities/expcatalog/JobStatusPK.java   |     74 -
 .../core/entities/expcatalog/ProcessEntity.java |    276 -
 .../entities/expcatalog/ProcessErrorEntity.java |    118 -
 .../entities/expcatalog/ProcessErrorPK.java     |     75 -
 .../entities/expcatalog/ProcessInputEntity.java |    174 -
 .../entities/expcatalog/ProcessInputPK.java     |     74 -
 .../expcatalog/ProcessOutputEntity.java         |    165 -
 .../entities/expcatalog/ProcessOutputPK.java    |     70 -
 .../ProcessResourceSchedulingEntity.java        |    170 -
 .../expcatalog/ProcessStatusEntity.java         |     83 -
 .../entities/expcatalog/ProcessStatusPK.java    |     74 -
 .../core/entities/expcatalog/TaskEntity.java    |    147 -
 .../entities/expcatalog/TaskErrorEntity.java    |    118 -
 .../core/entities/expcatalog/TaskErrorPK.java   |     75 -
 .../entities/expcatalog/TaskStatusEntity.java   |     83 -
 .../core/entities/expcatalog/TaskStatusPK.java  |     74 -
 .../expcatalog/UserConfigurationEntity.java     |    131 -
 .../workspacecatalog/GatewayEntity.java         |    221 -
 .../workspacecatalog/NSFDemographicsEntity.java |     94 -
 .../workspacecatalog/NotificationEntity.java    |    110 -
 .../workspacecatalog/ProjectEntity.java         |     92 -
 .../workspacecatalog/UserProfileEntity.java     |    247 -
 .../core/repositories/AbstractRepository.java   |     98 -
 .../expcatalog/ExperimentRepository.java        |    101 -
 .../ComponentStatusRepository.java              |     37 -
 .../workflowcatalog/EdgeRepository.java         |     38 -
 .../workflowcatalog/WorkflowRepository.java     |     37 -
 .../workspacecatalog/GatewayRepository.java     |     36 -
 .../NotificationRepository.java                 |     35 -
 .../workspacecatalog/ProjectRepository.java     |     35 -
 .../workspacecatalog/UserProfileRepository.java |     88 -
 .../airavata/registry/core/utils/Committer.java |     27 -
 .../airavata/registry/core/utils/JPAUtils.java  |     82 -
 .../core/utils/ObjectMapperSingleton.java       |     39 -
 .../src/main/resources/META-INF/persistence.xml |    131 -
 .../src/main/resources/experiment_catalog.sql   |    285 -
 .../src/main/resources/workspace_catalog.sql    |    125 -
 modules/registry/pom.xml                        |     26 +-
 modules/registry/registry-core/pom.xml          |     58 +-
 .../core/app/catalog/impl/AppCatalogImpl.java   |      9 +-
 .../catalog/impl/ApplicationDeploymentImpl.java |     14 +-
 .../catalog/impl/ApplicationInterfaceImpl.java  |      6 +-
 .../app/catalog/impl/ComputeResourceImpl.java   |     58 +-
 .../catalog/impl/GwyResourceProfileImpl.java    |      4 +-
 .../app/catalog/impl/StorageResourceImpl.java   |      4 +-
 .../catalog/impl/UsrResourceProfileImpl.java    |    367 +
 .../core/app/catalog/model/AppEnvironment.java  |      4 +-
 .../app/catalog/model/AppEnvironment_PK.java    |      4 +-
 .../core/app/catalog/model/AppInput_PK.java     |      4 +-
 .../app/catalog/model/AppModuleMapping.java     |      4 +-
 .../app/catalog/model/AppModuleMapping_PK.java  |      4 +-
 .../core/app/catalog/model/AppOutput_PK.java    |      4 +-
 .../catalog/model/ApplicationDeployment.java    |     56 +-
 .../app/catalog/model/ApplicationIntInput.java  |     15 +-
 .../app/catalog/model/ApplicationIntOutput.java |      4 +-
 .../app/catalog/model/ApplicationInterface.java |      4 +-
 .../app/catalog/model/ApplicationModule.java    |      4 +-
 .../core/app/catalog/model/BatchQueue.java      |     48 +-
 .../core/app/catalog/model/BatchQueue_PK.java   |      4 +-
 .../app/catalog/model/CloudJobSubmission.java   |      5 +-
 .../core/app/catalog/model/ComputeResource.java |     48 +-
 .../model/ComputeResourceFileSystem.java        |      4 +-
 .../model/ComputeResourceFileSystem_PK.java     |      4 +-
 .../model/ComputeResourcePreference.java        |      4 +-
 .../model/ComputeResourcePreferencePK.java      |      4 +-
 .../core/app/catalog/model/Configuration.java   |     19 +
 .../app/catalog/model/Configuration_PK.java     |      4 +-
 .../catalog/model/DataMovementInterface.java    |      4 +-
 .../catalog/model/DataMovementInterface_PK.java |      4 +-
 .../app/catalog/model/DataStorageResource.java  |      4 +-
 .../core/app/catalog/model/GSISSHExport.java    |      4 +-
 .../core/app/catalog/model/GSISSHExportPK.java  |      4 +-
 .../app/catalog/model/GSISSHSubmission.java     |      4 +-
 .../core/app/catalog/model/GatewayProfile.java  |      4 +-
 .../app/catalog/model/GlobusGKEndPointPK.java   |      4 +-
 .../app/catalog/model/GlobusGKEndpoint.java     |      4 +-
 .../app/catalog/model/GlobusJobSubmission.java  |      4 +-
 .../app/catalog/model/GridftpDataMovement.java  |      4 +-
 .../core/app/catalog/model/GridftpEndpoint.java |      4 +-
 .../app/catalog/model/GridftpEndpoint_PK.java   |      4 +-
 .../core/app/catalog/model/HostAlias.java       |      4 +-
 .../core/app/catalog/model/HostAliasPK.java     |      4 +-
 .../core/app/catalog/model/HostIPAddress.java   |      4 +-
 .../core/app/catalog/model/HostIPAddressPK.java |      4 +-
 .../app/catalog/model/JobManagerCommand.java    |      4 +-
 .../app/catalog/model/JobManagerCommand_PK.java |      4 +-
 .../catalog/model/JobSubmissionInterface.java   |      4 +-
 .../model/JobSubmissionInterface_PK.java        |      4 +-
 .../app/catalog/model/LibraryApendPath.java     |      4 +-
 .../app/catalog/model/LibraryApendPath_PK.java  |      4 +-
 .../app/catalog/model/LibraryPrepandPath.java   |      4 +-
 .../catalog/model/LibraryPrepandPath_PK.java    |      4 +-
 .../app/catalog/model/LocalDataMovement.java    |      4 +-
 .../core/app/catalog/model/LocalSubmission.java |     15 +-
 .../core/app/catalog/model/ModuleLoadCmd.java   |      4 +-
 .../app/catalog/model/ModuleLoadCmd_PK.java     |      4 +-
 .../catalog/model/ParallelismPrefixCommand.java |      4 +-
 .../model/ParallelismPrefixCommand_PK.java      |      4 +-
 .../core/app/catalog/model/PostJobCommand.java  |      4 +-
 .../app/catalog/model/PostJobCommandPK.java     |      4 +-
 .../core/app/catalog/model/PreJobCommand.java   |      4 +-
 .../core/app/catalog/model/PreJobCommandPK.java |      4 +-
 .../app/catalog/model/ResourceJobManager.java   |      4 +-
 .../core/app/catalog/model/ScpDataMovement.java |      4 +-
 .../app/catalog/model/SshJobSubmission.java     |      4 +-
 .../app/catalog/model/StorageInterface.java     |      4 +-
 .../app/catalog/model/StorageInterface_PK.java  |      4 +-
 .../app/catalog/model/StoragePreference.java    |      4 +-
 .../app/catalog/model/StoragePreferencePK.java  |      4 +-
 .../core/app/catalog/model/StorageResource.java |      4 +-
 .../app/catalog/model/UnicoreDataMovement.java  |      6 +-
 .../app/catalog/model/UnicoreJobSubmission.java |      6 +-
 .../model/UserComputeResourcePreference.java    |    187 +
 .../model/UserComputeResourcePreferencePK.java  |     77 +
 .../app/catalog/model/UserResourceProfile.java  |    110 +
 .../catalog/model/UserResourceProfilePK.java    |     76 +
 .../catalog/model/UserStoragePreference.java    |    107 +
 .../catalog/model/UserStoragePreferencePK.java  |     78 +
 .../resources/AppCatAbstractResource.java       |     30 +-
 .../catalog/resources/AppCatalogResource.java   |     19 +
 .../resources/AppDeploymentResource.java        |     59 +-
 .../resources/AppEnvironmentResource.java       |      4 +-
 .../catalog/resources/AppInterfaceResource.java |      4 +-
 ...ppModuleMappingAppCatalogResourceAppCat.java |      4 +-
 .../catalog/resources/AppModuleResource.java    |      4 +-
 .../resources/ApplicationInputResource.java     |     12 +-
 .../resources/ApplicationOutputResource.java    |      2 +-
 .../catalog/resources/BatchQueueResource.java   |     60 +-
 .../resources/CloudSubmissionResource.java      |      5 +-
 .../ComputeHostPreferenceResource.java          |      8 +-
 .../ComputeResourceFileSystemResource.java      |      4 +-
 .../resources/ComputeResourceResource.java      |     46 +-
 .../DataMovementInterfaceResource.java          |      4 +-
 .../catalog/resources/GSISSHExportResource.java |      2 +-
 .../resources/GSISSHSubmissionResource.java     |      2 +-
 .../resources/GatewayProfileResource.java       |      2 +-
 .../resources/GlobusGKEndpointResource.java     |      2 +-
 .../resources/GlobusJobSubmissionResource.java  |      2 +-
 .../resources/GridftpDataMovementResource.java  |      2 +-
 .../resources/GridftpEndpointResource.java      |      2 +-
 .../catalog/resources/HostAliasAppResource.java |      2 +-
 .../resources/HostIPAddressResource.java        |      2 +-
 .../resources/JobManagerCommandResource.java    |      4 +-
 .../JobSubmissionInterfaceResource.java         |      4 +-
 .../resources/LibraryApendPathResource.java     |      4 +-
 .../resources/LibraryPrepandPathResource.java   |      4 +-
 .../resources/LocalDataMovementResource.java    |      4 +-
 .../resources/LocalSubmissionResource.java      |     16 +-
 .../resources/ModuleLoadCmdResource.java        |      4 +-
 .../ParallelismPrefixCommandResource.java       |      4 +-
 .../resources/PostJobCommandResource.java       |      2 +-
 .../resources/PreJobCommandResource.java        |      2 +-
 .../resources/ResourceJobManagerResource.java   |      4 +-
 .../resources/ScpDataMovementResource.java      |      2 +-
 .../resources/SshJobSubmissionResource.java     |      2 +-
 .../resources/StorageInterfaceResource.java     |      4 +-
 .../resources/StoragePreferenceResource.java    |      4 +-
 .../resources/StorageResourceResource.java      |      4 +-
 .../resources/UnicoreDataMovementResource.java  |      6 +-
 .../resources/UnicoreJobSubmissionResource.java |      6 +-
 .../UserComputeHostPreferenceResource.java      |    456 +
 .../resources/UserResourceProfileResource.java  |    455 +
 .../UserStoragePreferenceResource.java          |    381 +
 .../app/catalog/util/AppCatalogJPAUtils.java    |    111 +-
 .../catalog/util/AppCatalogQueryGenerator.java  |      4 +-
 .../catalog/util/AppCatalogResourceType.java    |      7 +-
 .../util/AppCatalogThriftConversion.java        |    102 +-
 .../core/app/catalog/util/AppCatalogUtils.java  |      4 +-
 .../experiment/catalog/ExpCatResourceUtils.java |     17 +-
 .../catalog/ExperimentCatResource.java          |      5 +-
 .../core/experiment/catalog/JPAConstants.java   |      4 +-
 .../core/experiment/catalog/ResourceType.java   |      8 +-
 .../catalog/impl/ExperimentCatalogImpl.java     |     25 +-
 .../catalog/impl/ExperimentRegistry.java        |     91 +-
 .../catalog/impl/GatewayRegistry.java           |      4 +-
 .../catalog/impl/NotificationRegistry.java      |      6 +-
 .../catalog/impl/ProjectRegistry.java           |     48 +-
 .../catalog/impl/RegistryFactory.java           |      4 +-
 .../experiment/catalog/impl/UserRegistry.java   |      4 +-
 .../experiment/catalog/model/Experiment.java    |      5 +-
 .../catalog/model/ExperimentError.java          |      5 +-
 .../catalog/model/ExperimentErrorPK.java        |      5 +-
 .../catalog/model/ExperimentInput.java          |     15 +-
 .../catalog/model/ExperimentInputPK.java        |      5 +-
 .../catalog/model/ExperimentOutput.java         |      5 +-
 .../catalog/model/ExperimentOutputPK.java       |      5 +-
 .../catalog/model/ExperimentStatus.java         |      5 +-
 .../catalog/model/ExperimentStatusPK.java       |      5 +-
 .../catalog/model/ExperimentSummary.java        |      5 +-
 .../core/experiment/catalog/model/Gateway.java  |      5 +-
 .../experiment/catalog/model/GatewayWorker.java |      5 +-
 .../catalog/model/GatewayWorkerPK.java          |      5 +-
 .../core/experiment/catalog/model/Job.java      |      5 +-
 .../core/experiment/catalog/model/JobPK.java    |      5 +-
 .../experiment/catalog/model/JobStatus.java     |      5 +-
 .../experiment/catalog/model/JobStatusPK.java   |      5 +-
 .../experiment/catalog/model/Notification.java  |      5 +-
 .../core/experiment/catalog/model/Process.java  |     15 +-
 .../experiment/catalog/model/ProcessError.java  |      5 +-
 .../catalog/model/ProcessErrorPK.java           |      5 +-
 .../experiment/catalog/model/ProcessInput.java  |     14 +-
 .../catalog/model/ProcessInputPK.java           |      5 +-
 .../experiment/catalog/model/ProcessOutput.java |      5 +-
 .../catalog/model/ProcessOutputPK.java          |      5 +-
 .../catalog/model/ProcessResourceSchedule.java  |      5 +-
 .../experiment/catalog/model/ProcessStatus.java |      5 +-
 .../catalog/model/ProcessStatusPK.java          |      5 +-
 .../core/experiment/catalog/model/Project.java  |      5 +-
 .../experiment/catalog/model/ProjectUser.java   |      5 +-
 .../experiment/catalog/model/ProjectUserPK.java |      5 +-
 .../experiment/catalog/model/QueueStatus.java   |     98 +
 .../experiment/catalog/model/QueueStatusPK.java |     87 +
 .../core/experiment/catalog/model/Task.java     |      5 +-
 .../experiment/catalog/model/TaskError.java     |      5 +-
 .../experiment/catalog/model/TaskErrorPK.java   |      5 +-
 .../experiment/catalog/model/TaskStatus.java    |      5 +-
 .../experiment/catalog/model/TaskStatusPK.java  |      5 +-
 .../catalog/model/UserConfigurationData.java    |     14 +-
 .../core/experiment/catalog/model/UserPK.java   |      5 +-
 .../core/experiment/catalog/model/Users.java    |      5 +-
 .../resources/AbstractExpCatResource.java       |      3 +-
 .../resources/ExperimentErrorResource.java      |      4 +-
 .../resources/ExperimentInputResource.java      |     14 +-
 .../resources/ExperimentOutputResource.java     |      4 +-
 .../catalog/resources/ExperimentResource.java   |      4 +-
 .../resources/ExperimentStatisticsResource.java |      5 +-
 .../resources/ExperimentStatusResource.java     |      4 +-
 .../resources/ExperimentSummaryResource.java    |      5 +-
 .../catalog/resources/GatewayResource.java      |      5 +-
 .../catalog/resources/JobResource.java          |      4 +-
 .../catalog/resources/JobStatusResource.java    |      4 +-
 .../catalog/resources/NotificationResource.java |      5 +-
 .../catalog/resources/ProcessErrorResource.java |      4 +-
 .../catalog/resources/ProcessInputResource.java |     14 +-
 .../resources/ProcessOutputResource.java        |      4 +-
 .../catalog/resources/ProcessResource.java      |     15 +-
 .../ProcessResourceScheduleResource.java        |      4 +-
 .../resources/ProcessStatusResource.java        |      4 +-
 .../catalog/resources/ProjectResource.java      |      5 +-
 .../catalog/resources/ProjectUserResource.java  |      4 +-
 .../catalog/resources/QueueStatusResource.java  |    207 +
 .../catalog/resources/TaskErrorResource.java    |      4 +-
 .../catalog/resources/TaskResource.java         |      4 +-
 .../catalog/resources/TaskStatusResource.java   |      4 +-
 .../UserConfigurationDataResource.java          |     14 +-
 .../catalog/resources/UserResource.java         |      5 +-
 .../experiment/catalog/resources/Utils.java     |      7 +-
 .../catalog/resources/WorkerResource.java       |     54 +-
 .../catalog/utils/QueryGenerator.java           |      4 +-
 .../utils/ThriftDataModelConversion.java        |     25 +-
 .../registry/core/impl/RegistryImpl.java        |      6 +-
 .../catalog/impl/ReplicaCatalogImpl.java        |     48 +-
 .../replica/catalog/model/Configuration.java    |     20 +-
 .../replica/catalog/model/Configuration_PK.java |     63 +
 .../core/replica/catalog/model/DataProduct.java |      5 +-
 .../catalog/model/DataProductMetaData.java      |      5 +-
 .../catalog/model/DataProductMetaData_PK.java   |      5 +-
 .../catalog/model/DataReplicaLocation.java      |      5 +-
 .../catalog/model/DataReplicaMetaData.java      |      5 +-
 .../catalog/model/DataReplicaMetaData_PK.java   |      5 +-
 .../catalog/utils/ReplicaCatalogConstants.java  |      3 +-
 .../catalog/utils/ReplicaCatalogJPAUtils.java   |      4 +-
 .../utils/ReplicaCatalogQueryGenerator.java     |      4 +-
 .../utils/ThriftDataModelConversion.java        |     19 +
 .../catalog/impl/WorkflowCatalogImpl.java       |      4 +-
 .../workflow/catalog/model/ComponentStatus.java |      4 +-
 .../core/workflow/catalog/model/Edge.java       |      4 +-
 .../core/workflow/catalog/model/Edge_PK.java    |      4 +-
 .../core/workflow/catalog/model/Node.java       |      4 +-
 .../core/workflow/catalog/model/Node_PK.java    |      4 +-
 .../core/workflow/catalog/model/Port.java       |      4 +-
 .../core/workflow/catalog/model/Port_PK.java    |      4 +-
 .../core/workflow/catalog/model/Workflow.java   |      4 +-
 .../workflow/catalog/model/WorkflowInput.java   |      4 +-
 .../catalog/model/WorkflowInput_PK.java         |      4 +-
 .../workflow/catalog/model/WorkflowOutput.java  |      4 +-
 .../catalog/model/WorkflowOutput_PK.java        |      4 +-
 .../workflow/catalog/model/WorkflowStatus.java  |      4 +-
 .../catalog/model/WorkflowStatus_PK.java        |      4 +-
 .../resources/ComponentStatusResource.java      |      2 +-
 .../catalog/resources/EdgeResource.java         |      2 +-
 .../catalog/resources/NodeResource.java         |      2 +-
 .../catalog/resources/PortResource.java         |      2 +-
 .../resources/WorkflowCatAbstractResource.java  |      4 +-
 .../resources/WorkflowCatalogResource.java      |     19 +
 .../resources/WorkflowInputResource.java        |      2 +-
 .../resources/WorkflowOutputResource.java       |      2 +-
 .../catalog/resources/WorkflowResource.java     |      4 +-
 .../resources/WorkflowStatusResource.java       |      2 +-
 .../catalog/utils/WorkflowCatalogJPAUtils.java  |      4 +-
 .../utils/WorkflowCatalogQueryGenerator.java    |      4 +-
 .../utils/WorkflowCatalogResourceType.java      |      4 +-
 .../utils/WorkflowCatalogThriftConversion.java  |      4 +-
 .../catalog/utils/WorkflowCatalogUtils.java     |      4 +-
 .../src/main/resources/META-INF/persistence.xml |      6 +
 .../src/main/resources/appcatalog-derby.sql     |     15 +
 .../src/main/resources/appcatalog-mysql.sql     |     15 +
 .../src/main/resources/credstore-derby.sql      |     60 +-
 .../src/main/resources/credstore-mysql.sql      |     60 +-
 .../src/main/resources/expcatalog-derby.sql     |     13 +
 .../src/main/resources/expcatalog-mysql.sql     |     12 +
 .../main/resources/workflowcatalog-mysql.sql    |      3 +-
 .../airavata/app/catalog/AppDeploymentTest.java |      4 +-
 .../airavata/app/catalog/AppInterfaceTest.java  |      4 +-
 ...puteAppCatalogExperimentCatResourceTest.java |      4 +-
 .../app/catalog/GatewayProfileTest.java         |      4 +-
 .../catalog/StorageResourceAppCatalogTest.java  |      4 +-
 .../app/catalog/UserResourceProfileTest.java    |    187 +
 .../airavata/app/catalog/util/Initialize.java   |      4 +-
 .../catalog/AbstractResourceTest.java           |      4 +-
 .../catalog/ExperimentInputResourceTest.java    |     20 +
 .../catalog/ExperimentOutputResourceTest.java   |     19 +
 .../catalog/ExperimentResourceTest.java         |     19 +
 .../experiment/catalog/GatewayResourceTest.java |     19 +
 .../experiment/catalog/JobResourceTest.java     |      2 +-
 .../experiment/catalog/ProcessResourceTest.java |      2 +-
 .../catalog/QueueStatusResourceTest.java        |     95 +
 .../experiment/catalog/TaskResourceTest.java    |      2 +-
 .../catalog/UserConfigurationDataTest.java      |      4 +-
 .../experiment/catalog/UserResourceTest.java    |     19 +
 .../experiment/catalog/util/Initialize.java     |      4 +-
 .../replica/catalog/ReplicaCatalogTest.java     |      7 +-
 .../replica/catalog/util/Initialize.java        |      4 +-
 modules/registry/registry-cpi/pom.xml           |     26 +-
 .../airavata/registry/cpi/AppCatalog.java       |      9 +-
 .../registry/cpi/AppCatalogException.java       |      2 +-
 .../registry/cpi/ApplicationDeployment.java     |      2 +-
 .../registry/cpi/ApplicationInterface.java      |      2 +-
 .../registry/cpi/CompositeIdentifier.java       |     16 +-
 .../airavata/registry/cpi/ComputeResource.java  |      2 +-
 .../registry/cpi/ExpCatChildDataType.java       |      2 +-
 .../registry/cpi/ExpCatParentDataType.java      |      5 +-
 .../registry/cpi/ExperimentCatalog.java         |      2 +-
 .../cpi/ExperimentCatalogException.java         |      6 +-
 .../cpi/ExperimentCatalogModelType.java         |      5 +-
 .../registry/cpi/GwyClientCredential.java       |      2 +-
 .../registry/cpi/GwyResourceProfile.java        |      2 +-
 .../apache/airavata/registry/cpi/Registry.java  |      6 +-
 .../registry/cpi/RegistryException.java         |      4 +-
 .../airavata/registry/cpi/ReplicaCatalog.java   |      5 +-
 .../registry/cpi/ReplicaCatalogException.java   |      2 +-
 .../airavata/registry/cpi/ResultOrderType.java  |     19 +
 .../airavata/registry/cpi/StorageResource.java  |      8 +-
 .../registry/cpi/UsrResourceProfile.java        |     90 +
 .../airavata/registry/cpi/WorkflowCatalog.java  |      6 +-
 .../registry/cpi/WorkflowCatalogException.java  |      2 +-
 .../airavata/registry/cpi/utils/Constants.java  |      5 +-
 .../airavata/registry/cpi/utils/StatusType.java |      2 +-
 modules/registry/registry-server/pom.xml        |     28 +-
 .../registry-api-service/pom.xml                |     26 +
 .../registry/api/service/RegistryAPIServer.java |     36 +-
 .../service/handler/RegistryServerHandler.java  |    678 +-
 .../RegistryServiceDBEventHandler.java          |    159 +
 .../RegistryServiceDBEventMessagingFactory.java |     94 +
 .../api/service/util/AppCatalogInitUtil.java    |     19 +
 .../api/service/util/ConnectionPool.java        |      6 +-
 .../registry/api/service/util/Constants.java    |     14 +-
 .../api/service/util/DatabaseCreator.java       |     41 +-
 .../service/util/ExperimentCatalogInitUtil.java |     21 +
 .../registry/api/service/util/JdbcStorage.java  |      5 +-
 .../service/util/ReplicaCatalogInitUtil.java    |     19 +
 .../service/util/WorkflowCatalogInitUtil.java   |     19 +
 .../registry-server/registry-api-stubs/pom.xml  |     21 +
 .../airavata/registry/api/RegistryService.java  |  39074 ++++--
 .../client/RegistryServiceClientFactory.java    |      4 +-
 .../api/exception/RegistryServiceException.java |     21 +-
 .../registry/api/registry_apiConstants.java     |     19 +
 modules/registry/registry-tools/jpa-gen/pom.xml |     26 +-
 .../computeresource/BatchQueueGenerator.java    |      4 +-
 .../ComputeResourceDescriptionGenerator.java    |      4 +-
 .../DataMovementInterfaceGenerator.java         |      4 +-
 .../computeresource/FileSystemsGenerator.java   |      4 +-
 .../GridFTPDataMovementGenerator.java           |      4 +-
 .../GridFTPEndpointsGenerator.java              |      4 +-
 .../JobManagerCommandGenerator.java             |      4 +-
 .../JobSubmissionInterfaceGenerator.java        |      4 +-
 .../LocalDataMovementGenerator.java             |      4 +-
 .../LocalSubmissionGenerator.java               |      4 +-
 .../computeresource/ModuleCMDGenerator.java     |      4 +-
 .../ResourceJobManagerGenerator.java            |      4 +-
 .../SCPDataMovementGenerator.java               |      4 +-
 .../SSHJobSubmissionGenerator.java              |      4 +-
 .../main/java/generators/AbstractGenerator.java |     19 +
 .../main/java/generators/JPAClassGenerator.java |     19 +
 .../generators/JPAResourceClassGenerator.java   |     19 +
 .../src/main/java/generators/SQLGenerator.java  |     19 +
 .../src/main/java/model/JPAClassField.java      |     19 +
 .../src/main/java/model/JPAClassModel.java      |     19 +
 .../src/main/java/model/JPAPKClassModel.java    |     19 +
 .../main/java/model/JPAResourceClassModel.java  |     19 +
 .../jpa-gen/src/main/java/model/SQLData.java    |     19 +
 .../jpa-gen/src/main/java/test/Test.java        |     19 +
 modules/registry/registry-tools/pom.xml         |     26 +-
 .../registry-tools/registry-tool/pom.xml        |     26 +-
 .../airavata/registry/tool/DBMigrator.java      |      4 +-
 .../DeltaScripts/appCatalog_schema_delta.sql    |     84 +
 .../credentialStore_schema_delta.sql            |     37 +
 .../DeltaScripts/expCatalog_schema_delta.sql    |     54 +
 .../replicaCatalog_schema_delta.sql             |     32 +
 .../DeltaScripts/workFlow_schema_delta.sql      |     31 +
 .../0.16-0.17/migration-notes.md                |     10 +
 modules/security/pom.xml                        |     30 +-
 .../security/AbstractAuthenticator.java         |      4 +-
 .../security/AbstractDatabaseAuthenticator.java |      4 +-
 .../security/AiravataSecurityException.java     |      3 +-
 .../security/AuthenticationException.java       |      4 +-
 .../apache/airavata/security/Authenticator.java |      4 +-
 .../apache/airavata/security/Authoriser.java    |      4 +-
 .../org/apache/airavata/security/UserStore.java |      4 +-
 .../airavata/security/UserStoreException.java   |      4 +-
 .../AbstractConfigurationReader.java            |      4 +-
 .../AuthenticatorConfigurationReader.java       |      4 +-
 .../userstore/AbstractJDBCUserStore.java        |      4 +-
 .../security/userstore/JDBCUserStore.java       |      4 +-
 .../security/userstore/LDAPUserStore.java       |      4 +-
 .../security/userstore/SessionDBUserStore.java  |      4 +-
 .../security/util/PasswordDigester.java         |      4 +-
 .../security/util/TrustStoreManager.java        |      3 +-
 .../AuthenticatorConfigurationReaderTest.java   |      4 +-
 .../configurations/TestDBAuthenticator1.java    |      4 +-
 .../configurations/TestDBAuthenticator2.java    |      4 +-
 .../configurations/TestDBAuthenticator3.java    |      4 +-
 .../security/configurations/TestUserStore.java  |     36 +-
 .../security/userstore/JDBCUserStoreTest.java   |     36 +-
 .../security/userstore/LDAPUserStoreTest.java   |     36 +-
 .../userstore/SessionDBUserStoreTest.java       |     36 +-
 modules/server/pom.xml                          |     30 +-
 .../org/apache/airavata/server/ServerMain.java  |     53 +-
 modules/sharing-registry/README.md              |      3 +
 modules/sharing-registry/pom.xml                |     46 +
 .../sharing-data-migrator/pom.xml               |     88 +
 .../migrator/airavata/AiravataDataMigrator.java |    186 +
 .../migrator/airavata/ConnectionFactory.java    |     58 +
 .../sharing-registry-distribution/pom.xml       |    110 +
 .../src/main/assembly/bin-assembly.xml          |     73 +
 .../src/main/resources/bin/setenv.sh            |     61 +
 .../src/main/resources/bin/sharing-registry.sh  |     90 +
 .../sharing-registry-server/pom.xml             |    144 +
 .../registry/db/entities/DomainEntity.java      |    116 +
 .../registry/db/entities/EntityEntity.java      |    219 +
 .../sharing/registry/db/entities/EntityPK.java  |     76 +
 .../registry/db/entities/EntityTypeEntity.java  |    130 +
 .../registry/db/entities/EntityTypePK.java      |     76 +
 .../db/entities/GroupMembershipEntity.java      |    126 +
 .../registry/db/entities/GroupMembershipPK.java |     88 +
 .../db/entities/PermissionTypeEntity.java       |    128 +
 .../registry/db/entities/PermissionTypePK.java  |     76 +
 .../registry/db/entities/SharingEntity.java     |    149 +
 .../sharing/registry/db/entities/SharingPK.java |    116 +
 .../registry/db/entities/UserEntity.java        |    161 +
 .../registry/db/entities/UserGroupEntity.java   |    166 +
 .../registry/db/entities/UserGroupPK.java       |     75 +
 .../sharing/registry/db/entities/UserPK.java    |     75 +
 .../db/repositories/AbstractRepository.java     |    157 +
 .../db/repositories/DomainRepository.java       |     33 +
 .../db/repositories/EntityRepository.java       |    182 +
 .../db/repositories/EntityTypeRepository.java   |     34 +
 .../repositories/GroupMembershipRepository.java |     80 +
 .../repositories/PermissionTypeRepository.java  |     52 +
 .../db/repositories/SharingRepository.java      |     93 +
 .../db/repositories/UserGroupRepository.java    |     68 +
 .../db/repositories/UserRepository.java         |     57 +
 .../sharing/registry/db/utils/Committer.java    |     26 +
 .../registry/db/utils/ConnectionPool.java       |    381 +
 .../sharing/registry/db/utils/DBConstants.java  |    106 +
 .../registry/db/utils/DatabaseCreator.java      |    352 +
 .../sharing/registry/db/utils/JPAUtils.java     |    215 +
 .../sharing/registry/db/utils/JdbcStorage.java  |    174 +
 .../db/utils/ObjectMapperSingleton.java         |     38 +
 .../messaging/SharingServiceDBEventHandler.java |    243 +
 .../SharingServiceDBEventMessagingFactory.java  |    111 +
 .../sharing/registry/server/ServerMain.java     |    101 +
 .../registry/server/SharingRegistryServer.java  |    166 +
 .../server/SharingRegistryServerHandler.java    |   1067 +
 .../sharing/registry/utils/Constants.java       |     38 +
 .../utils/ThriftDataModelConversion.java        |     28 +
 .../src/main/resources/META-INF/persistence.xml |     15 +
 .../main/resources/sharing-registry-derby.sql   |    139 +
 .../main/resources/sharing-registry-mysql.sql   |    139 +
 .../airavata/sharing/registry/CipresTest.java   |    615 +
 .../SharingRegistryServerHandlerTest.java       |    286 +
 .../registry/SharingRegistryServiceTest.java    |    361 +
 .../sharing/registry/util/Initialize.java       |    296 +
 .../sharing-registry-stubs/pom.xml              |     85 +
 .../SharingRegistryServiceClientFactory.java    |     44 +
 .../sharing/registry/models/Domain.java         |    847 +
 .../sharing/registry/models/Entity.java         |   1704 +
 .../registry/models/EntitySearchField.java      |    100 +
 .../sharing/registry/models/EntityType.java     |    950 +
 .../registry/models/GroupCardinality.java       |     69 +
 .../sharing/registry/models/GroupChildType.java |     68 +
 .../registry/models/GroupMembership.java        |    960 +
 .../sharing/registry/models/GroupType.java      |     68 +
 .../sharing/registry/models/PermissionType.java |    950 +
 .../registry/models/SearchCondition.java        |     85 +
 .../sharing/registry/models/SearchCriteria.java |    668 +
 .../sharing/registry/models/Sharing.java        |   1174 +
 .../models/SharingRegistryException.java        |    414 +
 .../sharing/registry/models/SharingType.java    |     71 +
 .../airavata/sharing/registry/models/User.java  |   1285 +
 .../sharing/registry/models/UserGroup.java      |   1306 +
 .../models/sharing_modelsConstants.java         |     60 +
 .../service/cpi/SharingRegistryService.java     |  55834 ++++++++
 .../sharing-service-docs/api-docs/index.html    |    225 +
 .../api-docs/sharing_cpi.html                   |    352 +
 .../api-docs/sharing_models.html                |    312 +
 .../sharing-service-docs/api-docs/style.css     |    194 +
 .../sharing-service-docs/index.html             |    389 +
 .../sharing-service-docs/sharing_overview.png   |    Bin 0 -> 49205 bytes
 .../sharing-service-docs/style.css              |    194 +
 .../thrift_models/sharing_cpi.thrift            |    236 +
 .../thrift_models/sharing_models.thrift         |    279 +
 .../thrift_models/thrift-gen.sh                 |     42 +
 modules/simstream/README.md                     |     18 -
 modules/simstream/example/README.md             |      9 -
 .../simstream/example/logfile_checker/README.md |     23 -
 .../example/logfile_checker/generate_logs.sh    |     22 -
 .../example/logfile_checker/log_consumer.py     |     43 -
 .../example/logfile_checker/log_streamer.py     |    111 -
 .../example/logfile_checker/remote_log.slurm    |     21 -
 .../simstream/example/logfile_checker/test.txt  |    657 -
 .../simstream/example/mem_streamer/README.md    |     17 -
 .../example/mem_streamer/memory_consumption.py  |     83 -
 .../example/mem_streamer/memory_streamer.py     |     46 -
 .../simstream/example/openmm_example/README.md  |     33 -
 .../application/alanine_dipeptide.py            |     55 -
 .../openmm_example/application/input.pdb        |     24 -
 .../openmm_example/application/trajectory.dcd   |      0
 .../example/openmm_example/openmm_consumer.py   |      8 -
 .../openmm_example/openmm_log_consumer.py       |     32 -
 .../openmm_example/openmm_rmsd_consumer.py      |     36 -
 .../example/openmm_example/openmm_stream.slurm  |     19 -
 .../example/openmm_example/openmm_streamer.py   |    130 -
 .../simstream/example/openmm_example/test.txt   |      0
 modules/simstream/example/settings.json         |      6 -
 modules/simstream/setup.py                      |     19 -
 modules/simstream/simstream/__init__.py         |     11 -
 modules/simstream/simstream/datacollector.py    |    110 -
 modules/simstream/simstream/datareporter.py     |    169 -
 modules/simstream/simstream/eventhandler.py     |     17 -
 modules/simstream/simstream/eventmonitor.py     |     46 -
 .../simstream/simstream/pikaasyncconsumer.py    |    203 -
 modules/simstream/simstream/pikaproducer.py     |    202 -
 modules/simstream/simstream/simstream.py        |    167 -
 .../test-suite/multi-tenanted-airavata/README   |     59 +-
 .../test-suite/multi-tenanted-airavata/pom.xml  |    198 +-
 .../multitenantedairavata/AiravataClient.java   |     10 +-
 .../multitenantedairavata/AiravataIT.java       |    378 +
 .../ApplicationRegister.java                    |    331 +-
 .../ComputeResourceRegister.java                |    169 +-
 .../ExperimentExecution.java                    |    569 +-
 .../FrameworkBootstrapping.java                 |    621 +-
 .../multitenantedairavata/FrameworkSetup.java   |     16 +-
 .../multitenantedairavata/GatewayRegister.java  |    143 +-
 .../StorageResourceRegister.java                |    170 +
 .../TestFrameworkProps.java                     |     14 +-
 .../utils/ApplicationProperties.java            |     58 +
 .../utils/ComputeResourceProperties.java        |     54 +
 .../utils/FrameworkUtils.java                   |      6 +-
 .../utils/PropertyFileType.java                 |      8 +-
 .../utils/PropertyReader.java                   |     13 +-
 .../utils/TestFrameworkConstants.java           |    103 +-
 .../main/resources/airavata-client.properties   |     55 -
 .../src/main/resources/airavata-server-stop.sh  |     71 +
 .../main/resources/airavata-server.properties   |    346 +
 .../src/main/resources/airavata_sym.jks         |    Bin 0 -> 501 bytes
 .../local-exp-resources/wrapper/echo_wrapper.sh |      7 +
 .../src/main/resources/log4j.properties         |     41 +
 .../src/main/resources/startup-airavata.sh      |      8 +
 .../src/main/resources/test-framework.json      |     67 +-
 .../main/resources/test-framework.properties    |     45 -
 .../src/main/resources/test-framework.yaml      |     49 -
 modules/test-suite/pom.xml                      |     28 +-
 modules/user-profile-migration/pom.xml          |    129 +
 .../airavata/KeycloakIdentityServerClient.java  |     77 +
 .../org/apache/airavata/MigrationManager.java   |    149 +
 .../UserProfileAiravataThriftClient.java        |     44 +
 .../org/apache/airavata/UserProfileDAO.java     |    118 +
 .../airavata/Wso2ISLoginCredentialsDAO.java     |     78 +
 .../airavata/Wso2IdentityServerClient.java      |    137 +
 modules/user-profile/pom.xml                    |     30 -
 modules/user-profile/user-profile-core/pom.xml  |     88 -
 modules/user-profile/user-profile-stubs/pom.xml |     35 -
 modules/workflow-model/pom.xml                  |     26 +-
 modules/workflow-model/workflow-engine/pom.xml  |     26 +-
 .../catalog/WorkflowCatalogFactory.java         |      4 +-
 .../workflow/engine/WorkflowEngine.java         |      4 +-
 .../engine/WorkflowEngineException.java         |      4 +-
 .../workflow/engine/WorkflowEngineFactory.java  |      4 +-
 .../workflow/engine/WorkflowEngineImpl.java     |      4 +-
 .../airavata/workflow/engine/WorkflowUtils.java |      4 +-
 .../engine/concurrent/PredicatedExecutable.java |      5 +-
 .../engine/concurrent/PredicatedTaskRunner.java |      5 +-
 .../engine/core/amazon/AmazonCredential.java    |      4 +-
 .../engine/core/amazon/EC2InstanceResult.java   |     19 +
 .../engine/core/generators/XmlBeansFiler.java   |      4 +-
 .../core/workflow/ParameterListModel.java       |      4 +-
 .../engine/datadriven/WorkflowHarvester.java    |      4 +-
 .../engine/file/XBayaPathConstants.java         |      4 +-
 .../engine/gfac/GFacRegistryClient.java         |      4 +-
 .../workflow/engine/gfac/SimpleWSClient.java    |      4 +-
 .../engine/globus/FileTransferConstants.java    |      4 +-
 .../globus/GridFTPFileTransferClient.java       |     19 +
 .../engine/graph/controller/NodeController.java |     19 +
 .../engine/interpretor/DoWhileHandler.java      |      3 +-
 .../engine/interpretor/HeaderConstants.java     |      4 +-
 .../SSWorkflowInterpreterInteractorImpl.java    |      4 +-
 .../interpretor/SystemComponentInvoker.java     |      4 +-
 .../WorkFlowInterpreterException.java           |      4 +-
 .../interpretor/WorkflowExecutionMessage.java   |      4 +-
 .../engine/interpretor/WorkflowInterpreter.java |      5 +-
 .../WorkflowInterpreterConfiguration.java       |      4 +-
 .../WorkflowInterpreterInteractor.java          |      4 +-
 .../interpretor/WorkflowInterpreterInvoker.java |      4 +-
 .../WorkflowInterpreterSkeleton2.java           |     19 +
 .../engine/invoker/AsynchronousInvoker.java     |      4 +-
 .../workflow/engine/invoker/DynamicInvoker.java |      4 +-
 .../workflow/engine/invoker/Invoker.java        |      4 +-
 .../invoker/MsgBoxWsaResponsesCorrelator.java   |     21 +-
 .../workflow/engine/invoker/SimpleInvoker.java  |      4 +-
 .../engine/invoker/WorkflowInputUtil.java       |      5 +-
 .../workflow/engine/util/AmazonUtil.java        |      4 +-
 .../airavata/workflow/engine/util/Data.java     |      4 +-
 .../workflow/engine/util/GOConstants.java       |      4 +-
 .../workflow/engine/util/GlobusOnlineUtils.java |     19 +
 .../workflow/engine/util/InterpreterUtil.java   |      3 +-
 .../engine/util/ProxyMonitorPublisher.java      |      4 +-
 .../workflow/engine/util/RegistryConstants.java |      4 +-
 .../workflow/engine/util/TransferFile.java      |      4 +-
 .../workflow/engine/util/XBayaUtil.java         |      4 +-
 .../workflow/WorkflowEngineException.java       |      4 +-
 .../engine/workflow/proxy/ProxyWSDL.java        |      4 +-
 .../engine/workflow/proxy/WorkflowClient.java   |      4 +-
 .../engine/workflow/proxy/WorkflowContext.java  |      4 +-
 .../workflow/proxy/WorkflowProxyException.java  |      4 +-
 .../interpreter/ComplexForEachWorkflowTest.java |     19 +
 .../xbaya/interpreter/ComplexMathService.java   |      4 +-
 .../interpreter/ComplexMathWorkflowTest.java    |     19 +
 .../interpreter/CrossProductWorkflowTest.java   |     19 +
 .../airavata/xbaya/interpreter/EchoService.java |      3 +-
 .../xbaya/interpreter/ForEachWorkflowTest.java  |     19 +
 .../interpreter/LevenshteinDistanceService.java |      4 +-
 .../airavata/xbaya/interpreter/Listener.java    |     19 +
 .../xbaya/interpreter/NotificationSender.java   |     19 +
 .../xbaya/interpreter/RegistryServiceTest.java  |     19 +
 .../interpreter/SimpleForEachWorkflowTest.java  |     19 +
 .../interpreter/SimpleMathWorkflowTest.java     |     19 +
 .../xbaya/interpreter/WorkflowTest.java         |     19 +
 .../xbaya/interpreter/WorkflowTrackingTest.java |     19 +
 .../xbaya/interpreter/XBayaClientTest.java      |      5 +-
 .../interpreter/XBayaConsolidatedTestSuite.java |     19 +
 .../xbaya/interpreter/utils/ConfigKeys.java     |      5 +-
 .../xbaya/interpreter/utils/TestUtilServer.java |     19 +
 .../interpreter/utils/WorkflowTestUtils.java    |     19 +
 .../workflow-model-component/pom.xml            |     26 +-
 .../registry/JCRComponentReference.java         |      4 +-
 .../registry/JCRComponentRegistry.java          |      4 +-
 .../workflow-model/workflow-model-core/pom.xml  |     26 +-
 .../workflow/model/component/Component.java     |      4 +-
 .../model/component/ComponentControlPort.java   |      4 +-
 .../model/component/ComponentDataPort.java      |      4 +-
 .../model/component/ComponentEPRPort.java       |      4 +-
 .../model/component/ComponentException.java     |      4 +-
 .../component/ComponentOperationReference.java  |      4 +-
 .../workflow/model/component/ComponentPort.java |      4 +-
 .../model/component/ComponentReference.java     |      4 +-
 .../model/component/ComponentRegistry.java      |      4 +-
 .../component/ComponentRegistryException.java   |      4 +-
 .../amazon/AmazonComponentRegistry.java         |      4 +-
 .../component/amazon/InstanceComponent.java     |      4 +-
 .../amazon/InstanceComponentDataPort.java       |      4 +-
 .../amazon/TerminateInstanceComponent.java      |      4 +-
 .../component/dynamic/DynamicComponent.java     |      4 +-
 .../component/dynamic/DynamicComponentPort.java |      4 +-
 .../local/LocalComponentReference.java          |      4 +-
 .../component/local/LocalComponentRegistry.java |      4 +-
 .../model/component/system/BlockComponent.java  |      4 +-
 .../component/system/ConstantComponent.java     |      4 +-
 .../system/DifferedInputComponent.java          |      8 +-
 .../component/system/DoWhileComponent.java      |      4 +-
 .../component/system/EndBlockComponent.java     |      4 +-
 .../component/system/EndDoWhileComponent.java   |      4 +-
 .../component/system/EndForEachComponent.java   |      4 +-
 .../model/component/system/EndifComponent.java  |      4 +-
 .../model/component/system/ExitComponent.java   |      4 +-
 .../component/system/ForEachComponent.java      |      4 +-
 .../model/component/system/IfComponent.java     |      4 +-
 .../model/component/system/InputComponent.java  |      4 +-
 .../model/component/system/MemoComponent.java   |      4 +-
 .../model/component/system/OutputComponent.java |      4 +-
 .../component/system/ReceiveComponent.java      |      4 +-
 .../component/system/S3InputComponent.java      |      4 +-
 .../component/system/StreamSourceComponent.java |      4 +-
 .../component/system/SubWorkflowComponent.java  |      4 +-
 .../model/component/system/SystemComponent.java |      4 +-
 .../system/SystemComponentDataPort.java         |      4 +-
 .../system/SystemComponentReference.java        |      4 +-
 .../system/SystemComponentRegistry.java         |      4 +-
 .../component/url/URLComponentReference.java    |      4 +-
 .../component/url/URLComponentRegistry.java     |      4 +-
 .../component/web/WebComponentReference.java    |      4 +-
 .../component/web/WebComponentRegistry.java     |      4 +-
 .../model/component/ws/WSComponent.java         |      4 +-
 .../component/ws/WSComponentApplication.java    |      5 +-
 .../ws/WSComponentApplicationParameter.java     |      4 +-
 .../model/component/ws/WSComponentFactory.java  |      4 +-
 .../model/component/ws/WSComponentKey.java      |      4 +-
 .../model/component/ws/WSComponentPort.java     |      4 +-
 .../component/ws/WSComponentReference.java      |      4 +-
 .../model/component/ws/WSComponentRegistry.java |      4 +-
 .../model/component/ws/WorkflowComponent.java   |      4 +-
 .../exceptions/LazyLoadedDataException.java     |      4 +-
 .../model/exceptions/UtilsException.java        |      4 +-
 .../model/exceptions/WorkflowException.java     |      4 +-
 .../exceptions/WorkflowRuntimeException.java    |      4 +-
 .../airavata/workflow/model/gpel/DSCUtil.java   |      4 +-
 .../workflow/model/gpel/script/BPELScript.java  |      6 +-
 .../model/gpel/script/BPELScriptType.java       |      4 +-
 .../model/gpel/script/WorkflowWSDL.java         |      5 +-
 .../workflow/model/graph/ControlEdge.java       |      4 +-
 .../workflow/model/graph/ControlPort.java       |      4 +-
 .../airavata/workflow/model/graph/DataEdge.java |      4 +-
 .../airavata/workflow/model/graph/DataPort.java |      4 +-
 .../airavata/workflow/model/graph/EPRPort.java  |      4 +-
 .../airavata/workflow/model/graph/Edge.java     |      4 +-
 .../model/graph/ForEachExecutableNode.java      |      5 +-
 .../airavata/workflow/model/graph/Graph.java    |      4 +-
 .../workflow/model/graph/GraphException.java    |      4 +-
 .../workflow/model/graph/GraphFactory.java      |      4 +-
 .../workflow/model/graph/GraphPiece.java        |      4 +-
 .../workflow/model/graph/GraphSchema.java       |      4 +-
 .../airavata/workflow/model/graph/Node.java     |      4 +-
 .../airavata/workflow/model/graph/Port.java     |      4 +-
 .../model/graph/amazon/InstanceDataPort.java    |      4 +-
 .../model/graph/amazon/InstanceNode.java        |      4 +-
 .../model/graph/amazon/ResourceNode.java        |      4 +-
 .../graph/amazon/TerminateInstanceNode.java     |      4 +-
 .../model/graph/dynamic/BasicTypeMapping.java   |      4 +-
 .../model/graph/dynamic/DynamicNode.java        |      4 +-
 .../model/graph/dynamic/DynamicPort.java        |      4 +-
 .../model/graph/dynamic/PortAddable.java        |      4 +-
 .../model/graph/dynamic/SchemaCompilerUtil.java |      4 +-
 .../workflow/model/graph/impl/EdgeImpl.java     |      4 +-
 .../workflow/model/graph/impl/GraphImpl.java    |      4 +-
 .../workflow/model/graph/impl/NodeImpl.java     |      4 +-
 .../workflow/model/graph/impl/PortImpl.java     |      4 +-
 .../graph/subworkflow/SubWorkflowNode.java      |      4 +-
 .../workflow/model/graph/system/BlockNode.java  |      4 +-
 .../model/graph/system/ConstantNode.java        |      4 +-
 .../model/graph/system/DifferedInputNode.java   |      7 +-
 .../model/graph/system/DoWhileNode.java         |      4 +-
 .../model/graph/system/EndBlockNode.java        |      4 +-
 .../model/graph/system/EndDoWhileNode.java      |      4 +-
 .../model/graph/system/EndForEachNode.java      |      4 +-
 .../workflow/model/graph/system/EndifNode.java  |      4 +-
 .../workflow/model/graph/system/ExitNode.java   |      4 +-
 .../model/graph/system/ForEachNode.java         |      4 +-
 .../workflow/model/graph/system/IfNode.java     |      4 +-
 .../workflow/model/graph/system/InputNode.java  |      4 +-
 .../workflow/model/graph/system/MemoNode.java   |      4 +-
 .../workflow/model/graph/system/OutputNode.java |      4 +-
 .../model/graph/system/ParameterNode.java       |      4 +-
 .../model/graph/system/ReceiveNode.java         |      4 +-
 .../model/graph/system/S3InputNode.java         |      4 +-
 .../model/graph/system/StreamSourceNode.java    |      4 +-
 .../model/graph/system/SystemDataPort.java      |      4 +-
 .../workflow/model/graph/system/SystemNode.java |      4 +-
 .../workflow/model/graph/util/GraphUtil.java    |      4 +-
 .../workflow/model/graph/ws/WSGraph.java        |      4 +-
 .../workflow/model/graph/ws/WSGraphFactory.java |      4 +-
 .../workflow/model/graph/ws/WSNode.java         |      4 +-
 .../workflow/model/graph/ws/WSPort.java         |      4 +-
 .../workflow/model/graph/ws/WorkflowNode.java   |      4 +-
 .../workflow/model/ode/ODEBPELTransformer.java  |     19 +
 .../airavata/workflow/model/ode/ODEClient.java  |     19 +
 .../model/ode/ODEDeploymentDescriptor.java      |     19 +
 .../workflow/model/ode/ODEWSDLTransformer.java  |     19 +
 .../workflow/model/ode/WSDLCleaner.java         |     19 +
 .../model/utils/ApplicationVersion.java         |      4 +-
 .../workflow/model/utils/FileConstants.java     |      4 +-
 .../workflow/model/utils/MessageConstants.java  |      4 +-
 .../workflow/model/utils/WorkflowConstants.java |      4 +-
 .../model/wf/InvalidDataFormatException.java    |      4 +-
 .../workflow/model/wf/TridentTransformer.java   |      4 +-
 .../airavata/workflow/model/wf/Workflow.java    |      5 +-
 .../workflow/model/wf/WorkflowData.java         |      4 +-
 .../model/wf/WorkflowExecutionState.java        |      4 +-
 .../workflow/model/wf/WorkflowInput.java        |      4 +-
 .../workflow/model/xsd/GFacSimpleTypesXSD.java  |      4 +-
 .../model/xsd/LeadContextHeaderXSD.java         |      4 +-
 .../workflow/model/xsd/LeadCrosscutXSD.java     |      4 +-
 modules/workflow/pom.xml                        |     31 +-
 modules/workflow/workflow-core/pom.xml          |     43 +-
 .../airavata/workflow/core/WorkflowBuilder.java |      4 +-
 .../workflow/core/WorkflowEnactmentService.java |      4 +-
 .../airavata/workflow/core/WorkflowFactory.java |      4 +-
 .../airavata/workflow/core/WorkflowInfo.java    |      3 +-
 .../workflow/core/WorkflowInterpreter.java      |      4 +-
 .../apache/airavata/workflow/core/XMLUtil.java  |    585 +
 .../airavata/workflow/core/XmlFormatter.java    |     80 +
 .../workflow/core/dag/edge/DirectedEdge.java    |      4 +-
 .../airavata/workflow/core/dag/edge/Edge.java   |      4 +-
 .../core/dag/nodes/ApplicationNode.java         |      4 +-
 .../core/dag/nodes/ApplicationNodeImpl.java     |      4 +-
 .../workflow/core/dag/nodes/InputNode.java      |      4 +-
 .../workflow/core/dag/nodes/InputNodeImpl.java  |      4 +-
 .../workflow/core/dag/nodes/NodeType.java       |      4 +-
 .../workflow/core/dag/nodes/OutputNode.java     |      4 +-
 .../workflow/core/dag/nodes/OutputNodeImpl.java |      4 +-
 .../workflow/core/dag/nodes/WorkflowNode.java   |      4 +-
 .../airavata/workflow/core/dag/port/InPort.java |      4 +-
 .../workflow/core/dag/port/InputPortIml.java    |      4 +-
 .../workflow/core/dag/port/OutPort.java         |      4 +-
 .../workflow/core/dag/port/OutPortImpl.java     |      4 +-
 .../airavata/workflow/core/dag/port/Port.java   |      4 +-
 .../core/parser/JsonWorkflowParser.java         |      4 +-
 .../workflow/core/parser/ParserException.java   |      3 +-
 .../workflow/core/parser/WorkflowParser.java    |      4 +-
 .../airavata/workflow/core/XMLUtilTest.java     |     55 +
 .../core/parser/JsonWorkflowParserTest.java     |      4 +-
 modules/xbaya-gui/pom.xml                       |     26 +-
 .../apache/airavata/xbaya/ThriftClientData.java |      4 +-
 .../airavata/xbaya/ThriftServiceType.java       |      4 +-
 .../java/org/apache/airavata/xbaya/XBaya.java   |      4 +-
 .../airavata/xbaya/XBayaConfiguration.java      |      4 +-
 .../apache/airavata/xbaya/XBayaConstants.java   |      4 +-
 .../org/apache/airavata/xbaya/XBayaEngine.java  |      4 +-
 .../org/apache/airavata/xbaya/XBayaVersion.java |      4 +-
 .../component/registry/ComponentController.java |      4 +-
 .../registry/ComponentRegistryLoader.java       |      4 +-
 .../xbaya/concurrent/PredicatedExecutable.java  |      5 +-
 .../xbaya/concurrent/PredicatedTaskRunner.java  |      5 +-
 .../xbaya/core/amazon/AmazonCredential.java     |      4 +-
 .../xbaya/core/amazon/EC2InstanceResult.java    |      4 +-
 .../xbaya/core/generators/BPELFiler.java        |      4 +-
 .../xbaya/core/generators/ImageFiler.java       |      4 +-
 .../xbaya/core/generators/JythonFiler.java      |      4 +-
 .../xbaya/core/generators/ODEScriptFiler.java   |      4 +-
 .../xbaya/core/generators/ScuflFiler.java       |      4 +-
 .../xbaya/core/generators/WorkflowFiler.java    |      4 +-
 .../xbaya/core/generators/XmlBeansFiler.java    |      4 +-
 .../core/ide/XBayaExecutionModeListener.java    |      4 +-
 .../xbaya/core/workflow/ParameterListModel.java |      4 +-
 .../xbaya/datadriven/WorkflowHarvester.java     |      4 +-
 .../airavata/xbaya/file/XBayaPathConstants.java |      4 +-
 .../airavata/xbaya/gfac/GFacRegistryClient.java |      4 +-
 .../airavata/xbaya/gfac/SimpleWSClient.java     |      4 +-
 .../xbaya/globus/FileTransferConstants.java     |      4 +-
 .../xbaya/globus/GridFTPFileTransferClient.java |     19 +
 .../xbaya/graph/controller/NodeController.java  |      4 +-
 .../xbaya/interpretor/ExperimentTemplate.java   |     19 +
 .../GUIWorkflowInterpreterInteractorImpl.java   |     19 +
 .../xbaya/interpretor/HeaderConstants.java      |      4 +-
 .../SSWorkflowInterpreterInteractorImpl.java    |     19 +
 .../StandaloneNotificationSender.java           |      4 +-
 .../WorkFlowInterpreterException.java           |      4 +-
 .../interpretor/WorkflowExecutionMessage.java   |      4 +-
 .../interpretor/WorkflowExecutionTemplate.java  |     19 +
 .../xbaya/interpretor/WorkflowInterpreter.java  |     19 +
 .../WorkflowInterpreterConfiguration.java       |     19 +
 .../WorkflowInterpreterInteractor.java          |     19 +
 .../interpretor/WorkflowInterpreterInvoker.java |      4 +-
 .../WorkflowInterpretorEventListener.java       |     19 +
 ...WorkflowInterpretorMessageReceiverInOut.java |     19 +
 .../WorkflowInterpretorSkeleton.java            |     19 +
 .../xbaya/jython/lib/GFacServiceCreator.java    |      4 +-
 .../xbaya/jython/lib/NotificationSender.java    |     19 +
 .../xbaya/jython/lib/ServiceNotifiable.java     |      4 +-
 .../jython/lib/ServiceNotificationSender.java   |     19 +
 .../StandaloneServiceNotificationSender.java    |      4 +-
 .../xbaya/jython/lib/WorkflowNotifiable.java    |      4 +-
 .../xbaya/jython/runner/JythonClassLoader.java  |      4 +-
 .../jython/runner/JythonOneTimeRunner.java      |      4 +-
 .../jython/runner/JythonOneTimeRunnerImpl.java  |      4 +-
 .../xbaya/jython/runner/JythonRunner.java       |      4 +-
 .../xbaya/jython/script/JythonScript.java       |      4 +-
 .../xbaya/menues/tools/ToolsMenuItem.java       |      4 +-
 .../airavata/xbaya/messaging/EventData.java     |      4 +-
 .../xbaya/messaging/EventDataListener.java      |      4 +-
 .../xbaya/messaging/EventDataRepository.java    |      4 +-
 .../airavata/xbaya/messaging/Monitor.java       |      4 +-
 .../xbaya/messaging/MonitorException.java       |      4 +-
 .../xbaya/messaging/NotificationHandler.java    |      4 +-
 .../airavata/xbaya/messaging/event/Event.java   |      4 +-
 .../xbaya/messaging/event/EventListener.java    |      4 +-
 .../xbaya/messaging/event/EventProducer.java    |      4 +-
 .../xbaya/modifier/WorkflowModifier.java        |      4 +-
 .../xbaya/registry/PasswordCallbackImpl.java    |     19 +
 .../xbaya/scufl/script/ScuflScript.java         |     19 +
 .../xbaya/test/util/WorkflowCreator.java        |     19 +
 .../org/apache/airavata/xbaya/ui/XBayaGUI.java  |      4 +-
 .../ui/actions/AbstractBrowserActionItem.java   |      4 +-
 .../ui/actions/registry/browser/AddAction.java  |      4 +-
 .../actions/registry/browser/BrowserAction.java |      4 +-
 .../ui/actions/registry/browser/CopyAction.java |      4 +-
 .../actions/registry/browser/DeleteAction.java  |      4 +-
 .../ui/actions/registry/browser/EditAction.java |      4 +-
 .../actions/registry/browser/ImportAction.java  |      4 +-
 .../actions/registry/browser/RefreshAction.java |      4 +-
 .../ui/actions/registry/browser/ViewAction.java |      4 +-
 .../airavata/xbaya/ui/dialogs/AboutWindow.java  |      4 +-
 .../airavata/xbaya/ui/dialogs/ErrorWindow.java  |      4 +-
 .../ui/dialogs/GlobusFileTransferWindow.java    |     19 +
 .../airavata/xbaya/ui/dialogs/TextWindow.java   |      4 +-
 .../airavata/xbaya/ui/dialogs/WaitDialog.java   |      4 +-
 .../airavata/xbaya/ui/dialogs/XBayaDialog.java  |      4 +-
 .../dialogs/amazon/AmazonEC2InvokerWindow.java  |      4 +-
 .../ui/dialogs/amazon/AmazonS3UtilsWindow.java  |      4 +-
 .../xbaya/ui/dialogs/amazon/BucketsLoader.java  |      4 +-
 .../dialogs/amazon/ChangeCredentialWindow.java  |      4 +-
 .../amazon/EC2InstancesManagementWindow.java    |      4 +-
 .../ui/dialogs/amazon/EC2LaunchWindow.java      |      4 +-
 .../ui/dialogs/amazon/InstancesLoader.java      |      4 +-
 .../xbaya/ui/dialogs/amazon/S3Downloader.java   |      4 +-
 .../xbaya/ui/dialogs/amazon/S3Uploader.java     |      4 +-
 .../ui/dialogs/component/URLRegistryWindow.java |      4 +-
 .../ui/dialogs/component/WebResigtryWindow.java |      4 +-
 .../amazon/InstanceConfigurationDialog.java     |      4 +-
 .../system/ConstantConfigurationDialog.java     |      4 +-
 .../DifferedInputConfigurationDialog.java       |      4 +-
 .../graph/system/DoWhileConfigrationDialog.java |      4 +-
 .../system/EndBlockConfigurationDialog.java     |      4 +-
 .../system/EndDoWhileConfigurationDialog.java   |      4 +-
 .../system/EndForEachConfigurationDialog.java   |      4 +-
 .../graph/system/EndifConfigurationDialog.java  |      4 +-
 .../system/ForEachConfigurationDialog.java      |      4 +-
 .../graph/system/IfConfigurationDialog.java     |      4 +-
 .../graph/system/InputConfigurationDialog.java  |      4 +-
 .../graph/system/MemoConfigurationDialog.java   |      4 +-
 .../graph/system/OutputConfigurationDialog.java |      4 +-
 .../system/ReceiveConfigurationDialog.java      |      4 +-
 .../ui/dialogs/graph/system/S3FileChooser.java  |      4 +-
 .../system/StreamSourceConfigurationDialog.java |      4 +-
 .../graph/ws/ServiceInteractionWindow.java      |      4 +-
 .../xbaya/ui/dialogs/graph/ws/WSNodeWindow.java |      4 +-
 .../monitor/MonitorConfigurationWindow.java     |      4 +-
 .../xbaya/ui/dialogs/monitor/MonitorWindow.java |      4 +-
 .../dialogs/registry/NewRegistryUserDialog.java |      4 +-
 .../ui/dialogs/registry/RegistryWindow.java     |      4 +-
 .../registry/browser/JCRBrowserDialog.java      |      4 +-
 .../workflow/ParameterPropertyWindow.java       |      4 +-
 .../dialogs/workflow/WorkflowImportWindow.java  |      4 +-
 .../workflow/WorkflowPropertyWindow.java        |      4 +-
 .../xbaya/ui/experiment/ExperimentMenu.java     |      4 +-
 .../ui/experiment/LaunchApplicationWindow.java  |      4 +-
 .../ui/experiment/RegistrySearchResult.java     |      4 +-
 .../RegistryWorkflowPublisherWindow.java        |      4 +-
 .../WorkflowInterpreterLaunchWindow.java        |      4 +-
 .../apache/airavata/xbaya/ui/graph/EdgeGUI.java |      4 +-
 .../airavata/xbaya/ui/graph/GraphCanvas.java    |      4 +-
 .../xbaya/ui/graph/GraphCanvasEvent.java        |      4 +-
 .../xbaya/ui/graph/GraphCanvasListener.java     |      4 +-
 .../airavata/xbaya/ui/graph/GraphGUI.java       |      4 +-
 .../airavata/xbaya/ui/graph/GraphPieceGUI.java  |      4 +-
 .../apache/airavata/xbaya/ui/graph/NodeGUI.java |      4 +-
 .../airavata/xbaya/ui/graph/Paintable.java      |      4 +-
 .../apache/airavata/xbaya/ui/graph/PortGUI.java |      4 +-
 .../xbaya/ui/graph/amazon/InstanceNodeGUI.java  |      4 +-
 .../graph/amazon/TerminateInstanceNodeGUI.java  |      4 +-
 .../graph/subworkflow/SubWorkflowNodeGUI.java   |      4 +-
 .../xbaya/ui/graph/system/BlockNodeGUI.java     |      4 +-
 .../ui/graph/system/ConfigurableNodeGUI.java    |      4 +-
 .../xbaya/ui/graph/system/ConstantNodeGUI.java  |      4 +-
 .../ui/graph/system/DifferedInputHandler.java   |      3 +-
 .../ui/graph/system/DifferedInputNodeGUI.java   |      3 +-
 .../xbaya/ui/graph/system/DoWhileNodeGUI.java   |      4 +-
 .../xbaya/ui/graph/system/EndBlockNodeGUI.java  |      4 +-
 .../ui/graph/system/EndDoWhileNodeGUI.java      |      4 +-
 .../ui/graph/system/EndForEachNodeGUI.java      |      4 +-
 .../xbaya/ui/graph/system/EndifNodeGUI.java     |      4 +-
 .../xbaya/ui/graph/system/ExitNodeGUI.java      |      4 +-
 .../xbaya/ui/graph/system/ForEachNodeGUI.java   |      4 +-
 .../xbaya/ui/graph/system/IfNodeGUI.java        |      4 +-
 .../xbaya/ui/graph/system/InputNodeGUI.java     |      4 +-
 .../xbaya/ui/graph/system/MemoNodeGUI.java      |      4 +-
 .../xbaya/ui/graph/system/OutputNodeGUI.java    |      4 +-
 .../xbaya/ui/graph/system/ReceiveNodeGUI.java   |      4 +-
 .../xbaya/ui/graph/system/S3InputNodeGUI.java   |      4 +-
 .../ui/graph/system/StreamSourceNodeGUI.java    |      4 +-
 .../airavata/xbaya/ui/graph/ws/WSNodeGUI.java   |      4 +-
 .../xbaya/ui/graph/ws/WorkflowNodeGUI.java      |      4 +-
 .../xbaya/ui/menues/AmazonEC2MenuItem.java      |      4 +-
 .../xbaya/ui/menues/ApplicationMenuItem.java    |      4 +-
 .../airavata/xbaya/ui/menues/EditMenuItem.java  |      4 +-
 .../airavata/xbaya/ui/menues/MenuIcons.java     |      4 +-
 .../xbaya/ui/menues/RegistryMenuItem.java       |      4 +-
 .../airavata/xbaya/ui/menues/RunMenuItem.java   |      4 +-
 .../airavata/xbaya/ui/menues/ViewMenuItem.java  |      4 +-
 .../airavata/xbaya/ui/menues/XBayaMenu.java     |      4 +-
 .../airavata/xbaya/ui/menues/XBayaMenuItem.java |      4 +-
 .../xbaya/ui/monitor/MonitorEventHandler.java   |      4 +-
 .../xbaya/ui/monitor/MonitorStarter.java        |      4 +-
 .../xbaya/ui/monitor/ResourcePaintable.java     |      4 +-
 .../airavata/xbaya/ui/utils/Cancelable.java     |      4 +-
 .../airavata/xbaya/ui/utils/DrawUtils.java      |      4 +-
 .../airavata/xbaya/ui/utils/ErrorMessages.java  |      4 +-
 .../xbaya/ui/views/ComponentViewer.java         |      4 +-
 .../xbaya/ui/views/JCRBrowserPanel.java         |     19 +
 .../airavata/xbaya/ui/views/MonitorPanel.java   |      4 +-
 .../xbaya/ui/views/ParameterPropertyPanel.java  |      4 +-
 .../airavata/xbaya/ui/views/PortViewer.java     |      4 +-
 .../airavata/xbaya/ui/widgets/GridPanel.java    |      4 +-
 .../airavata/xbaya/ui/widgets/ScrollPanel.java  |      4 +-
 .../xbaya/ui/widgets/TabLabelButton.java        |      4 +-
 .../xbaya/ui/widgets/TableRenderable.java       |      4 +-
 .../xbaya/ui/widgets/ToolbarButton.java         |      4 +-
 .../xbaya/ui/widgets/XBayaComboBox.java         |      4 +-
 .../xbaya/ui/widgets/XBayaComponent.java        |      4 +-
 .../airavata/xbaya/ui/widgets/XBayaLabel.java   |      3 +-
 .../xbaya/ui/widgets/XBayaLinkButton.java       |      4 +-
 .../airavata/xbaya/ui/widgets/XBayaList.java    |      4 +-
 .../xbaya/ui/widgets/XBayaTextArea.java         |      4 +-
 .../xbaya/ui/widgets/XBayaTextComponent.java    |      4 +-
 .../xbaya/ui/widgets/XBayaTextField.java        |      4 +-
 .../airavata/xbaya/ui/widgets/XBayaToolBar.java |      4 +-
 .../xbaya/ui/widgets/XbayaEnhancedList.java     |      4 +-
 .../xbaya/ui/widgets/amazon/S3Tree.java         |      4 +-
 .../xbaya/ui/widgets/amazon/S3TreeModel.java    |      4 +-
 .../ui/widgets/component/ComponentSelector.java |      4 +-
 .../component/ComponentSelectorEvent.java       |      4 +-
 .../component/ComponentSelectorListener.java    |      4 +-
 .../component/ComponentSourceTransferable.java  |      4 +-
 .../widgets/component/ComponentTreeModel.java   |      4 +-
 .../ui/widgets/component/ComponentTreeNode.java |      4 +-
 .../apache/airavata/xbaya/util/AmazonUtil.java  |      4 +-
 .../org/apache/airavata/xbaya/util/Data.java    |      4 +-
 .../apache/airavata/xbaya/util/GOConstants.java |      4 +-
 .../airavata/xbaya/util/GlobusOnlineUtils.java  |     19 +
 .../airavata/xbaya/util/RegistryConstants.java  |      4 +-
 .../airavata/xbaya/util/TransferFile.java       |      4 +-
 .../apache/airavata/xbaya/util/XBayaUtil.java   |      4 +-
 .../airavata/xbaya/workflow/WorkflowClient.java |      4 +-
 .../xbaya/workflow/WorkflowEngineException.java |      4 +-
 .../xbaya/workflow/proxy/ProxyWSDL.java         |      4 +-
 .../xbaya/workflow/proxy/WorkflowClient.java    |      4 +-
 .../xbaya/workflow/proxy/WorkflowContext.java   |      4 +-
 .../workflow/proxy/WorkflowProxyException.java  |      4 +-
 .../interpreter/ComplexForEachWorkflowTest.java |     19 +
 .../xbaya/interpreter/ComplexMathService.java   |      4 +-
 .../interpreter/ComplexMathWorkflowTest.java    |     19 +
 .../interpreter/CrossProductWorkflowTest.java   |     19 +
 .../airavata/xbaya/interpreter/EchoService.java |      3 +-
 .../xbaya/interpreter/ForEachWorkflowTest.java  |     19 +
 .../interpreter/LevenshteinDistanceService.java |      4 +-
 .../airavata/xbaya/interpreter/Listener.java    |     19 +
 .../xbaya/interpreter/NotificationSender.java   |     19 +
 .../xbaya/interpreter/RegistryServiceTest.java  |     19 +
 .../interpreter/SimpleForEachWorkflowTest.java  |     19 +
 .../interpreter/SimpleMathWorkflowTest.java     |     19 +
 .../xbaya/interpreter/WorkflowTest.java         |     19 +
 .../xbaya/interpreter/WorkflowTrackingTest.java |     19 +
 .../xbaya/interpreter/XBayaClientTest.java      |      5 +-
 .../interpreter/XBayaConsolidatedTestSuite.java |     19 +
 .../xbaya/interpreter/utils/ConfigKeys.java     |      5 +-
 .../xbaya/interpreter/utils/TestUtilServer.java |     19 +
 .../interpreter/utils/WorkflowTestUtils.java    |     19 +
 modules/xbaya/pom.xml                           |    329 -
 .../src/main/java/org/airavata/xbaya/App.java   |     32 -
 .../org/airavata/xbaya/ui/home/HomeWindow.java  |     42 -
 .../src/main/resources/images/airavata-2.png    |    Bin 5582 -> 0 bytes
 .../main/resources/images/airavata-config.png   |    Bin 1297 -> 0 bytes
 .../src/main/resources/images/airavata-icon.png |    Bin 584 -> 0 bytes
 .../main/resources/images/airavata-icon2.png    |    Bin 981 -> 0 bytes
 .../src/main/resources/images/airavata-name.png |    Bin 8261 -> 0 bytes
 .../resources/images/airavata-title-text.png    |    Bin 16438 -> 0 bytes
 .../src/main/resources/images/airavata.png      |    Bin 17280 -> 0 bytes
 .../src/main/resources/images/application.png   |    Bin 894 -> 0 bytes
 .../src/main/resources/images/applications.png  |    Bin 657 -> 0 bytes
 .../xbaya/src/main/resources/images/closed.gif  |    Bin 923 -> 0 bytes
 .../xbaya/src/main/resources/images/cloud.png   |    Bin 573 -> 0 bytes
 .../src/main/resources/images/experiment.png    |    Bin 543 -> 0 bytes
 .../src/main/resources/images/experiments.png   |    Bin 1142 -> 0 bytes
 .../src/main/resources/images/gfac_url.png      |    Bin 739 -> 0 bytes
 .../src/main/resources/images/gfac_urls.png     |    Bin 816 -> 0 bytes
 .../xbaya/src/main/resources/images/host.png    |    Bin 652 -> 0 bytes
 .../xbaya/src/main/resources/images/hosts.png   |    Bin 671 -> 0 bytes
 .../src/main/resources/images/input_para.png    |    Bin 428 -> 0 bytes
 .../src/main/resources/images/jcr-repo.png      |    Bin 1010 -> 0 bytes
 .../xbaya/src/main/resources/images/leaf.gif    |    Bin 906 -> 0 bytes
 .../src/main/resources/images/menu/jcr.png      |    Bin 1158 -> 0 bytes
 .../src/main/resources/images/menu/new2.png     |    Bin 1175 -> 0 bytes
 .../src/main/resources/images/menu/open1.png    |    Bin 925 -> 0 bytes
 .../src/main/resources/images/menu/open2.png    |    Bin 964 -> 0 bytes
 .../src/main/resources/images/menu/open_dir.png |    Bin 749 -> 0 bytes
 .../src/main/resources/images/menu/pause1.png   |    Bin 1101 -> 0 bytes
 .../resources/images/menu/pause_monitor1.png    |    Bin 873 -> 0 bytes
 .../src/main/resources/images/menu/play3.png    |    Bin 1192 -> 0 bytes
 .../src/main/resources/images/menu/play4.png    |    Bin 765 -> 0 bytes
 .../images/menu/resume_monitoring1.png          |    Bin 957 -> 0 bytes
 .../src/main/resources/images/menu/save1.png    |    Bin 1200 -> 0 bytes
 .../src/main/resources/images/menu/stop.png     |    Bin 316 -> 0 bytes
 .../xbaya/src/main/resources/images/opened.gif  |    Bin 917 -> 0 bytes
 .../src/main/resources/images/output_para.png   |    Bin 490 -> 0 bytes
 .../src/main/resources/images/parameter.png     |    Bin 544 -> 0 bytes
 .../xbaya/src/main/resources/images/pause.jpeg  |    Bin 458 -> 0 bytes
 .../xbaya/src/main/resources/images/play.jpeg   |    Bin 471 -> 0 bytes
 .../src/main/resources/images/registry.png      |    Bin 3419 -> 0 bytes
 .../xbaya/src/main/resources/images/service.png |    Bin 871 -> 0 bytes
 .../src/main/resources/images/services.png      |    Bin 899 -> 0 bytes
 .../xbaya/src/main/resources/images/step.gif    |    Bin 211 -> 0 bytes
 .../xbaya/src/main/resources/images/stop.jpeg   |    Bin 497 -> 0 bytes
 .../src/main/resources/images/workflow.png      |    Bin 601 -> 0 bytes
 .../resources/images/workflow_templates.png     |    Bin 710 -> 0 bytes
 .../src/main/resources/images/workflows.png     |    Bin 778 -> 0 bytes
 .../xbaya/src/main/resources/views/home.fxml    |    587 -
 .../test/java/org/airavata/xbaya/AppTest.java   |     58 -
 pom.xml                                         |   1337 +-
 sandbox/amqpwstunnel/python/amqpwstunnel.py     |    603 +
 sandbox/amqpwstunnel/python/config.json         |     10 +
 sandbox/amqpwstunnel/wstest.html                |    178 +
 sandbox/job-status-rest-server/README.MD        |      9 +
 sandbox/job-status-rest-server/api_test.py      |     26 +
 sandbox/job-status-rest-server/app.py           |     70 +
 sandbox/simstream/README.md                     |     18 +
 sandbox/simstream/example/README.md             |      9 +
 .../simstream/example/logfile_checker/README.md |     23 +
 .../example/logfile_checker/generate_logs.sh    |     42 +
 .../example/logfile_checker/log_consumer.py     |     63 +
 .../example/logfile_checker/log_streamer.py     |    131 +
 .../example/logfile_checker/remote_log.slurm    |     21 +
 .../simstream/example/logfile_checker/test.txt  |    677 +
 .../simstream/example/mem_streamer/README.md    |     17 +
 .../example/mem_streamer/memory_consumption.py  |    103 +
 .../example/mem_streamer/memory_streamer.py     |     66 +
 .../simstream/example/openmm_example/README.md  |     33 +
 .../application/alanine_dipeptide.py            |     75 +
 .../openmm_example/application/input.pdb        |     24 +
 .../openmm_example/application/trajectory.dcd   |      0
 .../example/openmm_example/openmm_consumer.py   |     28 +
 .../openmm_example/openmm_log_consumer.py       |     52 +
 .../openmm_example/openmm_rmsd_consumer.py      |     56 +
 .../example/openmm_example/openmm_stream.slurm  |     19 +
 .../example/openmm_example/openmm_streamer.py   |    150 +
 .../simstream/example/openmm_example/test.txt   |     20 +
 sandbox/simstream/example/settings.json         |      6 +
 sandbox/simstream/setup.py                      |     39 +
 sandbox/simstream/simstream/__init__.py         |     31 +
 sandbox/simstream/simstream/datacollector.py    |    130 +
 sandbox/simstream/simstream/datareporter.py     |    189 +
 sandbox/simstream/simstream/eventhandler.py     |     37 +
 sandbox/simstream/simstream/eventmonitor.py     |     66 +
 .../simstream/simstream/pikaasyncconsumer.py    |    223 +
 sandbox/simstream/simstream/pikaproducer.py     |    222 +
 sandbox/simstream/simstream/simstream.py        |    187 +
 .../airavata-apis/airavata_api.thrift           |    613 +-
 .../airavata-apis/airavata_errors.thrift        |      9 +
 .../airavata-apis/db_event_model.thrift         |     81 +
 .../airavata-apis/messaging_events.thrift       |      3 +-
 .../component-cpis/credential-store-cpi.thrift  |     16 +-
 .../credential_store_data_models.thrift         |     62 -
 .../component-cpis/generate-cpi-stubs.sh        |     46 +-
 .../component-cpis/registry-api.thrift          |    395 +-
 .../component-cpis/user-profile-cpi.thrift      |     57 +
 .../user_profile_cpi_errors.thrift              |     32 +
 .../data-models/airavata_data_models.thrift     |      7 +-
 .../application_deployment_model.thrift         |      5 +
 .../application_io_models.thrift                |      3 +-
 .../credential_store_data_models.thrift         |     89 +
 .../experiment_model.thrift                     |      1 +
 .../process_model.thrift                        |      3 +-
 .../status_models.thrift                        |      9 +
 .../replica_catalog_models.thrift               |     31 +-
 .../compute_resource_model.thrift               |     22 +-
 .../resource_catalog_models.thrift              |      3 +-
 .../user_resource_profile_model.thrift          |    109 +
 .../user-group-models/group_manager_cpi.thrift  |     95 -
 .../group_manager_model.thrift                  |     47 -
 .../user-group-models/user_profile_model.thrift |    185 -
 .../group_manager_model.thrift                  |     48 +
 .../tenant_profile_model.thrift                 |     58 +
 .../user_profile_model.thrift                   |    196 +
 .../generate-thrift-stubs.sh                    |     42 +-
 .../service-cpis/generate-service-cpi-stubs.sh  |    181 +
 .../iam-admin-services-cpi.thrift               |     81 +
 .../iam_admin_services_cpi_errors.thrift        |     32 +
 .../profile-service/profile-service-cpi.thrift  |     34 +
 .../profile-tenant/profile-tenant-cpi.thrift    |     70 +
 .../profile_tenant_cpi_errors.thrift            |     32 +
 .../profile-user/profile-user-cpi.thrift        |     74 +
 .../profile-user/profile_user_cpi_errors.thrift |     32 +
 tools/gsissh-cli-tools/README.txt               |     20 +
 tools/gsissh-cli-tools/pom.xml                  |     29 +-
 .../ssh/cli/SSHApiClientWithMyProxyAuth.java    |      4 +-
 tools/phoebus-integration/pom.xml               |     26 +-
 .../impl/PhoebusGridConfigurationHandler.java   |      4 +-
 .../airavata/core/gfac/utils/PhoebusUtils.java  |      4 +-
 tools/pom.xml                                   |     26 +-
 tools/rabbitmq-download-start.sh                |     20 +
 2272 files changed, 477590 insertions(+), 137414 deletions(-)
----------------------------------------------------------------------



[38/50] [abbrv] airavata git commit: LSF job id parsing checks if there is job id before parsing

Posted by sm...@apache.org.
LSF job id parsing checks if there is job id before parsing


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

Branch: refs/heads/registry-refactoring
Commit: 9ef08205c1f030b9252177c2076b310a16f1764c
Parents: 31a6705
Author: Marcus Christie <ma...@apache.org>
Authored: Tue May 9 12:39:59 2017 -0400
Committer: Marcus Christie <ma...@apache.org>
Committed: Tue May 9 12:39:59 2017 -0400

----------------------------------------------------------------------
 .../org/apache/airavata/gfac/core/cluster/OutputParser.java    | 2 +-
 .../org/apache/airavata/gfac/impl/job/LSFOutputParser.java     | 6 +++++-
 2 files changed, 6 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/9ef08205/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cluster/OutputParser.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cluster/OutputParser.java b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cluster/OutputParser.java
index abe1805..59cf94d 100644
--- a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cluster/OutputParser.java
+++ b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cluster/OutputParser.java
@@ -30,7 +30,7 @@ public interface OutputParser {
     /**
      * This can be used to parseSingleJob the result of a job submission to get the JobID
      * @param rawOutput
-     * @return
+     * @return the job id as a String, or null if no job id found
      */
     public String parseJobSubmission(String rawOutput)throws GFacException;
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/9ef08205/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/job/LSFOutputParser.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/job/LSFOutputParser.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/job/LSFOutputParser.java
index 0a82091..aab20b8 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/job/LSFOutputParser.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/job/LSFOutputParser.java
@@ -40,7 +40,11 @@ public class LSFOutputParser implements OutputParser {
     @Override
     public String parseJobSubmission(String rawOutput) throws GFacException {
         logger.debug(rawOutput);
-        return rawOutput.substring(rawOutput.indexOf("<")+1,rawOutput.indexOf(">"));
+        if (rawOutput.indexOf("<") >= 0) {
+            return rawOutput.substring(rawOutput.indexOf("<")+1,rawOutput.indexOf(">"));
+        } else {
+            return null;
+        }
     }
 
     @Override


[32/50] [abbrv] airavata git commit: Remove references to userName and instead use userId

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/f5a4e9dd/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/user/cpi/UserProfileService.java
----------------------------------------------------------------------
diff --git a/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/user/cpi/UserProfileService.java b/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/user/cpi/UserProfileService.java
index 21e1c36..a7332c5 100644
--- a/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/user/cpi/UserProfileService.java
+++ b/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/user/cpi/UserProfileService.java
@@ -65,9 +65,7 @@ public class UserProfileService {
 
     public List<org.apache.airavata.model.user.UserProfile> getAllUserProfilesInGateway(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, int offset, int limit) throws org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
-    public org.apache.airavata.model.user.UserProfile getUserProfileByName(org.apache.airavata.model.security.AuthzToken authzToken, String userName, String gatewayId) throws org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
-
-    public boolean doesUserExist(org.apache.airavata.model.security.AuthzToken authzToken, String userName, String gatewayId) throws org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
+    public boolean doesUserExist(org.apache.airavata.model.security.AuthzToken authzToken, String userId, String gatewayId) throws org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
   }
 
@@ -83,9 +81,7 @@ public class UserProfileService {
 
     public void getAllUserProfilesInGateway(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, int offset, int limit, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void getUserProfileByName(org.apache.airavata.model.security.AuthzToken authzToken, String userName, String gatewayId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
-
-    public void doesUserExist(org.apache.airavata.model.security.AuthzToken authzToken, String userName, String gatewayId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void doesUserExist(org.apache.airavata.model.security.AuthzToken authzToken, String userId, String gatewayId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
   }
 
@@ -263,48 +259,17 @@ public class UserProfileService {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllUserProfilesInGateway failed: unknown result");
     }
 
-    public org.apache.airavata.model.user.UserProfile getUserProfileByName(org.apache.airavata.model.security.AuthzToken authzToken, String userName, String gatewayId) throws org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
-    {
-      send_getUserProfileByName(authzToken, userName, gatewayId);
-      return recv_getUserProfileByName();
-    }
-
-    public void send_getUserProfileByName(org.apache.airavata.model.security.AuthzToken authzToken, String userName, String gatewayId) throws org.apache.thrift.TException
-    {
-      getUserProfileByName_args args = new getUserProfileByName_args();
-      args.setAuthzToken(authzToken);
-      args.setUserName(userName);
-      args.setGatewayId(gatewayId);
-      sendBase("getUserProfileByName", args);
-    }
-
-    public org.apache.airavata.model.user.UserProfile recv_getUserProfileByName() throws org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
-    {
-      getUserProfileByName_result result = new getUserProfileByName_result();
-      receiveBase(result, "getUserProfileByName");
-      if (result.isSetSuccess()) {
-        return result.success;
-      }
-      if (result.upe != null) {
-        throw result.upe;
-      }
-      if (result.ae != null) {
-        throw result.ae;
-      }
-      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getUserProfileByName failed: unknown result");
-    }
-
-    public boolean doesUserExist(org.apache.airavata.model.security.AuthzToken authzToken, String userName, String gatewayId) throws org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
+    public boolean doesUserExist(org.apache.airavata.model.security.AuthzToken authzToken, String userId, String gatewayId) throws org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
-      send_doesUserExist(authzToken, userName, gatewayId);
+      send_doesUserExist(authzToken, userId, gatewayId);
       return recv_doesUserExist();
     }
 
-    public void send_doesUserExist(org.apache.airavata.model.security.AuthzToken authzToken, String userName, String gatewayId) throws org.apache.thrift.TException
+    public void send_doesUserExist(org.apache.airavata.model.security.AuthzToken authzToken, String userId, String gatewayId) throws org.apache.thrift.TException
     {
       doesUserExist_args args = new doesUserExist_args();
       args.setAuthzToken(authzToken);
-      args.setUserName(userName);
+      args.setUserId(userId);
       args.setGatewayId(gatewayId);
       sendBase("doesUserExist", args);
     }
@@ -530,59 +495,21 @@ public class UserProfileService {
       }
     }
 
-    public void getUserProfileByName(org.apache.airavata.model.security.AuthzToken authzToken, String userName, String gatewayId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
-      checkReady();
-      getUserProfileByName_call method_call = new getUserProfileByName_call(authzToken, userName, gatewayId, resultHandler, this, ___protocolFactory, ___transport);
-      this.___currentMethod = method_call;
-      ___manager.call(method_call);
-    }
-
-    public static class getUserProfileByName_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private org.apache.airavata.model.security.AuthzToken authzToken;
-      private String userName;
-      private String gatewayId;
-      public getUserProfileByName_call(org.apache.airavata.model.security.AuthzToken authzToken, String userName, String gatewayId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
-        super(client, protocolFactory, transport, resultHandler, false);
-        this.authzToken = authzToken;
-        this.userName = userName;
-        this.gatewayId = gatewayId;
-      }
-
-      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
-        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getUserProfileByName", org.apache.thrift.protocol.TMessageType.CALL, 0));
-        getUserProfileByName_args args = new getUserProfileByName_args();
-        args.setAuthzToken(authzToken);
-        args.setUserName(userName);
-        args.setGatewayId(gatewayId);
-        args.write(prot);
-        prot.writeMessageEnd();
-      }
-
-      public org.apache.airavata.model.user.UserProfile getResult() throws org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
-        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new IllegalStateException("Method call not finished!");
-        }
-        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
-        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
-        return (new Client(prot)).recv_getUserProfileByName();
-      }
-    }
-
-    public void doesUserExist(org.apache.airavata.model.security.AuthzToken authzToken, String userName, String gatewayId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void doesUserExist(org.apache.airavata.model.security.AuthzToken authzToken, String userId, String gatewayId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      doesUserExist_call method_call = new doesUserExist_call(authzToken, userName, gatewayId, resultHandler, this, ___protocolFactory, ___transport);
+      doesUserExist_call method_call = new doesUserExist_call(authzToken, userId, gatewayId, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class doesUserExist_call extends org.apache.thrift.async.TAsyncMethodCall {
       private org.apache.airavata.model.security.AuthzToken authzToken;
-      private String userName;
+      private String userId;
       private String gatewayId;
-      public doesUserExist_call(org.apache.airavata.model.security.AuthzToken authzToken, String userName, String gatewayId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      public doesUserExist_call(org.apache.airavata.model.security.AuthzToken authzToken, String userId, String gatewayId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
         this.authzToken = authzToken;
-        this.userName = userName;
+        this.userId = userId;
         this.gatewayId = gatewayId;
       }
 
@@ -590,7 +517,7 @@ public class UserProfileService {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("doesUserExist", org.apache.thrift.protocol.TMessageType.CALL, 0));
         doesUserExist_args args = new doesUserExist_args();
         args.setAuthzToken(authzToken);
-        args.setUserName(userName);
+        args.setUserId(userId);
         args.setGatewayId(gatewayId);
         args.write(prot);
         prot.writeMessageEnd();
@@ -624,7 +551,6 @@ public class UserProfileService {
       processMap.put("getUserProfileById", new getUserProfileById());
       processMap.put("deleteUserProfile", new deleteUserProfile());
       processMap.put("getAllUserProfilesInGateway", new getAllUserProfilesInGateway());
-      processMap.put("getUserProfileByName", new getUserProfileByName());
       processMap.put("doesUserExist", new doesUserExist());
       return processMap;
     }
@@ -761,32 +687,6 @@ public class UserProfileService {
       }
     }
 
-    public static class getUserProfileByName<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getUserProfileByName_args> {
-      public getUserProfileByName() {
-        super("getUserProfileByName");
-      }
-
-      public getUserProfileByName_args getEmptyArgsInstance() {
-        return new getUserProfileByName_args();
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public getUserProfileByName_result getResult(I iface, getUserProfileByName_args args) throws org.apache.thrift.TException {
-        getUserProfileByName_result result = new getUserProfileByName_result();
-        try {
-          result.success = iface.getUserProfileByName(args.authzToken, args.userName, args.gatewayId);
-        } catch (org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException upe) {
-          result.upe = upe;
-        } catch (org.apache.airavata.model.error.AuthorizationException ae) {
-          result.ae = ae;
-        }
-        return result;
-      }
-    }
-
     public static class doesUserExist<I extends Iface> extends org.apache.thrift.ProcessFunction<I, doesUserExist_args> {
       public doesUserExist() {
         super("doesUserExist");
@@ -803,7 +703,7 @@ public class UserProfileService {
       public doesUserExist_result getResult(I iface, doesUserExist_args args) throws org.apache.thrift.TException {
         doesUserExist_result result = new doesUserExist_result();
         try {
-          result.success = iface.doesUserExist(args.authzToken, args.userName, args.gatewayId);
+          result.success = iface.doesUserExist(args.authzToken, args.userId, args.gatewayId);
           result.setSuccessIsSet(true);
         } catch (org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException upe) {
           result.upe = upe;
@@ -832,7 +732,6 @@ public class UserProfileService {
       processMap.put("getUserProfileById", new getUserProfileById());
       processMap.put("deleteUserProfile", new deleteUserProfile());
       processMap.put("getAllUserProfilesInGateway", new getAllUserProfilesInGateway());
-      processMap.put("getUserProfileByName", new getUserProfileByName());
       processMap.put("doesUserExist", new doesUserExist());
       return processMap;
     }
@@ -1149,68 +1048,6 @@ public class UserProfileService {
       }
     }
 
-    public static class getUserProfileByName<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getUserProfileByName_args, org.apache.airavata.model.user.UserProfile> {
-      public getUserProfileByName() {
-        super("getUserProfileByName");
-      }
-
-      public getUserProfileByName_args getEmptyArgsInstance() {
-        return new getUserProfileByName_args();
-      }
-
-      public AsyncMethodCallback<org.apache.airavata.model.user.UserProfile> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
-        final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<org.apache.airavata.model.user.UserProfile>() { 
-          public void onComplete(org.apache.airavata.model.user.UserProfile o) {
-            getUserProfileByName_result result = new getUserProfileByName_result();
-            result.success = o;
-            try {
-              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
-              return;
-            } catch (Exception e) {
-              LOGGER.error("Exception writing to internal frame buffer", e);
-            }
-            fb.close();
-          }
-          public void onError(Exception e) {
-            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
-            getUserProfileByName_result result = new getUserProfileByName_result();
-            if (e instanceof org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException) {
-                        result.upe = (org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException) e;
-                        result.setUpeIsSet(true);
-                        msg = result;
-            }
-            else             if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
-                        result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
-                        result.setAeIsSet(true);
-                        msg = result;
-            }
-             else 
-            {
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
-            }
-            try {
-              fcall.sendResponse(fb,msg,msgType,seqid);
-              return;
-            } catch (Exception ex) {
-              LOGGER.error("Exception writing to internal frame buffer", ex);
-            }
-            fb.close();
-          }
-        };
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public void start(I iface, getUserProfileByName_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.user.UserProfile> resultHandler) throws TException {
-        iface.getUserProfileByName(args.authzToken, args.userName, args.gatewayId,resultHandler);
-      }
-    }
-
     public static class doesUserExist<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, doesUserExist_args, Boolean> {
       public doesUserExist() {
         super("doesUserExist");
@@ -1270,7 +1107,7 @@ public class UserProfileService {
       }
 
       public void start(I iface, doesUserExist_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
-        iface.doesUserExist(args.authzToken, args.userName, args.gatewayId,resultHandler);
+        iface.doesUserExist(args.authzToken, args.userId, args.gatewayId,resultHandler);
       }
     }
 
@@ -6918,27 +6755,27 @@ public class UserProfileService {
 
   }
 
-  public static class getUserProfileByName_args implements org.apache.thrift.TBase<getUserProfileByName_args, getUserProfileByName_args._Fields>, java.io.Serializable, Cloneable, Comparable<getUserProfileByName_args>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getUserProfileByName_args");
+  public static class doesUserExist_args implements org.apache.thrift.TBase<doesUserExist_args, doesUserExist_args._Fields>, java.io.Serializable, Cloneable, Comparable<doesUserExist_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("doesUserExist_args");
 
     private static final org.apache.thrift.protocol.TField AUTHZ_TOKEN_FIELD_DESC = new org.apache.thrift.protocol.TField("authzToken", org.apache.thrift.protocol.TType.STRUCT, (short)1);
-    private static final org.apache.thrift.protocol.TField USER_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("userName", org.apache.thrift.protocol.TType.STRING, (short)2);
+    private static final org.apache.thrift.protocol.TField USER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("userId", org.apache.thrift.protocol.TType.STRING, (short)2);
     private static final org.apache.thrift.protocol.TField GATEWAY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayId", org.apache.thrift.protocol.TType.STRING, (short)3);
 
     private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
     static {
-      schemes.put(StandardScheme.class, new getUserProfileByName_argsStandardSchemeFactory());
-      schemes.put(TupleScheme.class, new getUserProfileByName_argsTupleSchemeFactory());
+      schemes.put(StandardScheme.class, new doesUserExist_argsStandardSchemeFactory());
+      schemes.put(TupleScheme.class, new doesUserExist_argsTupleSchemeFactory());
     }
 
     public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public String userName; // required
+    public String userId; // required
     public String gatewayId; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
       AUTHZ_TOKEN((short)1, "authzToken"),
-      USER_NAME((short)2, "userName"),
+      USER_ID((short)2, "userId"),
       GATEWAY_ID((short)3, "gatewayId");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
@@ -6956,8 +6793,8 @@ public class UserProfileService {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
             return AUTHZ_TOKEN;
-          case 2: // USER_NAME
-            return USER_NAME;
+          case 2: // USER_ID
+            return USER_ID;
           case 3: // GATEWAY_ID
             return GATEWAY_ID;
           default:
@@ -7005,51 +6842,51 @@ public class UserProfileService {
       Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
       tmpMap.put(_Fields.AUTHZ_TOKEN, new org.apache.thrift.meta_data.FieldMetaData("authzToken", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.security.AuthzToken.class)));
-      tmpMap.put(_Fields.USER_NAME, new org.apache.thrift.meta_data.FieldMetaData("userName", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+      tmpMap.put(_Fields.USER_ID, new org.apache.thrift.meta_data.FieldMetaData("userId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
       tmpMap.put(_Fields.GATEWAY_ID, new org.apache.thrift.meta_data.FieldMetaData("gatewayId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
       metaDataMap = Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getUserProfileByName_args.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(doesUserExist_args.class, metaDataMap);
     }
 
-    public getUserProfileByName_args() {
+    public doesUserExist_args() {
     }
 
-    public getUserProfileByName_args(
+    public doesUserExist_args(
       org.apache.airavata.model.security.AuthzToken authzToken,
-      String userName,
+      String userId,
       String gatewayId)
     {
       this();
       this.authzToken = authzToken;
-      this.userName = userName;
+      this.userId = userId;
       this.gatewayId = gatewayId;
     }
 
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public getUserProfileByName_args(getUserProfileByName_args other) {
+    public doesUserExist_args(doesUserExist_args other) {
       if (other.isSetAuthzToken()) {
         this.authzToken = new org.apache.airavata.model.security.AuthzToken(other.authzToken);
       }
-      if (other.isSetUserName()) {
-        this.userName = other.userName;
+      if (other.isSetUserId()) {
+        this.userId = other.userId;
       }
       if (other.isSetGatewayId()) {
         this.gatewayId = other.gatewayId;
       }
     }
 
-    public getUserProfileByName_args deepCopy() {
-      return new getUserProfileByName_args(this);
+    public doesUserExist_args deepCopy() {
+      return new doesUserExist_args(this);
     }
 
     @Override
     public void clear() {
       this.authzToken = null;
-      this.userName = null;
+      this.userId = null;
       this.gatewayId = null;
     }
 
@@ -7057,7 +6894,7 @@ public class UserProfileService {
       return this.authzToken;
     }
 
-    public getUserProfileByName_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public doesUserExist_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -7077,27 +6914,27 @@ public class UserProfileService {
       }
     }
 
-    public String getUserName() {
-      return this.userName;
+    public String getUserId() {
+      return this.userId;
     }
 
-    public getUserProfileByName_args setUserName(String userName) {
-      this.userName = userName;
+    public doesUserExist_args setUserId(String userId) {
+      this.userId = userId;
       return this;
     }
 
-    public void unsetUserName() {
-      this.userName = null;
+    public void unsetUserId() {
+      this.userId = null;
     }
 
-    /** Returns true if field userName is set (has been assigned a value) and false otherwise */
-    public boolean isSetUserName() {
-      return this.userName != null;
+    /** Returns true if field userId is set (has been assigned a value) and false otherwise */
+    public boolean isSetUserId() {
+      return this.userId != null;
     }
 
-    public void setUserNameIsSet(boolean value) {
+    public void setUserIdIsSet(boolean value) {
       if (!value) {
-        this.userName = null;
+        this.userId = null;
       }
     }
 
@@ -7105,7 +6942,7 @@ public class UserProfileService {
       return this.gatewayId;
     }
 
-    public getUserProfileByName_args setGatewayId(String gatewayId) {
+    public doesUserExist_args setGatewayId(String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -7135,11 +6972,11 @@ public class UserProfileService {
         }
         break;
 
-      case USER_NAME:
+      case USER_ID:
         if (value == null) {
-          unsetUserName();
+          unsetUserId();
         } else {
-          setUserName((String)value);
+          setUserId((String)value);
         }
         break;
 
@@ -7159,8 +6996,8 @@ public class UserProfileService {
       case AUTHZ_TOKEN:
         return getAuthzToken();
 
-      case USER_NAME:
-        return getUserName();
+      case USER_ID:
+        return getUserId();
 
       case GATEWAY_ID:
         return getGatewayId();
@@ -7178,8 +7015,8 @@ public class UserProfileService {
       switch (field) {
       case AUTHZ_TOKEN:
         return isSetAuthzToken();
-      case USER_NAME:
-        return isSetUserName();
+      case USER_ID:
+        return isSetUserId();
       case GATEWAY_ID:
         return isSetGatewayId();
       }
@@ -7190,12 +7027,12 @@ public class UserProfileService {
     public boolean equals(Object that) {
       if (that == null)
         return false;
-      if (that instanceof getUserProfileByName_args)
-        return this.equals((getUserProfileByName_args)that);
+      if (that instanceof doesUserExist_args)
+        return this.equals((doesUserExist_args)that);
       return false;
     }
 
-    public boolean equals(getUserProfileByName_args that) {
+    public boolean equals(doesUserExist_args that) {
       if (that == null)
         return false;
 
@@ -7208,12 +7045,12 @@ public class UserProfileService {
           return false;
       }
 
-      boolean this_present_userName = true && this.isSetUserName();
-      boolean that_present_userName = true && that.isSetUserName();
-      if (this_present_userName || that_present_userName) {
-        if (!(this_present_userName && that_present_userName))
+      boolean this_present_userId = true && this.isSetUserId();
+      boolean that_present_userId = true && that.isSetUserId();
+      if (this_present_userId || that_present_userId) {
+        if (!(this_present_userId && that_present_userId))
           return false;
-        if (!this.userName.equals(that.userName))
+        if (!this.userId.equals(that.userId))
           return false;
       }
 
@@ -7238,10 +7075,10 @@ public class UserProfileService {
       if (present_authzToken)
         list.add(authzToken);
 
-      boolean present_userName = true && (isSetUserName());
-      list.add(present_userName);
-      if (present_userName)
-        list.add(userName);
+      boolean present_userId = true && (isSetUserId());
+      list.add(present_userId);
+      if (present_userId)
+        list.add(userId);
 
       boolean present_gatewayId = true && (isSetGatewayId());
       list.add(present_gatewayId);
@@ -7252,7 +7089,7 @@ public class UserProfileService {
     }
 
     @Override
-    public int compareTo(getUserProfileByName_args other) {
+    public int compareTo(doesUserExist_args other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
@@ -7269,12 +7106,12 @@ public class UserProfileService {
           return lastComparison;
         }
       }
-      lastComparison = Boolean.valueOf(isSetUserName()).compareTo(other.isSetUserName());
+      lastComparison = Boolean.valueOf(isSetUserId()).compareTo(other.isSetUserId());
       if (lastComparison != 0) {
         return lastComparison;
       }
-      if (isSetUserName()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.userName, other.userName);
+      if (isSetUserId()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.userId, other.userId);
         if (lastComparison != 0) {
           return lastComparison;
         }
@@ -7306,7 +7143,7 @@ public class UserProfileService {
 
     @Override
     public String toString() {
-      StringBuilder sb = new StringBuilder("getUserProfileByName_args(");
+      StringBuilder sb = new StringBuilder("doesUserExist_args(");
       boolean first = true;
 
       sb.append("authzToken:");
@@ -7317,11 +7154,11 @@ public class UserProfileService {
       }
       first = false;
       if (!first) sb.append(", ");
-      sb.append("userName:");
-      if (this.userName == null) {
+      sb.append("userId:");
+      if (this.userId == null) {
         sb.append("null");
       } else {
-        sb.append(this.userName);
+        sb.append(this.userId);
       }
       first = false;
       if (!first) sb.append(", ");
@@ -7341,8 +7178,8 @@ public class UserProfileService {
       if (authzToken == null) {
         throw new org.apache.thrift.protocol.TProtocolException("Required field 'authzToken' was not present! Struct: " + toString());
       }
-      if (userName == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'userName' was not present! Struct: " + toString());
+      if (userId == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'userId' was not present! Struct: " + toString());
       }
       if (gatewayId == null) {
         throw new org.apache.thrift.protocol.TProtocolException("Required field 'gatewayId' was not present! Struct: " + toString());
@@ -7369,15 +7206,15 @@ public class UserProfileService {
       }
     }
 
-    private static class getUserProfileByName_argsStandardSchemeFactory implements SchemeFactory {
-      public getUserProfileByName_argsStandardScheme getScheme() {
-        return new getUserProfileByName_argsStandardScheme();
+    private static class doesUserExist_argsStandardSchemeFactory implements SchemeFactory {
+      public doesUserExist_argsStandardScheme getScheme() {
+        return new doesUserExist_argsStandardScheme();
       }
     }
 
-    private static class getUserProfileByName_argsStandardScheme extends StandardScheme<getUserProfileByName_args> {
+    private static class doesUserExist_argsStandardScheme extends StandardScheme<doesUserExist_args> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, getUserProfileByName_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, doesUserExist_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -7396,10 +7233,10 @@ public class UserProfileService {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 2: // USER_NAME
+            case 2: // USER_ID
               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.userName = iprot.readString();
-                struct.setUserNameIsSet(true);
+                struct.userId = iprot.readString();
+                struct.setUserIdIsSet(true);
               } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
@@ -7423,7 +7260,7 @@ public class UserProfileService {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, getUserProfileByName_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, doesUserExist_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
@@ -7432,9 +7269,9 @@ public class UserProfileService {
           struct.authzToken.write(oprot);
           oprot.writeFieldEnd();
         }
-        if (struct.userName != null) {
-          oprot.writeFieldBegin(USER_NAME_FIELD_DESC);
-          oprot.writeString(struct.userName);
+        if (struct.userId != null) {
+          oprot.writeFieldBegin(USER_ID_FIELD_DESC);
+          oprot.writeString(struct.userId);
           oprot.writeFieldEnd();
         }
         if (struct.gatewayId != null) {
@@ -7448,1171 +7285,30 @@ public class UserProfileService {
 
     }
 
-    private static class getUserProfileByName_argsTupleSchemeFactory implements SchemeFactory {
-      public getUserProfileByName_argsTupleScheme getScheme() {
-        return new getUserProfileByName_argsTupleScheme();
+    private static class doesUserExist_argsTupleSchemeFactory implements SchemeFactory {
+      public doesUserExist_argsTupleScheme getScheme() {
+        return new doesUserExist_argsTupleScheme();
       }
     }
 
-    private static class getUserProfileByName_argsTupleScheme extends TupleScheme<getUserProfileByName_args> {
+    private static class doesUserExist_argsTupleScheme extends TupleScheme<doesUserExist_args> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, getUserProfileByName_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, doesUserExist_args struct) throws org.apache.thrift.TException {
         TTupleProtocol oprot = (TTupleProtocol) prot;
         struct.authzToken.write(oprot);
-        oprot.writeString(struct.userName);
+        oprot.writeString(struct.userId);
         oprot.writeString(struct.gatewayId);
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, getUserProfileByName_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, doesUserExist_args struct) throws org.apache.thrift.TException {
         TTupleProtocol iprot = (TTupleProtocol) prot;
         struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
         struct.authzToken.read(iprot);
         struct.setAuthzTokenIsSet(true);
-        struct.userName = iprot.readString();
-        struct.setUserNameIsSet(true);
-        struct.gatewayId = iprot.readString();
-        struct.setGatewayIdIsSet(true);
-      }
-    }
-
-  }
-
-  public static class getUserProfileByName_result implements org.apache.thrift.TBase<getUserProfileByName_result, getUserProfileByName_result._Fields>, java.io.Serializable, Cloneable, Comparable<getUserProfileByName_result>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getUserProfileByName_result");
-
-    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);
-    private static final org.apache.thrift.protocol.TField UPE_FIELD_DESC = new org.apache.thrift.protocol.TField("upe", org.apache.thrift.protocol.TType.STRUCT, (short)1);
-    private static final org.apache.thrift.protocol.TField AE_FIELD_DESC = new org.apache.thrift.protocol.TField("ae", org.apache.thrift.protocol.TType.STRUCT, (short)2);
-
-    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
-    static {
-      schemes.put(StandardScheme.class, new getUserProfileByName_resultStandardSchemeFactory());
-      schemes.put(TupleScheme.class, new getUserProfileByName_resultTupleSchemeFactory());
-    }
-
-    public org.apache.airavata.model.user.UserProfile success; // required
-    public org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException upe; // required
-    public org.apache.airavata.model.error.AuthorizationException ae; // required
-
-    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
-    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
-      SUCCESS((short)0, "success"),
-      UPE((short)1, "upe"),
-      AE((short)2, "ae");
-
-      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
-
-      static {
-        for (_Fields field : EnumSet.allOf(_Fields.class)) {
-          byName.put(field.getFieldName(), field);
-        }
-      }
-
-      /**
-       * Find the _Fields constant that matches fieldId, or null if its not found.
-       */
-      public static _Fields findByThriftId(int fieldId) {
-        switch(fieldId) {
-          case 0: // SUCCESS
-            return SUCCESS;
-          case 1: // UPE
-            return UPE;
-          case 2: // AE
-            return AE;
-          default:
-            return null;
-        }
-      }
-
-      /**
-       * Find the _Fields constant that matches fieldId, throwing an exception
-       * if it is not found.
-       */
-      public static _Fields findByThriftIdOrThrow(int fieldId) {
-        _Fields fields = findByThriftId(fieldId);
-        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
-        return fields;
-      }
-
-      /**
-       * Find the _Fields constant that matches name, or null if its not found.
-       */
-      public static _Fields findByName(String name) {
-        return byName.get(name);
-      }
-
-      private final short _thriftId;
-      private final String _fieldName;
-
-      _Fields(short thriftId, String fieldName) {
-        _thriftId = thriftId;
-        _fieldName = fieldName;
-      }
-
-      public short getThriftFieldId() {
-        return _thriftId;
-      }
-
-      public String getFieldName() {
-        return _fieldName;
-      }
-    }
-
-    // isset id assignments
-    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);
-      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.user.UserProfile.class)));
-      tmpMap.put(_Fields.UPE, new org.apache.thrift.meta_data.FieldMetaData("upe", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
-      tmpMap.put(_Fields.AE, new org.apache.thrift.meta_data.FieldMetaData("ae", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
-      metaDataMap = Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getUserProfileByName_result.class, metaDataMap);
-    }
-
-    public getUserProfileByName_result() {
-    }
-
-    public getUserProfileByName_result(
-      org.apache.airavata.model.user.UserProfile success,
-      org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException upe,
-      org.apache.airavata.model.error.AuthorizationException ae)
-    {
-      this();
-      this.success = success;
-      this.upe = upe;
-      this.ae = ae;
-    }
-
-    /**
-     * Performs a deep copy on <i>other</i>.
-     */
-    public getUserProfileByName_result(getUserProfileByName_result other) {
-      if (other.isSetSuccess()) {
-        this.success = new org.apache.airavata.model.user.UserProfile(other.success);
-      }
-      if (other.isSetUpe()) {
-        this.upe = new org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException(other.upe);
-      }
-      if (other.isSetAe()) {
-        this.ae = new org.apache.airavata.model.error.AuthorizationException(other.ae);
-      }
-    }
-
-    public getUserProfileByName_result deepCopy() {
-      return new getUserProfileByName_result(this);
-    }
-
-    @Override
-    public void clear() {
-      this.success = null;
-      this.upe = null;
-      this.ae = null;
-    }
-
-    public org.apache.airavata.model.user.UserProfile getSuccess() {
-      return this.success;
-    }
-
-    public getUserProfileByName_result setSuccess(org.apache.airavata.model.user.UserProfile success) {
-      this.success = success;
-      return this;
-    }
-
-    public void unsetSuccess() {
-      this.success = null;
-    }
-
-    /** Returns true if field success is set (has been assigned a value) and false otherwise */
-    public boolean isSetSuccess() {
-      return this.success != null;
-    }
-
-    public void setSuccessIsSet(boolean value) {
-      if (!value) {
-        this.success = null;
-      }
-    }
-
-    public org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException getUpe() {
-      return this.upe;
-    }
-
-    public getUserProfileByName_result setUpe(org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException upe) {
-      this.upe = upe;
-      return this;
-    }
-
-    public void unsetUpe() {
-      this.upe = null;
-    }
-
-    /** Returns true if field upe is set (has been assigned a value) and false otherwise */
-    public boolean isSetUpe() {
-      return this.upe != null;
-    }
-
-    public void setUpeIsSet(boolean value) {
-      if (!value) {
-        this.upe = null;
-      }
-    }
-
-    public org.apache.airavata.model.error.AuthorizationException getAe() {
-      return this.ae;
-    }
-
-    public getUserProfileByName_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
-      this.ae = ae;
-      return this;
-    }
-
-    public void unsetAe() {
-      this.ae = null;
-    }
-
-    /** Returns true if field ae is set (has been assigned a value) and false otherwise */
-    public boolean isSetAe() {
-      return this.ae != null;
-    }
-
-    public void setAeIsSet(boolean value) {
-      if (!value) {
-        this.ae = null;
-      }
-    }
-
-    public void setFieldValue(_Fields field, Object value) {
-      switch (field) {
-      case SUCCESS:
-        if (value == null) {
-          unsetSuccess();
-        } else {
-          setSuccess((org.apache.airavata.model.user.UserProfile)value);
-        }
-        break;
-
-      case UPE:
-        if (value == null) {
-          unsetUpe();
-        } else {
-          setUpe((org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException)value);
-        }
-        break;
-
-      case AE:
-        if (value == null) {
-          unsetAe();
-        } else {
-          setAe((org.apache.airavata.model.error.AuthorizationException)value);
-        }
-        break;
-
-      }
-    }
-
-    public Object getFieldValue(_Fields field) {
-      switch (field) {
-      case SUCCESS:
-        return getSuccess();
-
-      case UPE:
-        return getUpe();
-
-      case AE:
-        return getAe();
-
-      }
-      throw new IllegalStateException();
-    }
-
-    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
-    public boolean isSet(_Fields field) {
-      if (field == null) {
-        throw new IllegalArgumentException();
-      }
-
-      switch (field) {
-      case SUCCESS:
-        return isSetSuccess();
-      case UPE:
-        return isSetUpe();
-      case AE:
-        return isSetAe();
-      }
-      throw new IllegalStateException();
-    }
-
-    @Override
-    public boolean equals(Object that) {
-      if (that == null)
-        return false;
-      if (that instanceof getUserProfileByName_result)
-        return this.equals((getUserProfileByName_result)that);
-      return false;
-    }
-
-    public boolean equals(getUserProfileByName_result that) {
-      if (that == null)
-        return false;
-
-      boolean this_present_success = true && this.isSetSuccess();
-      boolean that_present_success = true && that.isSetSuccess();
-      if (this_present_success || that_present_success) {
-        if (!(this_present_success && that_present_success))
-          return false;
-        if (!this.success.equals(that.success))
-          return false;
-      }
-
-      boolean this_present_upe = true && this.isSetUpe();
-      boolean that_present_upe = true && that.isSetUpe();
-      if (this_present_upe || that_present_upe) {
-        if (!(this_present_upe && that_present_upe))
-          return false;
-        if (!this.upe.equals(that.upe))
-          return false;
-      }
-
-      boolean this_present_ae = true && this.isSetAe();
-      boolean that_present_ae = true && that.isSetAe();
-      if (this_present_ae || that_present_ae) {
-        if (!(this_present_ae && that_present_ae))
-          return false;
-        if (!this.ae.equals(that.ae))
-          return false;
-      }
-
-      return true;
-    }
-
-    @Override
-    public int hashCode() {
-      List<Object> list = new ArrayList<Object>();
-
-      boolean present_success = true && (isSetSuccess());
-      list.add(present_success);
-      if (present_success)
-        list.add(success);
-
-      boolean present_upe = true && (isSetUpe());
-      list.add(present_upe);
-      if (present_upe)
-        list.add(upe);
-
-      boolean present_ae = true && (isSetAe());
-      list.add(present_ae);
-      if (present_ae)
-        list.add(ae);
-
-      return list.hashCode();
-    }
-
-    @Override
-    public int compareTo(getUserProfileByName_result other) {
-      if (!getClass().equals(other.getClass())) {
-        return getClass().getName().compareTo(other.getClass().getName());
-      }
-
-      int lastComparison = 0;
-
-      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetSuccess()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = Boolean.valueOf(isSetUpe()).compareTo(other.isSetUpe());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetUpe()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.upe, other.upe);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetAe()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ae, other.ae);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      return 0;
-    }
-
-    public _Fields fieldForId(int fieldId) {
-      return _Fields.findByThriftId(fieldId);
-    }
-
-    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
-      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
-    }
-
-    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
-      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
-      }
-
-    @Override
-    public String toString() {
-      StringBuilder sb = new StringBuilder("getUserProfileByName_result(");
-      boolean first = true;
-
-      sb.append("success:");
-      if (this.success == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.success);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("upe:");
-      if (this.upe == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.upe);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("ae:");
-      if (this.ae == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.ae);
-      }
-      first = false;
-      sb.append(")");
-      return sb.toString();
-    }
-
-    public void validate() throws org.apache.thrift.TException {
-      // check for required fields
-      // check for sub-struct validity
-      if (success != null) {
-        success.validate();
-      }
-    }
-
-    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
-      try {
-        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
-      } catch (org.apache.thrift.TException te) {
-        throw new java.io.IOException(te);
-      }
-    }
-
-    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
-      try {
-        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
-      } catch (org.apache.thrift.TException te) {
-        throw new java.io.IOException(te);
-      }
-    }
-
-    private static class getUserProfileByName_resultStandardSchemeFactory implements SchemeFactory {
-      public getUserProfileByName_resultStandardScheme getScheme() {
-        return new getUserProfileByName_resultStandardScheme();
-      }
-    }
-
-    private static class getUserProfileByName_resultStandardScheme extends StandardScheme<getUserProfileByName_result> {
-
-      public void read(org.apache.thrift.protocol.TProtocol iprot, getUserProfileByName_result struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TField schemeField;
-        iprot.readStructBegin();
-        while (true)
-        {
-          schemeField = iprot.readFieldBegin();
-          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
-            break;
-          }
-          switch (schemeField.id) {
-            case 0: // SUCCESS
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.success = new org.apache.airavata.model.user.UserProfile();
-                struct.success.read(iprot);
-                struct.setSuccessIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 1: // UPE
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.upe = new org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException();
-                struct.upe.read(iprot);
-                struct.setUpeIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 2: // AE
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.ae = new org.apache.airavata.model.error.AuthorizationException();
-                struct.ae.read(iprot);
-                struct.setAeIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            default:
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-          }
-          iprot.readFieldEnd();
-        }
-        iprot.readStructEnd();
-
-        // check for required fields of primitive type, which can't be checked in the validate method
-        struct.validate();
-      }
-
-      public void write(org.apache.thrift.protocol.TProtocol oprot, getUserProfileByName_result struct) throws org.apache.thrift.TException {
-        struct.validate();
-
-        oprot.writeStructBegin(STRUCT_DESC);
-        if (struct.success != null) {
-          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
-          struct.success.write(oprot);
-          oprot.writeFieldEnd();
-        }
-        if (struct.upe != null) {
-          oprot.writeFieldBegin(UPE_FIELD_DESC);
-          struct.upe.write(oprot);
-          oprot.writeFieldEnd();
-        }
-        if (struct.ae != null) {
-          oprot.writeFieldBegin(AE_FIELD_DESC);
-          struct.ae.write(oprot);
-          oprot.writeFieldEnd();
-        }
-        oprot.writeFieldStop();
-        oprot.writeStructEnd();
-      }
-
-    }
-
-    private static class getUserProfileByName_resultTupleSchemeFactory implements SchemeFactory {
-      public getUserProfileByName_resultTupleScheme getScheme() {
-        return new getUserProfileByName_resultTupleScheme();
-      }
-    }
-
-    private static class getUserProfileByName_resultTupleScheme extends TupleScheme<getUserProfileByName_result> {
-
-      @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, getUserProfileByName_result struct) throws org.apache.thrift.TException {
-        TTupleProtocol oprot = (TTupleProtocol) prot;
-        BitSet optionals = new BitSet();
-        if (struct.isSetSuccess()) {
-          optionals.set(0);
-        }
-        if (struct.isSetUpe()) {
-          optionals.set(1);
-        }
-        if (struct.isSetAe()) {
-          optionals.set(2);
-        }
-        oprot.writeBitSet(optionals, 3);
-        if (struct.isSetSuccess()) {
-          struct.success.write(oprot);
-        }
-        if (struct.isSetUpe()) {
-          struct.upe.write(oprot);
-        }
-        if (struct.isSetAe()) {
-          struct.ae.write(oprot);
-        }
-      }
-
-      @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, getUserProfileByName_result struct) throws org.apache.thrift.TException {
-        TTupleProtocol iprot = (TTupleProtocol) prot;
-        BitSet incoming = iprot.readBitSet(3);
-        if (incoming.get(0)) {
-          struct.success = new org.apache.airavata.model.user.UserProfile();
-          struct.success.read(iprot);
-          struct.setSuccessIsSet(true);
-        }
-        if (incoming.get(1)) {
-          struct.upe = new org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException();
-          struct.upe.read(iprot);
-          struct.setUpeIsSet(true);
-        }
-        if (incoming.get(2)) {
-          struct.ae = new org.apache.airavata.model.error.AuthorizationException();
-          struct.ae.read(iprot);
-          struct.setAeIsSet(true);
-        }
-      }
-    }
-
-  }
-
-  public static class doesUserExist_args implements org.apache.thrift.TBase<doesUserExist_args, doesUserExist_args._Fields>, java.io.Serializable, Cloneable, Comparable<doesUserExist_args>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("doesUserExist_args");
-
-    private static final org.apache.thrift.protocol.TField AUTHZ_TOKEN_FIELD_DESC = new org.apache.thrift.protocol.TField("authzToken", org.apache.thrift.protocol.TType.STRUCT, (short)1);
-    private static final org.apache.thrift.protocol.TField USER_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("userName", org.apache.thrift.protocol.TType.STRING, (short)2);
-    private static final org.apache.thrift.protocol.TField GATEWAY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayId", org.apache.thrift.protocol.TType.STRING, (short)3);
-
-    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
-    static {
-      schemes.put(StandardScheme.class, new doesUserExist_argsStandardSchemeFactory());
-      schemes.put(TupleScheme.class, new doesUserExist_argsTupleSchemeFactory());
-    }
-
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public String userName; // required
-    public String gatewayId; // required
-
-    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
-    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
-      AUTHZ_TOKEN((short)1, "authzToken"),
-      USER_NAME((short)2, "userName"),
-      GATEWAY_ID((short)3, "gatewayId");
-
-      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
-
-      static {
-        for (_Fields field : EnumSet.allOf(_Fields.class)) {
-          byName.put(field.getFieldName(), field);
-        }
-      }
-
-      /**
-       * Find the _Fields constant that matches fieldId, or null if its not found.
-       */
-      public static _Fields findByThriftId(int fieldId) {
-        switch(fieldId) {
-          case 1: // AUTHZ_TOKEN
-            return AUTHZ_TOKEN;
-          case 2: // USER_NAME
-            return USER_NAME;
-          case 3: // GATEWAY_ID
-            return GATEWAY_ID;
-          default:
-            return null;
-        }
-      }
-
-      /**
-       * Find the _Fields constant that matches fieldId, throwing an exception
-       * if it is not found.
-       */
-      public static _Fields findByThriftIdOrThrow(int fieldId) {
-        _Fields fields = findByThriftId(fieldId);
-        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
-        return fields;
-      }
-
-      /**
-       * Find the _Fields constant that matches name, or null if its not found.
-       */
-      public static _Fields findByName(String name) {
-        return byName.get(name);
-      }
-
-      private final short _thriftId;
-      private final String _fieldName;
-
-      _Fields(short thriftId, String fieldName) {
-        _thriftId = thriftId;
-        _fieldName = fieldName;
-      }
-
-      public short getThriftFieldId() {
-        return _thriftId;
-      }
-
-      public String getFieldName() {
-        return _fieldName;
-      }
-    }
-
-    // isset id assignments
-    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);
-      tmpMap.put(_Fields.AUTHZ_TOKEN, new org.apache.thrift.meta_data.FieldMetaData("authzToken", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.security.AuthzToken.class)));
-      tmpMap.put(_Fields.USER_NAME, new org.apache.thrift.meta_data.FieldMetaData("userName", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-      tmpMap.put(_Fields.GATEWAY_ID, new org.apache.thrift.meta_data.FieldMetaData("gatewayId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-      metaDataMap = Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(doesUserExist_args.class, metaDataMap);
-    }
-
-    public doesUserExist_args() {
-    }
-
-    public doesUserExist_args(
-      org.apache.airavata.model.security.AuthzToken authzToken,
-      String userName,
-      String gatewayId)
-    {
-      this();
-      this.authzToken = authzToken;
-      this.userName = userName;
-      this.gatewayId = gatewayId;
-    }
-
-    /**
-     * Performs a deep copy on <i>other</i>.
-     */
-    public doesUserExist_args(doesUserExist_args other) {
-      if (other.isSetAuthzToken()) {
-        this.authzToken = new org.apache.airavata.model.security.AuthzToken(other.authzToken);
-      }
-      if (other.isSetUserName()) {
-        this.userName = other.userName;
-      }
-      if (other.isSetGatewayId()) {
-        this.gatewayId = other.gatewayId;
-      }
-    }
-
-    public doesUserExist_args deepCopy() {
-      return new doesUserExist_args(this);
-    }
-
-    @Override
-    public void clear() {
-      this.authzToken = null;
-      this.userName = null;
-      this.gatewayId = null;
-    }
-
-    public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
-      return this.authzToken;
-    }
-
-    public doesUserExist_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
-      this.authzToken = authzToken;
-      return this;
-    }
-
-    public void unsetAuthzToken() {
-      this.authzToken = null;
-    }
-
-    /** Returns true if field authzToken is set (has been assigned a value) and false otherwise */
-    public boolean isSetAuthzToken() {
-      return this.authzToken != null;
-    }
-
-    public void setAuthzTokenIsSet(boolean value) {
-      if (!value) {
-        this.authzToken = null;
-      }
-    }
-
-    public String getUserName() {
-      return this.userName;
-    }
-
-    public doesUserExist_args setUserName(String userName) {
-      this.userName = userName;
-      return this;
-    }
-
-    public void unsetUserName() {
-      this.userName = null;
-    }
-
-    /** Returns true if field userName is set (has been assigned a value) and false otherwise */
-    public boolean isSetUserName() {
-      return this.userName != null;
-    }
-
-    public void setUserNameIsSet(boolean value) {
-      if (!value) {
-        this.userName = null;
-      }
-    }
-
-    public String getGatewayId() {
-      return this.gatewayId;
-    }
-
-    public doesUserExist_args setGatewayId(String gatewayId) {
-      this.gatewayId = gatewayId;
-      return this;
-    }
-
-    public void unsetGatewayId() {
-      this.gatewayId = null;
-    }
-
-    /** Returns true if field gatewayId is set (has been assigned a value) and false otherwise */
-    public boolean isSetGatewayId() {
-      return this.gatewayId != null;
-    }
-
-    public void setGatewayIdIsSet(boolean value) {
-      if (!value) {
-        this.gatewayId = null;
-      }
-    }
-
-    public void setFieldValue(_Fields field, Object value) {
-      switch (field) {
-      case AUTHZ_TOKEN:
-        if (value == null) {
-          unsetAuthzToken();
-        } else {
-          setAuthzToken((org.apache.airavata.model.security.AuthzToken)value);
-        }
-        break;
-
-      case USER_NAME:
-        if (value == null) {
-          unsetUserName();
-        } else {
-          setUserName((String)value);
-        }
-        break;
-
-      case GATEWAY_ID:
-        if (value == null) {
-          unsetGatewayId();
-        } else {
-          setGatewayId((String)value);
-        }
-        break;
-
-      }
-    }
-
-    public Object getFieldValue(_Fields field) {
-      switch (field) {
-      case AUTHZ_TOKEN:
-        return getAuthzToken();
-
-      case USER_NAME:
-        return getUserName();
-
-      case GATEWAY_ID:
-        return getGatewayId();
-
-      }
-      throw new IllegalStateException();
-    }
-
-    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
-    public boolean isSet(_Fields field) {
-      if (field == null) {
-        throw new IllegalArgumentException();
-      }
-
-      switch (field) {
-      case AUTHZ_TOKEN:
-        return isSetAuthzToken();
-      case USER_NAME:
-        return isSetUserName();
-      case GATEWAY_ID:
-        return isSetGatewayId();
-      }
-      throw new IllegalStateException();
-    }
-
-    @Override
-    public boolean equals(Object that) {
-      if (that == null)
-        return false;
-      if (that instanceof doesUserExist_args)
-        return this.equals((doesUserExist_args)that);
-      return false;
-    }
-
-    public boolean equals(doesUserExist_args that) {
-      if (that == null)
-        return false;
-
-      boolean this_present_authzToken = true && this.isSetAuthzToken();
-      boolean that_present_authzToken = true && that.isSetAuthzToken();
-      if (this_present_authzToken || that_present_authzToken) {
-        if (!(this_present_authzToken && that_present_authzToken))
-          return false;
-        if (!this.authzToken.equals(that.authzToken))
-          return false;
-      }
-
-      boolean this_present_userName = true && this.isSetUserName();
-      boolean that_present_userName = true && that.isSetUserName();
-      if (this_present_userName || that_present_userName) {
-        if (!(this_present_userName && that_present_userName))
-          return false;
-        if (!this.userName.equals(that.userName))
-          return false;
-      }
-
-      boolean this_present_gatewayId = true && this.isSetGatewayId();
-      boolean that_present_gatewayId = true && that.isSetGatewayId();
-      if (this_present_gatewayId || that_present_gatewayId) {
-        if (!(this_present_gatewayId && that_present_gatewayId))
-          return false;
-        if (!this.gatewayId.equals(that.gatewayId))
-          return false;
-      }
-
-      return true;
-    }
-
-    @Override
-    public int hashCode() {
-      List<Object> list = new ArrayList<Object>();
-
-      boolean present_authzToken = true && (isSetAuthzToken());
-      list.add(present_authzToken);
-      if (present_authzToken)
-        list.add(authzToken);
-
-      boolean present_userName = true && (isSetUserName());
-      list.add(present_userName);
-      if (present_userName)
-        list.add(userName);
-
-      boolean present_gatewayId = true && (isSetGatewayId());
-      list.add(present_gatewayId);
-      if (present_gatewayId)
-        list.add(gatewayId);
-
-      return list.hashCode();
-    }
-
-    @Override
-    public int compareTo(doesUserExist_args other) {
-      if (!getClass().equals(other.getClass())) {
-        return getClass().getName().compareTo(other.getClass().getName());
-      }
-
-      int lastComparison = 0;
-
-      lastComparison = Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetAuthzToken()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.authzToken, other.authzToken);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = Boolean.valueOf(isSetUserName()).compareTo(other.isSetUserName());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetUserName()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.userName, other.userName);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetGatewayId()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gatewayId, other.gatewayId);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      return 0;
-    }
-
-    public _Fields fieldForId(int fieldId) {
-      return _Fields.findByThriftId(fieldId);
-    }
-
-    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
-      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
-    }
-
-    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
-      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
-    }
-
-    @Override
-    public String toString() {
-      StringBuilder sb = new StringBuilder("doesUserExist_args(");
-      boolean first = true;
-
-      sb.append("authzToken:");
-      if (this.authzToken == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.authzToken);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("userName:");
-      if (this.userName == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.userName);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("gatewayId:");
-      if (this.gatewayId == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.gatewayId);
-      }
-      first = false;
-      sb.append(")");
-      return sb.toString();
-    }
-
-    public void validate() throws org.apache.thrift.TException {
-      // check for required fields
-      if (authzToken == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'authzToken' was not present! Struct: " + toString());
-      }
-      if (userName == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'userName' was not present! Struct: " + toString());
-      }
-      if (gatewayId == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'gatewayId' was not present! Struct: " + toString());
-      }
-      // check for sub-struct validity
-      if (authzToken != null) {
-        authzToken.validate();
-      }
-    }
-
-    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
-      try {
-        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
-      } catch (org.apache.thrift.TException te) {
-        throw new java.io.IOException(te);
-      }
-    }
-
-    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
-      try {
-        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
-      } catch (org.apache.thrift.TException te) {
-        throw new java.io.IOException(te);
-      }
-    }
-
-    private static class doesUserExist_argsStandardSchemeFactory implements SchemeFactory {
-      public doesUserExist_argsStandardScheme getScheme() {
-        return new doesUserExist_argsStandardScheme();
-      }
-    }
-
-    private static class doesUserExist_argsStandardScheme extends StandardScheme<doesUserExist_args> {
-
-      public void read(org.apache.thrift.protocol.TProtocol iprot, doesUserExist_args struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TField schemeField;
-        iprot.readStructBegin();
-        while (true)
-        {
-          schemeField = iprot.readFieldBegin();
-          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
-            break;
-          }
-          switch (schemeField.id) {
-            case 1: // AUTHZ_TOKEN
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
-                struct.authzToken.read(iprot);
-                struct.setAuthzTokenIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 2: // USER_NAME
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.userName = iprot.readString();
-                struct.setUserNameIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 3: // GATEWAY_ID
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.gatewayId = iprot.readString();
-                struct.setGatewayIdIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            default:
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-          }
-          iprot.readFieldEnd();
-        }
-        iprot.readStructEnd();
-
-        // check for required fields of primitive type, which can't be checked in the validate method
-        struct.validate();
-      }
-
-      public void write(org.apache.thrift.protocol.TProtocol oprot, doesUserExist_args struct) throws org.apache.thrift.TException {
-        struct.validate();
-
-        oprot.writeStructBegin(STRUCT_DESC);
-        if (struct.authzToken != null) {
-          oprot.writeFieldBegin(AUTHZ_TOKEN_FIELD_DESC);
-          struct.authzToken.write(oprot);
-          oprot.writeFieldEnd();
-        }
-        if (struct.userName != null) {
-          oprot.writeFieldBegin(USER_NAME_FIELD_DESC);
-          oprot.writeString(struct.userName);
-          oprot.writeFieldEnd();
-        }
-        if (struct.gatewayId != null) {
-          oprot.writeFieldBegin(GATEWAY_ID_FIELD_DESC);
-          oprot.writeString(struct.gatewayId);
-          oprot.writeFieldEnd();
-        }
-        oprot.writeFieldStop();
-        oprot.writeStructEnd();
-      }
-
-    }
-
-    private static class doesUserExist_argsTupleSchemeFactory implements SchemeFactory {
-      public doesUserExist_argsTupleScheme getScheme() {
-        return new doesUserExist_argsTupleScheme();
-      }
-    }
-
-    private static class doesUserExist_argsTupleScheme extends TupleScheme<doesUserExist_args> {
-
-      @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, doesUserExist_args struct) throws org.apache.thrift.TException {
-        TTupleProtocol oprot = (TTupleProtocol) prot;
-        struct.authzToken.write(oprot);
-        oprot.writeString(struct.userName);
-        oprot.writeString(struct.gatewayId);
-      }
-
-      @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, doesUserExist_args struct) throws org.apache.thrift.TException {
-        TTupleProtocol iprot = (TTupleProtocol) prot;
-        struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
-        struct.authzToken.read(iprot);
-        struct.setAuthzTokenIsSet(true);
-        struct.userName = iprot.readString();
-        struct.setUserNameIsSet(true);
+        struct.userId = iprot.readString();
+        struct.setUserIdIsSet(true);
         struct.gatewayId = iprot.readString();
         struct.setGatewayIdIsSet(true);
       }

http://git-wip-us.apache.org/repos/asf/airavata/blob/f5a4e9dd/airavata-services/profile-service/profile-user-core/src/main/java/org/apache/airavata/service/profile/user/core/repositories/UserProfileRepository.java
----------------------------------------------------------------------
diff --git a/airavata-services/profile-service/profile-user-core/src/main/java/org/apache/airavata/service/profile/user/core/repositories/UserProfileRepository.java b/airavata-services/profile-service/profile-user-core/src/main/java/org/apache/airavata/service/profile/user/core/repositories/UserProfileRepository.java
index ff14c7f..5398e27 100644
--- a/airavata-services/profile-service/profile-user-core/src/main/java/org/apache/airavata/service/profile/user/core/repositories/UserProfileRepository.java
+++ b/airavata-services/profile-service/profile-user-core/src/main/java/org/apache/airavata/service/profile/user/core/repositories/UserProfileRepository.java
@@ -72,22 +72,6 @@ public class UserProfileRepository extends AbstractRepository<UserProfile, UserP
         return  resultList;
     }
 
-    public UserProfile getUserProfileByNameAndGateWay(String name, String gatewayId)   {
-
-        UserProfile userProfile = null;
-
-        Map<String, Object> queryParam = new HashMap<String, Object>();
-        queryParam.put(UserProfile._Fields.USER_NAME.getFieldName(), name);
-        queryParam.put(UserProfile._Fields.GATEWAY_ID.getFieldName(), gatewayId);
-        List<UserProfile> resultList = select(QueryConstants.FIND_USER_PROFILE_BY_USER_NAME, 1, 0, queryParam);
-        logger.info("List: " + resultList);
-
-        if (resultList != null && resultList.size() > 0)
-            userProfile =  resultList.get(0);
-
-        return userProfile;
-    }
-
 //    public static void main(String args[]) {
 //        Mapper mapper = ObjectMapperSingleton.getInstance();
 //        UserProfile up = new UserProfile();

http://git-wip-us.apache.org/repos/asf/airavata/blob/f5a4e9dd/modules/registry/registry-server/registry-api-service/src/main/java/org/apache/airavata/registry/api/service/handler/RegistryServerHandler.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-server/registry-api-service/src/main/java/org/apache/airavata/registry/api/service/handler/RegistryServerHandler.java b/modules/registry/registry-server/registry-api-service/src/main/java/org/apache/airavata/registry/api/service/handler/RegistryServerHandler.java
index ea63c09..cd4368a 100644
--- a/modules/registry/registry-server/registry-api-service/src/main/java/org/apache/airavata/registry/api/service/handler/RegistryServerHandler.java
+++ b/modules/registry/registry-server/registry-api-service/src/main/java/org/apache/airavata/registry/api/service/handler/RegistryServerHandler.java
@@ -3848,11 +3848,11 @@ public class RegistryServerHandler implements RegistryService.Iface {
         try {
             //FIXME: figure out a way to get password
             logger.info("Adding User in Registry: " + userProfile);
-            if (isUserExists(userProfile.getGatewayId(), userProfile.getUserName())) {
-                throw new DuplicateEntryException("User already exists, with userName: " +
-                        userProfile.getUserName() + ", and gatewayId: " + userProfile.getGatewayId());
+            if (isUserExists(userProfile.getGatewayId(), userProfile.getUserId())) {
+                throw new DuplicateEntryException("User already exists, with userId: " +
+                        userProfile.getUserId() + ", and gatewayId: " + userProfile.getGatewayId());
             }
-            ExpCatResourceUtils.addUser(userProfile.getUserName(), null, userProfile.getGatewayId());
+            ExpCatResourceUtils.addUser(userProfile.getUserId(), null, userProfile.getGatewayId());
             return userProfile.getUserId();
         } catch (RegistryException ex) {
             logger.error("Error while adding user in registry: " + ex, ex);

http://git-wip-us.apache.org/repos/asf/airavata/blob/f5a4e9dd/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/utils/ThriftDataModelConversion.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/utils/ThriftDataModelConversion.java b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/utils/ThriftDataModelConversion.java
index 53d8d2e..99db7f1 100644
--- a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/utils/ThriftDataModelConversion.java
+++ b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/utils/ThriftDataModelConversion.java
@@ -21,7 +21,7 @@ public class ThriftDataModelConversion {
         User user = new User();
         user.setUserId(userProfile.getUserId());
         user.setDomainId(userProfile.getGatewayId());
-        user.setUserName(userProfile.getUserName());
+        user.setUserName(userProfile.getFirstName() + " " + userProfile.getLastName());
         user.setEmail(userProfile.getEmails().get(0));
         return user;
     }

http://git-wip-us.apache.org/repos/asf/airavata/blob/f5a4e9dd/modules/user-profile-migration/src/main/java/org/apache/airavata/MigrationManager.java
----------------------------------------------------------------------
diff --git a/modules/user-profile-migration/src/main/java/org/apache/airavata/MigrationManager.java b/modules/user-profile-migration/src/main/java/org/apache/airavata/MigrationManager.java
index e9df594..1b4c649 100644
--- a/modules/user-profile-migration/src/main/java/org/apache/airavata/MigrationManager.java
+++ b/modules/user-profile-migration/src/main/java/org/apache/airavata/MigrationManager.java
@@ -110,7 +110,8 @@ public class MigrationManager {
         UserProfile airavataUserProfile = new UserProfile();
         // Here are the data associations...
         for(UserProfileDAO ISProfile : ISProfileList){
-            airavataUserProfile.setUserName(ISProfile.getFirstName()+" "+ISProfile.getLastName());
+            airavataUserProfile.setFirstName(ISProfile.getFirstName());
+            airavataUserProfile.setLastName(ISProfile.getLastName());
             airavataUserProfile.setUserId(ISProfile.getUserName());
             airavataUserProfile.setGatewayId(ISProfile.getGatewayID());
             List<String> emails = new ArrayList<String>();

http://git-wip-us.apache.org/repos/asf/airavata/blob/f5a4e9dd/thrift-interface-descriptions/airavata-apis/airavata_api.thrift
----------------------------------------------------------------------
diff --git a/thrift-interface-descriptions/airavata-apis/airavata_api.thrift b/thrift-interface-descriptions/airavata-apis/airavata_api.thrift
index e952abb..9cd5c9e 100644
--- a/thrift-interface-descriptions/airavata-apis/airavata_api.thrift
+++ b/thrift-interface-descriptions/airavata-apis/airavata_api.thrift
@@ -3498,13 +3498,7 @@ bool createGroup(1: required security_model.AuthzToken authzToken, 2: required g
                         3: airavata_errors.AiravataSystemException ase,
                         4: airavata_errors.AuthorizationException ae)
 
-    user_profile_model.UserProfile getUserProfileByName(1: required security_model.AuthzToken authzToken, 2: required string userName, 3: required string gatewayId)
-                throws (1: airavata_errors.InvalidRequestException ire,
-                        2: airavata_errors.AiravataClientException ace,
-                        3: airavata_errors.AiravataSystemException ase,
-                        4: airavata_errors.AuthorizationException ae)
-
-    bool doesUserProfileExist(1: required security_model.AuthzToken authzToken, 2: required string userName, 3: required string gatewayId)
+    bool doesUserProfileExist(1: required security_model.AuthzToken authzToken, 2: required string userId, 3: required string gatewayId)
                 throws (1: airavata_errors.InvalidRequestException ire,
                         2: airavata_errors.AiravataClientException ace,
                         3: airavata_errors.AiravataSystemException ase,

http://git-wip-us.apache.org/repos/asf/airavata/blob/f5a4e9dd/thrift-interface-descriptions/data-models/user-tenant-group-models/user_profile_model.thrift
----------------------------------------------------------------------
diff --git a/thrift-interface-descriptions/data-models/user-tenant-group-models/user_profile_model.thrift b/thrift-interface-descriptions/data-models/user-tenant-group-models/user_profile_model.thrift
index 638eb01..101f297 100644
--- a/thrift-interface-descriptions/data-models/user-tenant-group-models/user_profile_model.thrift
+++ b/thrift-interface-descriptions/data-models/user-tenant-group-models/user_profile_model.thrift
@@ -178,20 +178,19 @@ struct UserProfile {
     8: optional string middleName,
     9: optional string namePrefix,
     10: optional string nameSuffix,
-    11: optional string userName,
-    12: optional string orcidId,
-    13: optional list<string> phones,
-    14: optional string country,
-    15: optional list<string> nationality,
-    16: optional string homeOrganization,
-    17: optional string orginationAffiliation,
-    18: required i64 creationTime,
-    19: required i64 lastAccessTime,
-    20: required i64 validUntil,
-    21: required Status State,
-    22: optional string comments,
-    23: optional list<string> labeledURI,
-    24: optional string gpgKey,
-    25: optional string timeZone,
-    26: optional NSFDemographics nsfDemographics
+    11: optional string orcidId,
+    12: optional list<string> phones,
+    13: optional string country,
+    14: optional list<string> nationality,
+    15: optional string homeOrganization,
+    16: optional string orginationAffiliation,
+    17: required i64 creationTime,
+    18: required i64 lastAccessTime,
+    19: required i64 validUntil,
+    20: required Status State,
+    21: optional string comments,
+    22: optional list<string> labeledURI,
+    23: optional string gpgKey,
+    24: optional string timeZone,
+    25: optional NSFDemographics nsfDemographics
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/f5a4e9dd/thrift-interface-descriptions/service-cpis/profile-service/profile-user/profile-user-cpi.thrift
----------------------------------------------------------------------
diff --git a/thrift-interface-descriptions/service-cpis/profile-service/profile-user/profile-user-cpi.thrift b/thrift-interface-descriptions/service-cpis/profile-service/profile-user/profile-user-cpi.thrift
index 13f6a5c..937156f 100644
--- a/thrift-interface-descriptions/service-cpis/profile-service/profile-user/profile-user-cpi.thrift
+++ b/thrift-interface-descriptions/service-cpis/profile-service/profile-user/profile-user-cpi.thrift
@@ -65,14 +65,8 @@ service UserProfileService {
                                                                  throws (1: profile_user_cpi_errors.UserProfileServiceException upe,
                                                                          2: airavata_errors.AuthorizationException ae);
 
- user_profile_model.UserProfile getUserProfileByName (1: required security_model.AuthzToken authzToken,
-                                                      2: required string userName,
-                                                      3: required string gatewayId)
-                                                   throws (1: profile_user_cpi_errors.UserProfileServiceException upe,
-                                                           2: airavata_errors.AuthorizationException ae);
-
  bool doesUserExist (1: required security_model.AuthzToken authzToken,
-                     2: required string userName,
+                     2: required string userId,
                      3: required string gatewayId)
                   throws (1: profile_user_cpi_errors.UserProfileServiceException upe,
                           2: airavata_errors.AuthorizationException ae);


[35/50] [abbrv] airavata git commit: Add fname, lname, mname, prefix, suffix to userprofileentity

Posted by sm...@apache.org.
Add fname, lname, mname, prefix, suffix to userprofileentity


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

Branch: refs/heads/registry-refactoring
Commit: b1ed4caacbfe5b24fab48b778553e2e8fc5cd734
Parents: f5a4e9d
Author: Gourav Shenoy <go...@apache.org>
Authored: Tue May 9 12:26:30 2017 -0400
Committer: Gourav Shenoy <go...@apache.org>
Committed: Tue May 9 12:26:30 2017 -0400

----------------------------------------------------------------------
 .../client/samples/UserProfileSample.java       |  1 +
 .../user/entities/NSFDemographicsEntity.java    |  1 -
 .../user/entities/UserProfileEntity.java        | 58 +++++++++++++++++---
 .../service/profile/commons/utils/JPAUtils.java |  4 +-
 .../repositories/UserProfileRepository.java     |  2 -
 .../main/resources/airavata-server.properties   |  4 +-
 6 files changed, 57 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/b1ed4caa/airavata-services/profile-service/profile-service-client-sdks/java-client-samples/src/main/java/org/apache/airavata/service/profile/client/samples/UserProfileSample.java
----------------------------------------------------------------------
diff --git a/airavata-services/profile-service/profile-service-client-sdks/java-client-samples/src/main/java/org/apache/airavata/service/profile/client/samples/UserProfileSample.java b/airavata-services/profile-service/profile-service-client-sdks/java-client-samples/src/main/java/org/apache/airavata/service/profile/client/samples/UserProfileSample.java
index 90ace42..d2660d0 100644
--- a/airavata-services/profile-service/profile-service-client-sdks/java-client-samples/src/main/java/org/apache/airavata/service/profile/client/samples/UserProfileSample.java
+++ b/airavata-services/profile-service/profile-service-client-sdks/java-client-samples/src/main/java/org/apache/airavata/service/profile/client/samples/UserProfileSample.java
@@ -81,6 +81,7 @@ public class UserProfileSample {
             System.out.println("User was deleted, hence does not exist!");
             System.out.println("*** DONE ***");
         } catch (Exception ex) {
+            ex.printStackTrace();
             logger.error("UserProfile client-sample Exception: " + ex, ex);
         }
     }

http://git-wip-us.apache.org/repos/asf/airavata/blob/b1ed4caa/airavata-services/profile-service/profile-service-commons/src/main/java/org/apache/airavata/service/profile/commons/user/entities/NSFDemographicsEntity.java
----------------------------------------------------------------------
diff --git a/airavata-services/profile-service/profile-service-commons/src/main/java/org/apache/airavata/service/profile/commons/user/entities/NSFDemographicsEntity.java b/airavata-services/profile-service/profile-service-commons/src/main/java/org/apache/airavata/service/profile/commons/user/entities/NSFDemographicsEntity.java
index 1651cbd..80d0656 100644
--- a/airavata-services/profile-service/profile-service-commons/src/main/java/org/apache/airavata/service/profile/commons/user/entities/NSFDemographicsEntity.java
+++ b/airavata-services/profile-service/profile-service-commons/src/main/java/org/apache/airavata/service/profile/commons/user/entities/NSFDemographicsEntity.java
@@ -103,7 +103,6 @@ public class NSFDemographicsEntity {
                 ", ethnicities=" + ethnicities +
                 ", races=" + races +
                 ", disabilities=" + disabilities +
-                ", userProfile=" + userProfile +
                 '}';
     }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/b1ed4caa/airavata-services/profile-service/profile-service-commons/src/main/java/org/apache/airavata/service/profile/commons/user/entities/UserProfileEntity.java
----------------------------------------------------------------------
diff --git a/airavata-services/profile-service/profile-service-commons/src/main/java/org/apache/airavata/service/profile/commons/user/entities/UserProfileEntity.java b/airavata-services/profile-service/profile-service-commons/src/main/java/org/apache/airavata/service/profile/commons/user/entities/UserProfileEntity.java
index 102e12e..e1e3e9e 100644
--- a/airavata-services/profile-service/profile-service-commons/src/main/java/org/apache/airavata/service/profile/commons/user/entities/UserProfileEntity.java
+++ b/airavata-services/profile-service/profile-service-commons/src/main/java/org/apache/airavata/service/profile/commons/user/entities/UserProfileEntity.java
@@ -31,7 +31,11 @@ public class UserProfileEntity {
     private String userId;
     private String gatewayId;
     private String userModelVersion;
-    private String userName;
+    private String firstName;
+    private String lastName;
+    private String middleName;
+    private String namePrefix;
+    private String nameSuffix;
     private String orcidId;
     private String country;
     private String homeOrganization;
@@ -98,13 +102,49 @@ public class UserProfileEntity {
         this.emails = emails;
     }
 
-    @Column(name = "USER_NAME")
-    public String getUserName() {
-        return userName;
+    @Column(name = "FIRST_NAME")
+    public String getFirstName() {
+        return firstName;
     }
 
-    public void setUserName(String userName) {
-        this.userName = userName;
+    public void setFirstName(String firstName) {
+        this.firstName = firstName;
+    }
+
+    @Column(name = "LAST_NAME")
+    public String getLastName() {
+        return lastName;
+    }
+
+    public void setLastName(String lastName) {
+        this.lastName = lastName;
+    }
+
+    @Column(name = "MIDDLE_NAME")
+    public String getMiddleName() {
+        return middleName;
+    }
+
+    public void setMiddleName(String middleName) {
+        this.middleName = middleName;
+    }
+
+    @Column(name = "NAME_PREFIX")
+    public String getNamePrefix() {
+        return namePrefix;
+    }
+
+    public void setNamePrefix(String namePrefix) {
+        this.namePrefix = namePrefix;
+    }
+
+    @Column(name = "NAME_SUFFIX")
+    public String getNameSuffix() {
+        return nameSuffix;
+    }
+
+    public void setNameSuffix(String nameSuffix) {
+        this.nameSuffix = nameSuffix;
     }
 
     @Column(name = "ORCID_ID")
@@ -268,7 +308,11 @@ public class UserProfileEntity {
                 ", userId='" + userId + '\'' +
                 ", gatewayId='" + gatewayId + '\'' +
                 ", userModelVersion='" + userModelVersion + '\'' +
-                ", userName='" + userName + '\'' +
+                ", firstName='" + firstName + '\'' +
+                ", lastName='" + lastName + '\'' +
+                ", middleName='" + middleName + '\'' +
+                ", namePrefix='" + namePrefix + '\'' +
+                ", nameSuffix='" + nameSuffix + '\'' +
                 ", orcidId='" + orcidId + '\'' +
                 ", country='" + country + '\'' +
                 ", homeOrganization='" + homeOrganization + '\'' +

http://git-wip-us.apache.org/repos/asf/airavata/blob/b1ed4caa/airavata-services/profile-service/profile-service-commons/src/main/java/org/apache/airavata/service/profile/commons/utils/JPAUtils.java
----------------------------------------------------------------------
diff --git a/airavata-services/profile-service/profile-service-commons/src/main/java/org/apache/airavata/service/profile/commons/utils/JPAUtils.java b/airavata-services/profile-service/profile-service-commons/src/main/java/org/apache/airavata/service/profile/commons/utils/JPAUtils.java
index 9a30370..e3a963d 100644
--- a/airavata-services/profile-service/profile-service-commons/src/main/java/org/apache/airavata/service/profile/commons/utils/JPAUtils.java
+++ b/airavata-services/profile-service/profile-service-commons/src/main/java/org/apache/airavata/service/profile/commons/utils/JPAUtils.java
@@ -38,10 +38,10 @@ public class JPAUtils {
         EntityManager entityManager;
 
         if (factory == null) {
+            //FIXME: add validation query in connectionProperties after db is initialized during server startup
             String connectionProperties = "DriverClassName=" + Utils.getJDBCDriver() + "," + "Url=" +
                     Utils.getJDBCURL() + "?autoReconnect=true," +
-                    "Username=" + Utils.getJDBCUser() + "," + "Password=" + Utils.getJDBCPassword() +
-                    ",validationQuery=" + Utils.getValidationQuery();
+                    "Username=" + Utils.getJDBCUser() + "," + "Password=" + Utils.getJDBCPassword();
             logger.info(connectionProperties);
             Map<String, String> properties = new HashMap<String, String>();
             properties.put("openjpa.ConnectionDriverName", "org.apache.commons.dbcp.BasicDataSource");

http://git-wip-us.apache.org/repos/asf/airavata/blob/b1ed4caa/airavata-services/profile-service/profile-user-core/src/main/java/org/apache/airavata/service/profile/user/core/repositories/UserProfileRepository.java
----------------------------------------------------------------------
diff --git a/airavata-services/profile-service/profile-user-core/src/main/java/org/apache/airavata/service/profile/user/core/repositories/UserProfileRepository.java b/airavata-services/profile-service/profile-user-core/src/main/java/org/apache/airavata/service/profile/user/core/repositories/UserProfileRepository.java
index 5398e27..41823c9 100644
--- a/airavata-services/profile-service/profile-user-core/src/main/java/org/apache/airavata/service/profile/user/core/repositories/UserProfileRepository.java
+++ b/airavata-services/profile-service/profile-user-core/src/main/java/org/apache/airavata/service/profile/user/core/repositories/UserProfileRepository.java
@@ -47,7 +47,6 @@ public class UserProfileRepository extends AbstractRepository<UserProfile, UserP
     }
 
     public UserProfile getUserProfileByIdAndGateWay(String userId, String gatewayId)   {
-
         UserProfile userProfile = null;
 
         Map<String, Object> queryParam = new HashMap<String, Object>();
@@ -58,7 +57,6 @@ public class UserProfileRepository extends AbstractRepository<UserProfile, UserP
         if (resultList != null && resultList.size() > 0)
             userProfile =  resultList.get(0);
 
-
         return userProfile;
     }
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/b1ed4caa/modules/configuration/server/src/main/resources/airavata-server.properties
----------------------------------------------------------------------
diff --git a/modules/configuration/server/src/main/resources/airavata-server.properties b/modules/configuration/server/src/main/resources/airavata-server.properties
index 719eab5..4aeb06c 100644
--- a/modules/configuration/server/src/main/resources/airavata-server.properties
+++ b/modules/configuration/server/src/main/resources/airavata-server.properties
@@ -341,7 +341,9 @@ profile.service.jdbc.driver=org.apache.derby.jdbc.ClientDriver
 #profile.service.jdbc.driver=com.mysql.jdbc.Driver
 profile.service.jdbc.user=airavata
 profile.service.jdbc.password=airavata
-profile.service.validationQuery=SELECT 1
+# add validationquery only if db has been initialized during server startup,
+# and tables have been created. for now commenting out.
+#profile.service.validationQuery=SELECT 1
 
 ###########################################################################
 # Iam Admin services Configuration


[13/50] [abbrv] airavata git commit: Add Tenant Profile Thrift Model

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/replica_catalog_models_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/replica_catalog_models_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/replica_catalog_models_types.cpp
index 937030b..47b1816 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/replica_catalog_models_types.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/replica_catalog_models_types.cpp
@@ -65,71 +65,71 @@ const char* _kDataProductTypeNames[] = {
 const std::map<int, const char*> _DataProductType_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(2, _kDataProductTypeValues, _kDataProductTypeNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
 
 
-DataProductModel::~DataProductModel() throw() {
+DataReplicaLocationModel::~DataReplicaLocationModel() throw() {
 }
 
 
-void DataProductModel::__set_productUri(const std::string& val) {
-  this->productUri = val;
-__isset.productUri = true;
+void DataReplicaLocationModel::__set_replicaId(const std::string& val) {
+  this->replicaId = val;
+__isset.replicaId = true;
 }
 
-void DataProductModel::__set_gatewayId(const std::string& val) {
-  this->gatewayId = val;
-__isset.gatewayId = true;
+void DataReplicaLocationModel::__set_productUri(const std::string& val) {
+  this->productUri = val;
+__isset.productUri = true;
 }
 
-void DataProductModel::__set_parentProductUri(const std::string& val) {
-  this->parentProductUri = val;
-__isset.parentProductUri = true;
+void DataReplicaLocationModel::__set_replicaName(const std::string& val) {
+  this->replicaName = val;
+__isset.replicaName = true;
 }
 
-void DataProductModel::__set_productName(const std::string& val) {
-  this->productName = val;
-__isset.productName = true;
+void DataReplicaLocationModel::__set_replicaDescription(const std::string& val) {
+  this->replicaDescription = val;
+__isset.replicaDescription = true;
 }
 
-void DataProductModel::__set_productDescription(const std::string& val) {
-  this->productDescription = val;
-__isset.productDescription = true;
+void DataReplicaLocationModel::__set_creationTime(const int64_t val) {
+  this->creationTime = val;
+__isset.creationTime = true;
 }
 
-void DataProductModel::__set_ownerName(const std::string& val) {
-  this->ownerName = val;
-__isset.ownerName = true;
+void DataReplicaLocationModel::__set_lastModifiedTime(const int64_t val) {
+  this->lastModifiedTime = val;
+__isset.lastModifiedTime = true;
 }
 
-void DataProductModel::__set_dataProductType(const DataProductType::type val) {
-  this->dataProductType = val;
-__isset.dataProductType = true;
+void DataReplicaLocationModel::__set_validUntilTime(const int64_t val) {
+  this->validUntilTime = val;
+__isset.validUntilTime = true;
 }
 
-void DataProductModel::__set_productSize(const int32_t val) {
-  this->productSize = val;
-__isset.productSize = true;
+void DataReplicaLocationModel::__set_replicaLocationCategory(const ReplicaLocationCategory::type val) {
+  this->replicaLocationCategory = val;
+__isset.replicaLocationCategory = true;
 }
 
-void DataProductModel::__set_creationTime(const int64_t val) {
-  this->creationTime = val;
-__isset.creationTime = true;
+void DataReplicaLocationModel::__set_replicaPersistentType(const ReplicaPersistentType::type val) {
+  this->replicaPersistentType = val;
+__isset.replicaPersistentType = true;
 }
 
-void DataProductModel::__set_lastModifiedTime(const int64_t val) {
-  this->lastModifiedTime = val;
-__isset.lastModifiedTime = true;
+void DataReplicaLocationModel::__set_storageResourceId(const std::string& val) {
+  this->storageResourceId = val;
+__isset.storageResourceId = true;
 }
 
-void DataProductModel::__set_productMetadata(const std::map<std::string, std::string> & val) {
-  this->productMetadata = val;
-__isset.productMetadata = true;
+void DataReplicaLocationModel::__set_filePath(const std::string& val) {
+  this->filePath = val;
+__isset.filePath = true;
 }
 
-void DataProductModel::__set_replicaLocations(const std::vector<DataReplicaLocationModel> & val) {
-  this->replicaLocations = val;
-__isset.replicaLocations = true;
+void DataReplicaLocationModel::__set_replicaMetadata(const std::map<std::string, std::string> & val) {
+  this->replicaMetadata = val;
+__isset.replicaMetadata = true;
 }
 
-uint32_t DataProductModel::read(::apache::thrift::protocol::TProtocol* iprot) {
+uint32_t DataReplicaLocationModel::read(::apache::thrift::protocol::TProtocol* iprot) {
 
   apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
   uint32_t xfer = 0;
@@ -152,125 +152,115 @@ uint32_t DataProductModel::read(::apache::thrift::protocol::TProtocol* iprot) {
     {
       case 1:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->productUri);
-          this->__isset.productUri = true;
+          xfer += iprot->readString(this->replicaId);
+          this->__isset.replicaId = true;
         } else {
           xfer += iprot->skip(ftype);
         }
         break;
       case 2:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->gatewayId);
-          this->__isset.gatewayId = true;
+          xfer += iprot->readString(this->productUri);
+          this->__isset.productUri = true;
         } else {
           xfer += iprot->skip(ftype);
         }
         break;
       case 3:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->parentProductUri);
-          this->__isset.parentProductUri = true;
+          xfer += iprot->readString(this->replicaName);
+          this->__isset.replicaName = true;
         } else {
           xfer += iprot->skip(ftype);
         }
         break;
       case 4:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->productName);
-          this->__isset.productName = true;
+          xfer += iprot->readString(this->replicaDescription);
+          this->__isset.replicaDescription = true;
         } else {
           xfer += iprot->skip(ftype);
         }
         break;
       case 5:
-        if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->productDescription);
-          this->__isset.productDescription = true;
+        if (ftype == ::apache::thrift::protocol::T_I64) {
+          xfer += iprot->readI64(this->creationTime);
+          this->__isset.creationTime = true;
         } else {
           xfer += iprot->skip(ftype);
         }
         break;
       case 6:
-        if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->ownerName);
-          this->__isset.ownerName = true;
+        if (ftype == ::apache::thrift::protocol::T_I64) {
+          xfer += iprot->readI64(this->lastModifiedTime);
+          this->__isset.lastModifiedTime = true;
         } else {
           xfer += iprot->skip(ftype);
         }
         break;
       case 7:
-        if (ftype == ::apache::thrift::protocol::T_I32) {
-          int32_t ecast0;
-          xfer += iprot->readI32(ecast0);
-          this->dataProductType = (DataProductType::type)ecast0;
-          this->__isset.dataProductType = true;
+        if (ftype == ::apache::thrift::protocol::T_I64) {
+          xfer += iprot->readI64(this->validUntilTime);
+          this->__isset.validUntilTime = true;
         } else {
           xfer += iprot->skip(ftype);
         }
         break;
       case 8:
         if (ftype == ::apache::thrift::protocol::T_I32) {
-          xfer += iprot->readI32(this->productSize);
-          this->__isset.productSize = true;
+          int32_t ecast0;
+          xfer += iprot->readI32(ecast0);
+          this->replicaLocationCategory = (ReplicaLocationCategory::type)ecast0;
+          this->__isset.replicaLocationCategory = true;
         } else {
           xfer += iprot->skip(ftype);
         }
         break;
       case 9:
-        if (ftype == ::apache::thrift::protocol::T_I64) {
-          xfer += iprot->readI64(this->creationTime);
-          this->__isset.creationTime = true;
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          int32_t ecast1;
+          xfer += iprot->readI32(ecast1);
+          this->replicaPersistentType = (ReplicaPersistentType::type)ecast1;
+          this->__isset.replicaPersistentType = true;
         } else {
           xfer += iprot->skip(ftype);
         }
         break;
       case 10:
-        if (ftype == ::apache::thrift::protocol::T_I64) {
-          xfer += iprot->readI64(this->lastModifiedTime);
-          this->__isset.lastModifiedTime = true;
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->storageResourceId);
+          this->__isset.storageResourceId = true;
         } else {
           xfer += iprot->skip(ftype);
         }
         break;
       case 11:
-        if (ftype == ::apache::thrift::protocol::T_MAP) {
-          {
-            this->productMetadata.clear();
-            uint32_t _size1;
-            ::apache::thrift::protocol::TType _ktype2;
-            ::apache::thrift::protocol::TType _vtype3;
-            xfer += iprot->readMapBegin(_ktype2, _vtype3, _size1);
-            uint32_t _i5;
-            for (_i5 = 0; _i5 < _size1; ++_i5)
-            {
-              std::string _key6;
-              xfer += iprot->readString(_key6);
-              std::string& _val7 = this->productMetadata[_key6];
-              xfer += iprot->readString(_val7);
-            }
-            xfer += iprot->readMapEnd();
-          }
-          this->__isset.productMetadata = true;
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->filePath);
+          this->__isset.filePath = true;
         } else {
           xfer += iprot->skip(ftype);
         }
         break;
       case 12:
-        if (ftype == ::apache::thrift::protocol::T_LIST) {
+        if (ftype == ::apache::thrift::protocol::T_MAP) {
           {
-            this->replicaLocations.clear();
-            uint32_t _size8;
-            ::apache::thrift::protocol::TType _etype11;
-            xfer += iprot->readListBegin(_etype11, _size8);
-            this->replicaLocations.resize(_size8);
-            uint32_t _i12;
-            for (_i12 = 0; _i12 < _size8; ++_i12)
+            this->replicaMetadata.clear();
+            uint32_t _size2;
+            ::apache::thrift::protocol::TType _ktype3;
+            ::apache::thrift::protocol::TType _vtype4;
+            xfer += iprot->readMapBegin(_ktype3, _vtype4, _size2);
+            uint32_t _i6;
+            for (_i6 = 0; _i6 < _size2; ++_i6)
             {
-              xfer += this->replicaLocations[_i12].read(iprot);
+              std::string _key7;
+              xfer += iprot->readString(_key7);
+              std::string& _val8 = this->replicaMetadata[_key7];
+              xfer += iprot->readString(_val8);
             }
-            xfer += iprot->readListEnd();
+            xfer += iprot->readMapEnd();
           }
-          this->__isset.replicaLocations = true;
+          this->__isset.replicaMetadata = true;
         } else {
           xfer += iprot->skip(ftype);
         }
@@ -287,225 +277,217 @@ uint32_t DataProductModel::read(::apache::thrift::protocol::TProtocol* iprot) {
   return xfer;
 }
 
-uint32_t DataProductModel::write(::apache::thrift::protocol::TProtocol* oprot) const {
+uint32_t DataReplicaLocationModel::write(::apache::thrift::protocol::TProtocol* oprot) const {
   uint32_t xfer = 0;
   apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
-  xfer += oprot->writeStructBegin("DataProductModel");
+  xfer += oprot->writeStructBegin("DataReplicaLocationModel");
 
+  if (this->__isset.replicaId) {
+    xfer += oprot->writeFieldBegin("replicaId", ::apache::thrift::protocol::T_STRING, 1);
+    xfer += oprot->writeString(this->replicaId);
+    xfer += oprot->writeFieldEnd();
+  }
   if (this->__isset.productUri) {
-    xfer += oprot->writeFieldBegin("productUri", ::apache::thrift::protocol::T_STRING, 1);
+    xfer += oprot->writeFieldBegin("productUri", ::apache::thrift::protocol::T_STRING, 2);
     xfer += oprot->writeString(this->productUri);
     xfer += oprot->writeFieldEnd();
   }
-  if (this->__isset.gatewayId) {
-    xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 2);
-    xfer += oprot->writeString(this->gatewayId);
+  if (this->__isset.replicaName) {
+    xfer += oprot->writeFieldBegin("replicaName", ::apache::thrift::protocol::T_STRING, 3);
+    xfer += oprot->writeString(this->replicaName);
     xfer += oprot->writeFieldEnd();
   }
-  if (this->__isset.parentProductUri) {
-    xfer += oprot->writeFieldBegin("parentProductUri", ::apache::thrift::protocol::T_STRING, 3);
-    xfer += oprot->writeString(this->parentProductUri);
+  if (this->__isset.replicaDescription) {
+    xfer += oprot->writeFieldBegin("replicaDescription", ::apache::thrift::protocol::T_STRING, 4);
+    xfer += oprot->writeString(this->replicaDescription);
     xfer += oprot->writeFieldEnd();
   }
-  if (this->__isset.productName) {
-    xfer += oprot->writeFieldBegin("productName", ::apache::thrift::protocol::T_STRING, 4);
-    xfer += oprot->writeString(this->productName);
+  if (this->__isset.creationTime) {
+    xfer += oprot->writeFieldBegin("creationTime", ::apache::thrift::protocol::T_I64, 5);
+    xfer += oprot->writeI64(this->creationTime);
     xfer += oprot->writeFieldEnd();
   }
-  if (this->__isset.productDescription) {
-    xfer += oprot->writeFieldBegin("productDescription", ::apache::thrift::protocol::T_STRING, 5);
-    xfer += oprot->writeString(this->productDescription);
+  if (this->__isset.lastModifiedTime) {
+    xfer += oprot->writeFieldBegin("lastModifiedTime", ::apache::thrift::protocol::T_I64, 6);
+    xfer += oprot->writeI64(this->lastModifiedTime);
     xfer += oprot->writeFieldEnd();
   }
-  if (this->__isset.ownerName) {
-    xfer += oprot->writeFieldBegin("ownerName", ::apache::thrift::protocol::T_STRING, 6);
-    xfer += oprot->writeString(this->ownerName);
+  if (this->__isset.validUntilTime) {
+    xfer += oprot->writeFieldBegin("validUntilTime", ::apache::thrift::protocol::T_I64, 7);
+    xfer += oprot->writeI64(this->validUntilTime);
     xfer += oprot->writeFieldEnd();
   }
-  if (this->__isset.dataProductType) {
-    xfer += oprot->writeFieldBegin("dataProductType", ::apache::thrift::protocol::T_I32, 7);
-    xfer += oprot->writeI32((int32_t)this->dataProductType);
+  if (this->__isset.replicaLocationCategory) {
+    xfer += oprot->writeFieldBegin("replicaLocationCategory", ::apache::thrift::protocol::T_I32, 8);
+    xfer += oprot->writeI32((int32_t)this->replicaLocationCategory);
     xfer += oprot->writeFieldEnd();
   }
-  if (this->__isset.productSize) {
-    xfer += oprot->writeFieldBegin("productSize", ::apache::thrift::protocol::T_I32, 8);
-    xfer += oprot->writeI32(this->productSize);
+  if (this->__isset.replicaPersistentType) {
+    xfer += oprot->writeFieldBegin("replicaPersistentType", ::apache::thrift::protocol::T_I32, 9);
+    xfer += oprot->writeI32((int32_t)this->replicaPersistentType);
     xfer += oprot->writeFieldEnd();
   }
-  if (this->__isset.creationTime) {
-    xfer += oprot->writeFieldBegin("creationTime", ::apache::thrift::protocol::T_I64, 9);
-    xfer += oprot->writeI64(this->creationTime);
+  if (this->__isset.storageResourceId) {
+    xfer += oprot->writeFieldBegin("storageResourceId", ::apache::thrift::protocol::T_STRING, 10);
+    xfer += oprot->writeString(this->storageResourceId);
     xfer += oprot->writeFieldEnd();
   }
-  if (this->__isset.lastModifiedTime) {
-    xfer += oprot->writeFieldBegin("lastModifiedTime", ::apache::thrift::protocol::T_I64, 10);
-    xfer += oprot->writeI64(this->lastModifiedTime);
+  if (this->__isset.filePath) {
+    xfer += oprot->writeFieldBegin("filePath", ::apache::thrift::protocol::T_STRING, 11);
+    xfer += oprot->writeString(this->filePath);
     xfer += oprot->writeFieldEnd();
   }
-  if (this->__isset.productMetadata) {
-    xfer += oprot->writeFieldBegin("productMetadata", ::apache::thrift::protocol::T_MAP, 11);
+  if (this->__isset.replicaMetadata) {
+    xfer += oprot->writeFieldBegin("replicaMetadata", ::apache::thrift::protocol::T_MAP, 12);
     {
-      xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->productMetadata.size()));
-      std::map<std::string, std::string> ::const_iterator _iter13;
-      for (_iter13 = this->productMetadata.begin(); _iter13 != this->productMetadata.end(); ++_iter13)
+      xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->replicaMetadata.size()));
+      std::map<std::string, std::string> ::const_iterator _iter9;
+      for (_iter9 = this->replicaMetadata.begin(); _iter9 != this->replicaMetadata.end(); ++_iter9)
       {
-        xfer += oprot->writeString(_iter13->first);
-        xfer += oprot->writeString(_iter13->second);
+        xfer += oprot->writeString(_iter9->first);
+        xfer += oprot->writeString(_iter9->second);
       }
       xfer += oprot->writeMapEnd();
     }
     xfer += oprot->writeFieldEnd();
   }
-  if (this->__isset.replicaLocations) {
-    xfer += oprot->writeFieldBegin("replicaLocations", ::apache::thrift::protocol::T_LIST, 12);
-    {
-      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->replicaLocations.size()));
-      std::vector<DataReplicaLocationModel> ::const_iterator _iter14;
-      for (_iter14 = this->replicaLocations.begin(); _iter14 != this->replicaLocations.end(); ++_iter14)
-      {
-        xfer += (*_iter14).write(oprot);
-      }
-      xfer += oprot->writeListEnd();
-    }
-    xfer += oprot->writeFieldEnd();
-  }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
   return xfer;
 }
 
-void swap(DataProductModel &a, DataProductModel &b) {
+void swap(DataReplicaLocationModel &a, DataReplicaLocationModel &b) {
   using ::std::swap;
+  swap(a.replicaId, b.replicaId);
   swap(a.productUri, b.productUri);
-  swap(a.gatewayId, b.gatewayId);
-  swap(a.parentProductUri, b.parentProductUri);
-  swap(a.productName, b.productName);
-  swap(a.productDescription, b.productDescription);
-  swap(a.ownerName, b.ownerName);
-  swap(a.dataProductType, b.dataProductType);
-  swap(a.productSize, b.productSize);
+  swap(a.replicaName, b.replicaName);
+  swap(a.replicaDescription, b.replicaDescription);
   swap(a.creationTime, b.creationTime);
   swap(a.lastModifiedTime, b.lastModifiedTime);
-  swap(a.productMetadata, b.productMetadata);
-  swap(a.replicaLocations, b.replicaLocations);
+  swap(a.validUntilTime, b.validUntilTime);
+  swap(a.replicaLocationCategory, b.replicaLocationCategory);
+  swap(a.replicaPersistentType, b.replicaPersistentType);
+  swap(a.storageResourceId, b.storageResourceId);
+  swap(a.filePath, b.filePath);
+  swap(a.replicaMetadata, b.replicaMetadata);
   swap(a.__isset, b.__isset);
 }
 
-DataProductModel::DataProductModel(const DataProductModel& other15) {
-  productUri = other15.productUri;
-  gatewayId = other15.gatewayId;
-  parentProductUri = other15.parentProductUri;
-  productName = other15.productName;
-  productDescription = other15.productDescription;
-  ownerName = other15.ownerName;
-  dataProductType = other15.dataProductType;
-  productSize = other15.productSize;
-  creationTime = other15.creationTime;
-  lastModifiedTime = other15.lastModifiedTime;
-  productMetadata = other15.productMetadata;
-  replicaLocations = other15.replicaLocations;
-  __isset = other15.__isset;
-}
-DataProductModel& DataProductModel::operator=(const DataProductModel& other16) {
-  productUri = other16.productUri;
-  gatewayId = other16.gatewayId;
-  parentProductUri = other16.parentProductUri;
-  productName = other16.productName;
-  productDescription = other16.productDescription;
-  ownerName = other16.ownerName;
-  dataProductType = other16.dataProductType;
-  productSize = other16.productSize;
-  creationTime = other16.creationTime;
-  lastModifiedTime = other16.lastModifiedTime;
-  productMetadata = other16.productMetadata;
-  replicaLocations = other16.replicaLocations;
-  __isset = other16.__isset;
+DataReplicaLocationModel::DataReplicaLocationModel(const DataReplicaLocationModel& other10) {
+  replicaId = other10.replicaId;
+  productUri = other10.productUri;
+  replicaName = other10.replicaName;
+  replicaDescription = other10.replicaDescription;
+  creationTime = other10.creationTime;
+  lastModifiedTime = other10.lastModifiedTime;
+  validUntilTime = other10.validUntilTime;
+  replicaLocationCategory = other10.replicaLocationCategory;
+  replicaPersistentType = other10.replicaPersistentType;
+  storageResourceId = other10.storageResourceId;
+  filePath = other10.filePath;
+  replicaMetadata = other10.replicaMetadata;
+  __isset = other10.__isset;
+}
+DataReplicaLocationModel& DataReplicaLocationModel::operator=(const DataReplicaLocationModel& other11) {
+  replicaId = other11.replicaId;
+  productUri = other11.productUri;
+  replicaName = other11.replicaName;
+  replicaDescription = other11.replicaDescription;
+  creationTime = other11.creationTime;
+  lastModifiedTime = other11.lastModifiedTime;
+  validUntilTime = other11.validUntilTime;
+  replicaLocationCategory = other11.replicaLocationCategory;
+  replicaPersistentType = other11.replicaPersistentType;
+  storageResourceId = other11.storageResourceId;
+  filePath = other11.filePath;
+  replicaMetadata = other11.replicaMetadata;
+  __isset = other11.__isset;
   return *this;
 }
-void DataProductModel::printTo(std::ostream& out) const {
+void DataReplicaLocationModel::printTo(std::ostream& out) const {
   using ::apache::thrift::to_string;
-  out << "DataProductModel(";
-  out << "productUri="; (__isset.productUri ? (out << to_string(productUri)) : (out << "<null>"));
-  out << ", " << "gatewayId="; (__isset.gatewayId ? (out << to_string(gatewayId)) : (out << "<null>"));
-  out << ", " << "parentProductUri="; (__isset.parentProductUri ? (out << to_string(parentProductUri)) : (out << "<null>"));
-  out << ", " << "productName="; (__isset.productName ? (out << to_string(productName)) : (out << "<null>"));
-  out << ", " << "productDescription="; (__isset.productDescription ? (out << to_string(productDescription)) : (out << "<null>"));
-  out << ", " << "ownerName="; (__isset.ownerName ? (out << to_string(ownerName)) : (out << "<null>"));
-  out << ", " << "dataProductType="; (__isset.dataProductType ? (out << to_string(dataProductType)) : (out << "<null>"));
-  out << ", " << "productSize="; (__isset.productSize ? (out << to_string(productSize)) : (out << "<null>"));
+  out << "DataReplicaLocationModel(";
+  out << "replicaId="; (__isset.replicaId ? (out << to_string(replicaId)) : (out << "<null>"));
+  out << ", " << "productUri="; (__isset.productUri ? (out << to_string(productUri)) : (out << "<null>"));
+  out << ", " << "replicaName="; (__isset.replicaName ? (out << to_string(replicaName)) : (out << "<null>"));
+  out << ", " << "replicaDescription="; (__isset.replicaDescription ? (out << to_string(replicaDescription)) : (out << "<null>"));
   out << ", " << "creationTime="; (__isset.creationTime ? (out << to_string(creationTime)) : (out << "<null>"));
   out << ", " << "lastModifiedTime="; (__isset.lastModifiedTime ? (out << to_string(lastModifiedTime)) : (out << "<null>"));
-  out << ", " << "productMetadata="; (__isset.productMetadata ? (out << to_string(productMetadata)) : (out << "<null>"));
-  out << ", " << "replicaLocations="; (__isset.replicaLocations ? (out << to_string(replicaLocations)) : (out << "<null>"));
+  out << ", " << "validUntilTime="; (__isset.validUntilTime ? (out << to_string(validUntilTime)) : (out << "<null>"));
+  out << ", " << "replicaLocationCategory="; (__isset.replicaLocationCategory ? (out << to_string(replicaLocationCategory)) : (out << "<null>"));
+  out << ", " << "replicaPersistentType="; (__isset.replicaPersistentType ? (out << to_string(replicaPersistentType)) : (out << "<null>"));
+  out << ", " << "storageResourceId="; (__isset.storageResourceId ? (out << to_string(storageResourceId)) : (out << "<null>"));
+  out << ", " << "filePath="; (__isset.filePath ? (out << to_string(filePath)) : (out << "<null>"));
+  out << ", " << "replicaMetadata="; (__isset.replicaMetadata ? (out << to_string(replicaMetadata)) : (out << "<null>"));
   out << ")";
 }
 
 
-DataReplicaLocationModel::~DataReplicaLocationModel() throw() {
+DataProductModel::~DataProductModel() throw() {
 }
 
 
-void DataReplicaLocationModel::__set_replicaId(const std::string& val) {
-  this->replicaId = val;
-__isset.replicaId = true;
-}
-
-void DataReplicaLocationModel::__set_productUri(const std::string& val) {
+void DataProductModel::__set_productUri(const std::string& val) {
   this->productUri = val;
 __isset.productUri = true;
 }
 
-void DataReplicaLocationModel::__set_replicaName(const std::string& val) {
-  this->replicaName = val;
-__isset.replicaName = true;
+void DataProductModel::__set_gatewayId(const std::string& val) {
+  this->gatewayId = val;
+__isset.gatewayId = true;
+}
+
+void DataProductModel::__set_parentProductUri(const std::string& val) {
+  this->parentProductUri = val;
+__isset.parentProductUri = true;
 }
 
-void DataReplicaLocationModel::__set_replicaDescription(const std::string& val) {
-  this->replicaDescription = val;
-__isset.replicaDescription = true;
+void DataProductModel::__set_productName(const std::string& val) {
+  this->productName = val;
+__isset.productName = true;
 }
 
-void DataReplicaLocationModel::__set_creationTime(const int64_t val) {
-  this->creationTime = val;
-__isset.creationTime = true;
+void DataProductModel::__set_productDescription(const std::string& val) {
+  this->productDescription = val;
+__isset.productDescription = true;
 }
 
-void DataReplicaLocationModel::__set_lastModifiedTime(const int64_t val) {
-  this->lastModifiedTime = val;
-__isset.lastModifiedTime = true;
+void DataProductModel::__set_ownerName(const std::string& val) {
+  this->ownerName = val;
+__isset.ownerName = true;
 }
 
-void DataReplicaLocationModel::__set_validUntilTime(const int64_t val) {
-  this->validUntilTime = val;
-__isset.validUntilTime = true;
+void DataProductModel::__set_dataProductType(const DataProductType::type val) {
+  this->dataProductType = val;
+__isset.dataProductType = true;
 }
 
-void DataReplicaLocationModel::__set_replicaLocationCategory(const ReplicaLocationCategory::type val) {
-  this->replicaLocationCategory = val;
-__isset.replicaLocationCategory = true;
+void DataProductModel::__set_productSize(const int32_t val) {
+  this->productSize = val;
+__isset.productSize = true;
 }
 
-void DataReplicaLocationModel::__set_replicaPersistentType(const ReplicaPersistentType::type val) {
-  this->replicaPersistentType = val;
-__isset.replicaPersistentType = true;
+void DataProductModel::__set_creationTime(const int64_t val) {
+  this->creationTime = val;
+__isset.creationTime = true;
 }
 
-void DataReplicaLocationModel::__set_storageResourceId(const std::string& val) {
-  this->storageResourceId = val;
-__isset.storageResourceId = true;
+void DataProductModel::__set_lastModifiedTime(const int64_t val) {
+  this->lastModifiedTime = val;
+__isset.lastModifiedTime = true;
 }
 
-void DataReplicaLocationModel::__set_filePath(const std::string& val) {
-  this->filePath = val;
-__isset.filePath = true;
+void DataProductModel::__set_productMetadata(const std::map<std::string, std::string> & val) {
+  this->productMetadata = val;
+__isset.productMetadata = true;
 }
 
-void DataReplicaLocationModel::__set_replicaMetadata(const std::map<std::string, std::string> & val) {
-  this->replicaMetadata = val;
-__isset.replicaMetadata = true;
+void DataProductModel::__set_replicaLocations(const std::vector<DataReplicaLocationModel> & val) {
+  this->replicaLocations = val;
+__isset.replicaLocations = true;
 }
 
-uint32_t DataReplicaLocationModel::read(::apache::thrift::protocol::TProtocol* iprot) {
+uint32_t DataProductModel::read(::apache::thrift::protocol::TProtocol* iprot) {
 
   apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
   uint32_t xfer = 0;
@@ -528,115 +510,125 @@ uint32_t DataReplicaLocationModel::read(::apache::thrift::protocol::TProtocol* i
     {
       case 1:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->replicaId);
-          this->__isset.replicaId = true;
+          xfer += iprot->readString(this->productUri);
+          this->__isset.productUri = true;
         } else {
           xfer += iprot->skip(ftype);
         }
         break;
       case 2:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->productUri);
-          this->__isset.productUri = true;
+          xfer += iprot->readString(this->gatewayId);
+          this->__isset.gatewayId = true;
         } else {
           xfer += iprot->skip(ftype);
         }
         break;
       case 3:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->replicaName);
-          this->__isset.replicaName = true;
+          xfer += iprot->readString(this->parentProductUri);
+          this->__isset.parentProductUri = true;
         } else {
           xfer += iprot->skip(ftype);
         }
         break;
       case 4:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->replicaDescription);
-          this->__isset.replicaDescription = true;
+          xfer += iprot->readString(this->productName);
+          this->__isset.productName = true;
         } else {
           xfer += iprot->skip(ftype);
         }
         break;
       case 5:
-        if (ftype == ::apache::thrift::protocol::T_I64) {
-          xfer += iprot->readI64(this->creationTime);
-          this->__isset.creationTime = true;
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->productDescription);
+          this->__isset.productDescription = true;
         } else {
           xfer += iprot->skip(ftype);
         }
         break;
       case 6:
-        if (ftype == ::apache::thrift::protocol::T_I64) {
-          xfer += iprot->readI64(this->lastModifiedTime);
-          this->__isset.lastModifiedTime = true;
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->ownerName);
+          this->__isset.ownerName = true;
         } else {
           xfer += iprot->skip(ftype);
         }
         break;
       case 7:
-        if (ftype == ::apache::thrift::protocol::T_I64) {
-          xfer += iprot->readI64(this->validUntilTime);
-          this->__isset.validUntilTime = true;
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          int32_t ecast12;
+          xfer += iprot->readI32(ecast12);
+          this->dataProductType = (DataProductType::type)ecast12;
+          this->__isset.dataProductType = true;
         } else {
           xfer += iprot->skip(ftype);
         }
         break;
       case 8:
         if (ftype == ::apache::thrift::protocol::T_I32) {
-          int32_t ecast17;
-          xfer += iprot->readI32(ecast17);
-          this->replicaLocationCategory = (ReplicaLocationCategory::type)ecast17;
-          this->__isset.replicaLocationCategory = true;
+          xfer += iprot->readI32(this->productSize);
+          this->__isset.productSize = true;
         } else {
           xfer += iprot->skip(ftype);
         }
         break;
       case 9:
-        if (ftype == ::apache::thrift::protocol::T_I32) {
-          int32_t ecast18;
-          xfer += iprot->readI32(ecast18);
-          this->replicaPersistentType = (ReplicaPersistentType::type)ecast18;
-          this->__isset.replicaPersistentType = true;
+        if (ftype == ::apache::thrift::protocol::T_I64) {
+          xfer += iprot->readI64(this->creationTime);
+          this->__isset.creationTime = true;
         } else {
           xfer += iprot->skip(ftype);
         }
         break;
       case 10:
-        if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->storageResourceId);
-          this->__isset.storageResourceId = true;
+        if (ftype == ::apache::thrift::protocol::T_I64) {
+          xfer += iprot->readI64(this->lastModifiedTime);
+          this->__isset.lastModifiedTime = true;
         } else {
           xfer += iprot->skip(ftype);
         }
         break;
       case 11:
-        if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->filePath);
-          this->__isset.filePath = true;
+        if (ftype == ::apache::thrift::protocol::T_MAP) {
+          {
+            this->productMetadata.clear();
+            uint32_t _size13;
+            ::apache::thrift::protocol::TType _ktype14;
+            ::apache::thrift::protocol::TType _vtype15;
+            xfer += iprot->readMapBegin(_ktype14, _vtype15, _size13);
+            uint32_t _i17;
+            for (_i17 = 0; _i17 < _size13; ++_i17)
+            {
+              std::string _key18;
+              xfer += iprot->readString(_key18);
+              std::string& _val19 = this->productMetadata[_key18];
+              xfer += iprot->readString(_val19);
+            }
+            xfer += iprot->readMapEnd();
+          }
+          this->__isset.productMetadata = true;
         } else {
           xfer += iprot->skip(ftype);
         }
         break;
       case 12:
-        if (ftype == ::apache::thrift::protocol::T_MAP) {
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
-            this->replicaMetadata.clear();
-            uint32_t _size19;
-            ::apache::thrift::protocol::TType _ktype20;
-            ::apache::thrift::protocol::TType _vtype21;
-            xfer += iprot->readMapBegin(_ktype20, _vtype21, _size19);
-            uint32_t _i23;
-            for (_i23 = 0; _i23 < _size19; ++_i23)
+            this->replicaLocations.clear();
+            uint32_t _size20;
+            ::apache::thrift::protocol::TType _etype23;
+            xfer += iprot->readListBegin(_etype23, _size20);
+            this->replicaLocations.resize(_size20);
+            uint32_t _i24;
+            for (_i24 = 0; _i24 < _size20; ++_i24)
             {
-              std::string _key24;
-              xfer += iprot->readString(_key24);
-              std::string& _val25 = this->replicaMetadata[_key24];
-              xfer += iprot->readString(_val25);
+              xfer += this->replicaLocations[_i24].read(iprot);
             }
-            xfer += iprot->readMapEnd();
+            xfer += iprot->readListEnd();
           }
-          this->__isset.replicaMetadata = true;
+          this->__isset.replicaLocations = true;
         } else {
           xfer += iprot->skip(ftype);
         }
@@ -653,148 +645,156 @@ uint32_t DataReplicaLocationModel::read(::apache::thrift::protocol::TProtocol* i
   return xfer;
 }
 
-uint32_t DataReplicaLocationModel::write(::apache::thrift::protocol::TProtocol* oprot) const {
+uint32_t DataProductModel::write(::apache::thrift::protocol::TProtocol* oprot) const {
   uint32_t xfer = 0;
   apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
-  xfer += oprot->writeStructBegin("DataReplicaLocationModel");
+  xfer += oprot->writeStructBegin("DataProductModel");
 
-  if (this->__isset.replicaId) {
-    xfer += oprot->writeFieldBegin("replicaId", ::apache::thrift::protocol::T_STRING, 1);
-    xfer += oprot->writeString(this->replicaId);
-    xfer += oprot->writeFieldEnd();
-  }
   if (this->__isset.productUri) {
-    xfer += oprot->writeFieldBegin("productUri", ::apache::thrift::protocol::T_STRING, 2);
+    xfer += oprot->writeFieldBegin("productUri", ::apache::thrift::protocol::T_STRING, 1);
     xfer += oprot->writeString(this->productUri);
     xfer += oprot->writeFieldEnd();
   }
-  if (this->__isset.replicaName) {
-    xfer += oprot->writeFieldBegin("replicaName", ::apache::thrift::protocol::T_STRING, 3);
-    xfer += oprot->writeString(this->replicaName);
+  if (this->__isset.gatewayId) {
+    xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 2);
+    xfer += oprot->writeString(this->gatewayId);
     xfer += oprot->writeFieldEnd();
   }
-  if (this->__isset.replicaDescription) {
-    xfer += oprot->writeFieldBegin("replicaDescription", ::apache::thrift::protocol::T_STRING, 4);
-    xfer += oprot->writeString(this->replicaDescription);
+  if (this->__isset.parentProductUri) {
+    xfer += oprot->writeFieldBegin("parentProductUri", ::apache::thrift::protocol::T_STRING, 3);
+    xfer += oprot->writeString(this->parentProductUri);
     xfer += oprot->writeFieldEnd();
   }
-  if (this->__isset.creationTime) {
-    xfer += oprot->writeFieldBegin("creationTime", ::apache::thrift::protocol::T_I64, 5);
-    xfer += oprot->writeI64(this->creationTime);
+  if (this->__isset.productName) {
+    xfer += oprot->writeFieldBegin("productName", ::apache::thrift::protocol::T_STRING, 4);
+    xfer += oprot->writeString(this->productName);
     xfer += oprot->writeFieldEnd();
   }
-  if (this->__isset.lastModifiedTime) {
-    xfer += oprot->writeFieldBegin("lastModifiedTime", ::apache::thrift::protocol::T_I64, 6);
-    xfer += oprot->writeI64(this->lastModifiedTime);
+  if (this->__isset.productDescription) {
+    xfer += oprot->writeFieldBegin("productDescription", ::apache::thrift::protocol::T_STRING, 5);
+    xfer += oprot->writeString(this->productDescription);
     xfer += oprot->writeFieldEnd();
   }
-  if (this->__isset.validUntilTime) {
-    xfer += oprot->writeFieldBegin("validUntilTime", ::apache::thrift::protocol::T_I64, 7);
-    xfer += oprot->writeI64(this->validUntilTime);
+  if (this->__isset.ownerName) {
+    xfer += oprot->writeFieldBegin("ownerName", ::apache::thrift::protocol::T_STRING, 6);
+    xfer += oprot->writeString(this->ownerName);
     xfer += oprot->writeFieldEnd();
   }
-  if (this->__isset.replicaLocationCategory) {
-    xfer += oprot->writeFieldBegin("replicaLocationCategory", ::apache::thrift::protocol::T_I32, 8);
-    xfer += oprot->writeI32((int32_t)this->replicaLocationCategory);
+  if (this->__isset.dataProductType) {
+    xfer += oprot->writeFieldBegin("dataProductType", ::apache::thrift::protocol::T_I32, 7);
+    xfer += oprot->writeI32((int32_t)this->dataProductType);
     xfer += oprot->writeFieldEnd();
   }
-  if (this->__isset.replicaPersistentType) {
-    xfer += oprot->writeFieldBegin("replicaPersistentType", ::apache::thrift::protocol::T_I32, 9);
-    xfer += oprot->writeI32((int32_t)this->replicaPersistentType);
+  if (this->__isset.productSize) {
+    xfer += oprot->writeFieldBegin("productSize", ::apache::thrift::protocol::T_I32, 8);
+    xfer += oprot->writeI32(this->productSize);
     xfer += oprot->writeFieldEnd();
   }
-  if (this->__isset.storageResourceId) {
-    xfer += oprot->writeFieldBegin("storageResourceId", ::apache::thrift::protocol::T_STRING, 10);
-    xfer += oprot->writeString(this->storageResourceId);
+  if (this->__isset.creationTime) {
+    xfer += oprot->writeFieldBegin("creationTime", ::apache::thrift::protocol::T_I64, 9);
+    xfer += oprot->writeI64(this->creationTime);
     xfer += oprot->writeFieldEnd();
   }
-  if (this->__isset.filePath) {
-    xfer += oprot->writeFieldBegin("filePath", ::apache::thrift::protocol::T_STRING, 11);
-    xfer += oprot->writeString(this->filePath);
+  if (this->__isset.lastModifiedTime) {
+    xfer += oprot->writeFieldBegin("lastModifiedTime", ::apache::thrift::protocol::T_I64, 10);
+    xfer += oprot->writeI64(this->lastModifiedTime);
     xfer += oprot->writeFieldEnd();
   }
-  if (this->__isset.replicaMetadata) {
-    xfer += oprot->writeFieldBegin("replicaMetadata", ::apache::thrift::protocol::T_MAP, 12);
+  if (this->__isset.productMetadata) {
+    xfer += oprot->writeFieldBegin("productMetadata", ::apache::thrift::protocol::T_MAP, 11);
     {
-      xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->replicaMetadata.size()));
-      std::map<std::string, std::string> ::const_iterator _iter26;
-      for (_iter26 = this->replicaMetadata.begin(); _iter26 != this->replicaMetadata.end(); ++_iter26)
+      xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->productMetadata.size()));
+      std::map<std::string, std::string> ::const_iterator _iter25;
+      for (_iter25 = this->productMetadata.begin(); _iter25 != this->productMetadata.end(); ++_iter25)
       {
-        xfer += oprot->writeString(_iter26->first);
-        xfer += oprot->writeString(_iter26->second);
+        xfer += oprot->writeString(_iter25->first);
+        xfer += oprot->writeString(_iter25->second);
       }
       xfer += oprot->writeMapEnd();
     }
     xfer += oprot->writeFieldEnd();
   }
+  if (this->__isset.replicaLocations) {
+    xfer += oprot->writeFieldBegin("replicaLocations", ::apache::thrift::protocol::T_LIST, 12);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->replicaLocations.size()));
+      std::vector<DataReplicaLocationModel> ::const_iterator _iter26;
+      for (_iter26 = this->replicaLocations.begin(); _iter26 != this->replicaLocations.end(); ++_iter26)
+      {
+        xfer += (*_iter26).write(oprot);
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
   return xfer;
 }
 
-void swap(DataReplicaLocationModel &a, DataReplicaLocationModel &b) {
+void swap(DataProductModel &a, DataProductModel &b) {
   using ::std::swap;
-  swap(a.replicaId, b.replicaId);
   swap(a.productUri, b.productUri);
-  swap(a.replicaName, b.replicaName);
-  swap(a.replicaDescription, b.replicaDescription);
+  swap(a.gatewayId, b.gatewayId);
+  swap(a.parentProductUri, b.parentProductUri);
+  swap(a.productName, b.productName);
+  swap(a.productDescription, b.productDescription);
+  swap(a.ownerName, b.ownerName);
+  swap(a.dataProductType, b.dataProductType);
+  swap(a.productSize, b.productSize);
   swap(a.creationTime, b.creationTime);
   swap(a.lastModifiedTime, b.lastModifiedTime);
-  swap(a.validUntilTime, b.validUntilTime);
-  swap(a.replicaLocationCategory, b.replicaLocationCategory);
-  swap(a.replicaPersistentType, b.replicaPersistentType);
-  swap(a.storageResourceId, b.storageResourceId);
-  swap(a.filePath, b.filePath);
-  swap(a.replicaMetadata, b.replicaMetadata);
+  swap(a.productMetadata, b.productMetadata);
+  swap(a.replicaLocations, b.replicaLocations);
   swap(a.__isset, b.__isset);
 }
 
-DataReplicaLocationModel::DataReplicaLocationModel(const DataReplicaLocationModel& other27) {
-  replicaId = other27.replicaId;
+DataProductModel::DataProductModel(const DataProductModel& other27) {
   productUri = other27.productUri;
-  replicaName = other27.replicaName;
-  replicaDescription = other27.replicaDescription;
+  gatewayId = other27.gatewayId;
+  parentProductUri = other27.parentProductUri;
+  productName = other27.productName;
+  productDescription = other27.productDescription;
+  ownerName = other27.ownerName;
+  dataProductType = other27.dataProductType;
+  productSize = other27.productSize;
   creationTime = other27.creationTime;
   lastModifiedTime = other27.lastModifiedTime;
-  validUntilTime = other27.validUntilTime;
-  replicaLocationCategory = other27.replicaLocationCategory;
-  replicaPersistentType = other27.replicaPersistentType;
-  storageResourceId = other27.storageResourceId;
-  filePath = other27.filePath;
-  replicaMetadata = other27.replicaMetadata;
+  productMetadata = other27.productMetadata;
+  replicaLocations = other27.replicaLocations;
   __isset = other27.__isset;
 }
-DataReplicaLocationModel& DataReplicaLocationModel::operator=(const DataReplicaLocationModel& other28) {
-  replicaId = other28.replicaId;
+DataProductModel& DataProductModel::operator=(const DataProductModel& other28) {
   productUri = other28.productUri;
-  replicaName = other28.replicaName;
-  replicaDescription = other28.replicaDescription;
+  gatewayId = other28.gatewayId;
+  parentProductUri = other28.parentProductUri;
+  productName = other28.productName;
+  productDescription = other28.productDescription;
+  ownerName = other28.ownerName;
+  dataProductType = other28.dataProductType;
+  productSize = other28.productSize;
   creationTime = other28.creationTime;
   lastModifiedTime = other28.lastModifiedTime;
-  validUntilTime = other28.validUntilTime;
-  replicaLocationCategory = other28.replicaLocationCategory;
-  replicaPersistentType = other28.replicaPersistentType;
-  storageResourceId = other28.storageResourceId;
-  filePath = other28.filePath;
-  replicaMetadata = other28.replicaMetadata;
+  productMetadata = other28.productMetadata;
+  replicaLocations = other28.replicaLocations;
   __isset = other28.__isset;
   return *this;
 }
-void DataReplicaLocationModel::printTo(std::ostream& out) const {
+void DataProductModel::printTo(std::ostream& out) const {
   using ::apache::thrift::to_string;
-  out << "DataReplicaLocationModel(";
-  out << "replicaId="; (__isset.replicaId ? (out << to_string(replicaId)) : (out << "<null>"));
-  out << ", " << "productUri="; (__isset.productUri ? (out << to_string(productUri)) : (out << "<null>"));
-  out << ", " << "replicaName="; (__isset.replicaName ? (out << to_string(replicaName)) : (out << "<null>"));
-  out << ", " << "replicaDescription="; (__isset.replicaDescription ? (out << to_string(replicaDescription)) : (out << "<null>"));
+  out << "DataProductModel(";
+  out << "productUri="; (__isset.productUri ? (out << to_string(productUri)) : (out << "<null>"));
+  out << ", " << "gatewayId="; (__isset.gatewayId ? (out << to_string(gatewayId)) : (out << "<null>"));
+  out << ", " << "parentProductUri="; (__isset.parentProductUri ? (out << to_string(parentProductUri)) : (out << "<null>"));
+  out << ", " << "productName="; (__isset.productName ? (out << to_string(productName)) : (out << "<null>"));
+  out << ", " << "productDescription="; (__isset.productDescription ? (out << to_string(productDescription)) : (out << "<null>"));
+  out << ", " << "ownerName="; (__isset.ownerName ? (out << to_string(ownerName)) : (out << "<null>"));
+  out << ", " << "dataProductType="; (__isset.dataProductType ? (out << to_string(dataProductType)) : (out << "<null>"));
+  out << ", " << "productSize="; (__isset.productSize ? (out << to_string(productSize)) : (out << "<null>"));
   out << ", " << "creationTime="; (__isset.creationTime ? (out << to_string(creationTime)) : (out << "<null>"));
   out << ", " << "lastModifiedTime="; (__isset.lastModifiedTime ? (out << to_string(lastModifiedTime)) : (out << "<null>"));
-  out << ", " << "validUntilTime="; (__isset.validUntilTime ? (out << to_string(validUntilTime)) : (out << "<null>"));
-  out << ", " << "replicaLocationCategory="; (__isset.replicaLocationCategory ? (out << to_string(replicaLocationCategory)) : (out << "<null>"));
-  out << ", " << "replicaPersistentType="; (__isset.replicaPersistentType ? (out << to_string(replicaPersistentType)) : (out << "<null>"));
-  out << ", " << "storageResourceId="; (__isset.storageResourceId ? (out << to_string(storageResourceId)) : (out << "<null>"));
-  out << ", " << "filePath="; (__isset.filePath ? (out << to_string(filePath)) : (out << "<null>"));
-  out << ", " << "replicaMetadata="; (__isset.replicaMetadata ? (out << to_string(replicaMetadata)) : (out << "<null>"));
+  out << ", " << "productMetadata="; (__isset.productMetadata ? (out << to_string(productMetadata)) : (out << "<null>"));
+  out << ", " << "replicaLocations="; (__isset.replicaLocations ? (out << to_string(replicaLocations)) : (out << "<null>"));
   out << ")";
 }
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/replica_catalog_models_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/replica_catalog_models_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/replica_catalog_models_types.h
index c30079f..08f853e 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/replica_catalog_models_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/replica_catalog_models_types.h
@@ -65,145 +65,9 @@ struct DataProductType {
 
 extern const std::map<int, const char*> _DataProductType_VALUES_TO_NAMES;
 
-class DataProductModel;
-
 class DataReplicaLocationModel;
 
-typedef struct _DataProductModel__isset {
-  _DataProductModel__isset() : productUri(false), gatewayId(false), parentProductUri(false), productName(false), productDescription(false), ownerName(false), dataProductType(false), productSize(false), creationTime(false), lastModifiedTime(false), productMetadata(false), replicaLocations(false) {}
-  bool productUri :1;
-  bool gatewayId :1;
-  bool parentProductUri :1;
-  bool productName :1;
-  bool productDescription :1;
-  bool ownerName :1;
-  bool dataProductType :1;
-  bool productSize :1;
-  bool creationTime :1;
-  bool lastModifiedTime :1;
-  bool productMetadata :1;
-  bool replicaLocations :1;
-} _DataProductModel__isset;
-
-class DataProductModel {
- public:
-
-  DataProductModel(const DataProductModel&);
-  DataProductModel& operator=(const DataProductModel&);
-  DataProductModel() : productUri(), gatewayId(), parentProductUri(), productName(), productDescription(), ownerName(), dataProductType((DataProductType::type)0), productSize(0), creationTime(0), lastModifiedTime(0) {
-  }
-
-  virtual ~DataProductModel() throw();
-  std::string productUri;
-  std::string gatewayId;
-  std::string parentProductUri;
-  std::string productName;
-  std::string productDescription;
-  std::string ownerName;
-  DataProductType::type dataProductType;
-  int32_t productSize;
-  int64_t creationTime;
-  int64_t lastModifiedTime;
-  std::map<std::string, std::string>  productMetadata;
-  std::vector<DataReplicaLocationModel>  replicaLocations;
-
-  _DataProductModel__isset __isset;
-
-  void __set_productUri(const std::string& val);
-
-  void __set_gatewayId(const std::string& val);
-
-  void __set_parentProductUri(const std::string& val);
-
-  void __set_productName(const std::string& val);
-
-  void __set_productDescription(const std::string& val);
-
-  void __set_ownerName(const std::string& val);
-
-  void __set_dataProductType(const DataProductType::type val);
-
-  void __set_productSize(const int32_t val);
-
-  void __set_creationTime(const int64_t val);
-
-  void __set_lastModifiedTime(const int64_t val);
-
-  void __set_productMetadata(const std::map<std::string, std::string> & val);
-
-  void __set_replicaLocations(const std::vector<DataReplicaLocationModel> & val);
-
-  bool operator == (const DataProductModel & rhs) const
-  {
-    if (__isset.productUri != rhs.__isset.productUri)
-      return false;
-    else if (__isset.productUri && !(productUri == rhs.productUri))
-      return false;
-    if (__isset.gatewayId != rhs.__isset.gatewayId)
-      return false;
-    else if (__isset.gatewayId && !(gatewayId == rhs.gatewayId))
-      return false;
-    if (__isset.parentProductUri != rhs.__isset.parentProductUri)
-      return false;
-    else if (__isset.parentProductUri && !(parentProductUri == rhs.parentProductUri))
-      return false;
-    if (__isset.productName != rhs.__isset.productName)
-      return false;
-    else if (__isset.productName && !(productName == rhs.productName))
-      return false;
-    if (__isset.productDescription != rhs.__isset.productDescription)
-      return false;
-    else if (__isset.productDescription && !(productDescription == rhs.productDescription))
-      return false;
-    if (__isset.ownerName != rhs.__isset.ownerName)
-      return false;
-    else if (__isset.ownerName && !(ownerName == rhs.ownerName))
-      return false;
-    if (__isset.dataProductType != rhs.__isset.dataProductType)
-      return false;
-    else if (__isset.dataProductType && !(dataProductType == rhs.dataProductType))
-      return false;
-    if (__isset.productSize != rhs.__isset.productSize)
-      return false;
-    else if (__isset.productSize && !(productSize == rhs.productSize))
-      return false;
-    if (__isset.creationTime != rhs.__isset.creationTime)
-      return false;
-    else if (__isset.creationTime && !(creationTime == rhs.creationTime))
-      return false;
-    if (__isset.lastModifiedTime != rhs.__isset.lastModifiedTime)
-      return false;
-    else if (__isset.lastModifiedTime && !(lastModifiedTime == rhs.lastModifiedTime))
-      return false;
-    if (__isset.productMetadata != rhs.__isset.productMetadata)
-      return false;
-    else if (__isset.productMetadata && !(productMetadata == rhs.productMetadata))
-      return false;
-    if (__isset.replicaLocations != rhs.__isset.replicaLocations)
-      return false;
-    else if (__isset.replicaLocations && !(replicaLocations == rhs.replicaLocations))
-      return false;
-    return true;
-  }
-  bool operator != (const DataProductModel &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const DataProductModel & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-  virtual void printTo(std::ostream& out) const;
-};
-
-void swap(DataProductModel &a, DataProductModel &b);
-
-inline std::ostream& operator<<(std::ostream& out, const DataProductModel& obj)
-{
-  obj.printTo(out);
-  return out;
-}
+class DataProductModel;
 
 typedef struct _DataReplicaLocationModel__isset {
   _DataReplicaLocationModel__isset() : replicaId(false), productUri(false), replicaName(false), replicaDescription(false), creationTime(false), lastModifiedTime(false), validUntilTime(false), replicaLocationCategory(false), replicaPersistentType(false), storageResourceId(false), filePath(false), replicaMetadata(false) {}
@@ -341,6 +205,142 @@ inline std::ostream& operator<<(std::ostream& out, const DataReplicaLocationMode
   return out;
 }
 
+typedef struct _DataProductModel__isset {
+  _DataProductModel__isset() : productUri(false), gatewayId(false), parentProductUri(false), productName(false), productDescription(false), ownerName(false), dataProductType(false), productSize(false), creationTime(false), lastModifiedTime(false), productMetadata(false), replicaLocations(false) {}
+  bool productUri :1;
+  bool gatewayId :1;
+  bool parentProductUri :1;
+  bool productName :1;
+  bool productDescription :1;
+  bool ownerName :1;
+  bool dataProductType :1;
+  bool productSize :1;
+  bool creationTime :1;
+  bool lastModifiedTime :1;
+  bool productMetadata :1;
+  bool replicaLocations :1;
+} _DataProductModel__isset;
+
+class DataProductModel {
+ public:
+
+  DataProductModel(const DataProductModel&);
+  DataProductModel& operator=(const DataProductModel&);
+  DataProductModel() : productUri(), gatewayId(), parentProductUri(), productName(), productDescription(), ownerName(), dataProductType((DataProductType::type)0), productSize(0), creationTime(0), lastModifiedTime(0) {
+  }
+
+  virtual ~DataProductModel() throw();
+  std::string productUri;
+  std::string gatewayId;
+  std::string parentProductUri;
+  std::string productName;
+  std::string productDescription;
+  std::string ownerName;
+  DataProductType::type dataProductType;
+  int32_t productSize;
+  int64_t creationTime;
+  int64_t lastModifiedTime;
+  std::map<std::string, std::string>  productMetadata;
+  std::vector<DataReplicaLocationModel>  replicaLocations;
+
+  _DataProductModel__isset __isset;
+
+  void __set_productUri(const std::string& val);
+
+  void __set_gatewayId(const std::string& val);
+
+  void __set_parentProductUri(const std::string& val);
+
+  void __set_productName(const std::string& val);
+
+  void __set_productDescription(const std::string& val);
+
+  void __set_ownerName(const std::string& val);
+
+  void __set_dataProductType(const DataProductType::type val);
+
+  void __set_productSize(const int32_t val);
+
+  void __set_creationTime(const int64_t val);
+
+  void __set_lastModifiedTime(const int64_t val);
+
+  void __set_productMetadata(const std::map<std::string, std::string> & val);
+
+  void __set_replicaLocations(const std::vector<DataReplicaLocationModel> & val);
+
+  bool operator == (const DataProductModel & rhs) const
+  {
+    if (__isset.productUri != rhs.__isset.productUri)
+      return false;
+    else if (__isset.productUri && !(productUri == rhs.productUri))
+      return false;
+    if (__isset.gatewayId != rhs.__isset.gatewayId)
+      return false;
+    else if (__isset.gatewayId && !(gatewayId == rhs.gatewayId))
+      return false;
+    if (__isset.parentProductUri != rhs.__isset.parentProductUri)
+      return false;
+    else if (__isset.parentProductUri && !(parentProductUri == rhs.parentProductUri))
+      return false;
+    if (__isset.productName != rhs.__isset.productName)
+      return false;
+    else if (__isset.productName && !(productName == rhs.productName))
+      return false;
+    if (__isset.productDescription != rhs.__isset.productDescription)
+      return false;
+    else if (__isset.productDescription && !(productDescription == rhs.productDescription))
+      return false;
+    if (__isset.ownerName != rhs.__isset.ownerName)
+      return false;
+    else if (__isset.ownerName && !(ownerName == rhs.ownerName))
+      return false;
+    if (__isset.dataProductType != rhs.__isset.dataProductType)
+      return false;
+    else if (__isset.dataProductType && !(dataProductType == rhs.dataProductType))
+      return false;
+    if (__isset.productSize != rhs.__isset.productSize)
+      return false;
+    else if (__isset.productSize && !(productSize == rhs.productSize))
+      return false;
+    if (__isset.creationTime != rhs.__isset.creationTime)
+      return false;
+    else if (__isset.creationTime && !(creationTime == rhs.creationTime))
+      return false;
+    if (__isset.lastModifiedTime != rhs.__isset.lastModifiedTime)
+      return false;
+    else if (__isset.lastModifiedTime && !(lastModifiedTime == rhs.lastModifiedTime))
+      return false;
+    if (__isset.productMetadata != rhs.__isset.productMetadata)
+      return false;
+    else if (__isset.productMetadata && !(productMetadata == rhs.productMetadata))
+      return false;
+    if (__isset.replicaLocations != rhs.__isset.replicaLocations)
+      return false;
+    else if (__isset.replicaLocations && !(replicaLocations == rhs.replicaLocations))
+      return false;
+    return true;
+  }
+  bool operator != (const DataProductModel &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const DataProductModel & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  virtual void printTo(std::ostream& out) const;
+};
+
+void swap(DataProductModel &a, DataProductModel &b);
+
+inline std::ostream& operator<<(std::ostream& out, const DataProductModel& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 }}}}} // namespace
 
 #endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/tenant_profile_model_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/tenant_profile_model_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/tenant_profile_model_constants.cpp
new file mode 100644
index 0000000..6bae159
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/tenant_profile_model_constants.cpp
@@ -0,0 +1,34 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.3)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "tenant_profile_model_constants.h"
+
+namespace apache { namespace airavata { namespace model { namespace tenant {
+
+const tenant_profile_modelConstants g_tenant_profile_model_constants;
+
+tenant_profile_modelConstants::tenant_profile_modelConstants() {
+}
+
+}}}} // namespace
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/tenant_profile_model_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/tenant_profile_model_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/tenant_profile_model_constants.h
new file mode 100644
index 0000000..02a121e
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/tenant_profile_model_constants.h
@@ -0,0 +1,41 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.3)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef tenant_profile_model_CONSTANTS_H
+#define tenant_profile_model_CONSTANTS_H
+
+#include "tenant_profile_model_types.h"
+
+namespace apache { namespace airavata { namespace model { namespace tenant {
+
+class tenant_profile_modelConstants {
+ public:
+  tenant_profile_modelConstants();
+
+};
+
+extern const tenant_profile_modelConstants g_tenant_profile_model_constants;
+
+}}}} // namespace
+
+#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/tenant_profile_model_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/tenant_profile_model_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/tenant_profile_model_types.cpp
new file mode 100644
index 0000000..284f0d4
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/tenant_profile_model_types.cpp
@@ -0,0 +1,541 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.3)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "tenant_profile_model_types.h"
+
+#include <algorithm>
+#include <ostream>
+
+#include <thrift/TToString.h>
+
+namespace apache { namespace airavata { namespace model { namespace tenant {
+
+int _kTenantApprovalStatusValues[] = {
+  TenantApprovalStatus::REQUESTED,
+  TenantApprovalStatus::APPROVED,
+  TenantApprovalStatus::ACTIVE,
+  TenantApprovalStatus::DEACTIVATED,
+  TenantApprovalStatus::CANCELLED,
+  TenantApprovalStatus::DENIED,
+  TenantApprovalStatus::CREATED
+};
+const char* _kTenantApprovalStatusNames[] = {
+  "REQUESTED",
+  "APPROVED",
+  "ACTIVE",
+  "DEACTIVATED",
+  "CANCELLED",
+  "DENIED",
+  "CREATED"
+};
+const std::map<int, const char*> _TenantApprovalStatus_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(7, _kTenantApprovalStatusValues, _kTenantApprovalStatusNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+
+Tenant::~Tenant() throw() {
+}
+
+
+void Tenant::__set_tenantId(const std::string& val) {
+  this->tenantId = val;
+}
+
+void Tenant::__set_tenantApprovalStatus(const TenantApprovalStatus::type val) {
+  this->tenantApprovalStatus = val;
+}
+
+void Tenant::__set_tenantName(const std::string& val) {
+  this->tenantName = val;
+__isset.tenantName = true;
+}
+
+void Tenant::__set_domain(const std::string& val) {
+  this->domain = val;
+__isset.domain = true;
+}
+
+void Tenant::__set_emailAddress(const std::string& val) {
+  this->emailAddress = val;
+__isset.emailAddress = true;
+}
+
+void Tenant::__set_tenantAcronym(const std::string& val) {
+  this->tenantAcronym = val;
+__isset.tenantAcronym = true;
+}
+
+void Tenant::__set_tenantURL(const std::string& val) {
+  this->tenantURL = val;
+__isset.tenantURL = true;
+}
+
+void Tenant::__set_tenantPublicAbstract(const std::string& val) {
+  this->tenantPublicAbstract = val;
+__isset.tenantPublicAbstract = true;
+}
+
+void Tenant::__set_reviewProposalDescription(const std::string& val) {
+  this->reviewProposalDescription = val;
+__isset.reviewProposalDescription = true;
+}
+
+void Tenant::__set_tenantAdminFirstName(const std::string& val) {
+  this->tenantAdminFirstName = val;
+__isset.tenantAdminFirstName = true;
+}
+
+void Tenant::__set_tenantAdminLastName(const std::string& val) {
+  this->tenantAdminLastName = val;
+__isset.tenantAdminLastName = true;
+}
+
+void Tenant::__set_tenantAdminEmail(const std::string& val) {
+  this->tenantAdminEmail = val;
+__isset.tenantAdminEmail = true;
+}
+
+void Tenant::__set_identityServerUserName(const std::string& val) {
+  this->identityServerUserName = val;
+__isset.identityServerUserName = true;
+}
+
+void Tenant::__set_identityServerPasswordToken(const std::string& val) {
+  this->identityServerPasswordToken = val;
+__isset.identityServerPasswordToken = true;
+}
+
+void Tenant::__set_declinedReason(const std::string& val) {
+  this->declinedReason = val;
+__isset.declinedReason = true;
+}
+
+void Tenant::__set_oauthClientId(const std::string& val) {
+  this->oauthClientId = val;
+__isset.oauthClientId = true;
+}
+
+void Tenant::__set_oauthClientSecret(const std::string& val) {
+  this->oauthClientSecret = val;
+__isset.oauthClientSecret = true;
+}
+
+void Tenant::__set_requestCreationTime(const int64_t val) {
+  this->requestCreationTime = val;
+__isset.requestCreationTime = true;
+}
+
+void Tenant::__set_requesterUsername(const std::string& val) {
+  this->requesterUsername = val;
+__isset.requesterUsername = true;
+}
+
+uint32_t Tenant::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_tenantId = false;
+  bool isset_tenantApprovalStatus = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->tenantId);
+          isset_tenantId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          int32_t ecast0;
+          xfer += iprot->readI32(ecast0);
+          this->tenantApprovalStatus = (TenantApprovalStatus::type)ecast0;
+          isset_tenantApprovalStatus = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->tenantName);
+          this->__isset.tenantName = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->domain);
+          this->__isset.domain = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 5:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->emailAddress);
+          this->__isset.emailAddress = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 6:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->tenantAcronym);
+          this->__isset.tenantAcronym = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 7:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->tenantURL);
+          this->__isset.tenantURL = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 8:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->tenantPublicAbstract);
+          this->__isset.tenantPublicAbstract = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 9:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->reviewProposalDescription);
+          this->__isset.reviewProposalDescription = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 10:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->tenantAdminFirstName);
+          this->__isset.tenantAdminFirstName = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 11:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->tenantAdminLastName);
+          this->__isset.tenantAdminLastName = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 12:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->tenantAdminEmail);
+          this->__isset.tenantAdminEmail = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 13:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->identityServerUserName);
+          this->__isset.identityServerUserName = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 14:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->identityServerPasswordToken);
+          this->__isset.identityServerPasswordToken = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 15:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->declinedReason);
+          this->__isset.declinedReason = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 16:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->oauthClientId);
+          this->__isset.oauthClientId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 17:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->oauthClientSecret);
+          this->__isset.oauthClientSecret = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 18:
+        if (ftype == ::apache::thrift::protocol::T_I64) {
+          xfer += iprot->readI64(this->requestCreationTime);
+          this->__isset.requestCreationTime = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 19:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->requesterUsername);
+          this->__isset.requesterUsername = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_tenantId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_tenantApprovalStatus)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t Tenant::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
+  xfer += oprot->writeStructBegin("Tenant");
+
+  xfer += oprot->writeFieldBegin("tenantId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->tenantId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("tenantApprovalStatus", ::apache::thrift::protocol::T_I32, 2);
+  xfer += oprot->writeI32((int32_t)this->tenantApprovalStatus);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.tenantName) {
+    xfer += oprot->writeFieldBegin("tenantName", ::apache::thrift::protocol::T_STRING, 3);
+    xfer += oprot->writeString(this->tenantName);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.domain) {
+    xfer += oprot->writeFieldBegin("domain", ::apache::thrift::protocol::T_STRING, 4);
+    xfer += oprot->writeString(this->domain);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.emailAddress) {
+    xfer += oprot->writeFieldBegin("emailAddress", ::apache::thrift::protocol::T_STRING, 5);
+    xfer += oprot->writeString(this->emailAddress);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.tenantAcronym) {
+    xfer += oprot->writeFieldBegin("tenantAcronym", ::apache::thrift::protocol::T_STRING, 6);
+    xfer += oprot->writeString(this->tenantAcronym);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.tenantURL) {
+    xfer += oprot->writeFieldBegin("tenantURL", ::apache::thrift::protocol::T_STRING, 7);
+    xfer += oprot->writeString(this->tenantURL);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.tenantPublicAbstract) {
+    xfer += oprot->writeFieldBegin("tenantPublicAbstract", ::apache::thrift::protocol::T_STRING, 8);
+    xfer += oprot->writeString(this->tenantPublicAbstract);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.reviewProposalDescription) {
+    xfer += oprot->writeFieldBegin("reviewProposalDescription", ::apache::thrift::protocol::T_STRING, 9);
+    xfer += oprot->writeString(this->reviewProposalDescription);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.tenantAdminFirstName) {
+    xfer += oprot->writeFieldBegin("tenantAdminFirstName", ::apache::thrift::protocol::T_STRING, 10);
+    xfer += oprot->writeString(this->tenantAdminFirstName);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.tenantAdminLastName) {
+    xfer += oprot->writeFieldBegin("tenantAdminLastName", ::apache::thrift::protocol::T_STRING, 11);
+    xfer += oprot->writeString(this->tenantAdminLastName);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.tenantAdminEmail) {
+    xfer += oprot->writeFieldBegin("tenantAdminEmail", ::apache::thrift::protocol::T_STRING, 12);
+    xfer += oprot->writeString(this->tenantAdminEmail);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.identityServerUserName) {
+    xfer += oprot->writeFieldBegin("identityServerUserName", ::apache::thrift::protocol::T_STRING, 13);
+    xfer += oprot->writeString(this->identityServerUserName);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.identityServerPasswordToken) {
+    xfer += oprot->writeFieldBegin("identityServerPasswordToken", ::apache::thrift::protocol::T_STRING, 14);
+    xfer += oprot->writeString(this->identityServerPasswordToken);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.declinedReason) {
+    xfer += oprot->writeFieldBegin("declinedReason", ::apache::thrift::protocol::T_STRING, 15);
+    xfer += oprot->writeString(this->declinedReason);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.oauthClientId) {
+    xfer += oprot->writeFieldBegin("oauthClientId", ::apache::thrift::protocol::T_STRING, 16);
+    xfer += oprot->writeString(this->oauthClientId);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.oauthClientSecret) {
+    xfer += oprot->writeFieldBegin("oauthClientSecret", ::apache::thrift::protocol::T_STRING, 17);
+    xfer += oprot->writeString(this->oauthClientSecret);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.requestCreationTime) {
+    xfer += oprot->writeFieldBegin("requestCreationTime", ::apache::thrift::protocol::T_I64, 18);
+    xfer += oprot->writeI64(this->requestCreationTime);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.requesterUsername) {
+    xfer += oprot->writeFieldBegin("requesterUsername", ::apache::thrift::protocol::T_STRING, 19);
+    xfer += oprot->writeString(this->requesterUsername);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+void swap(Tenant &a, Tenant &b) {
+  using ::std::swap;
+  swap(a.tenantId, b.tenantId);
+  swap(a.tenantApprovalStatus, b.tenantApprovalStatus);
+  swap(a.tenantName, b.tenantName);
+  swap(a.domain, b.domain);
+  swap(a.emailAddress, b.emailAddress);
+  swap(a.tenantAcronym, b.tenantAcronym);
+  swap(a.tenantURL, b.tenantURL);
+  swap(a.tenantPublicAbstract, b.tenantPublicAbstract);
+  swap(a.reviewProposalDescription, b.reviewProposalDescription);
+  swap(a.tenantAdminFirstName, b.tenantAdminFirstName);
+  swap(a.tenantAdminLastName, b.tenantAdminLastName);
+  swap(a.tenantAdminEmail, b.tenantAdminEmail);
+  swap(a.identityServerUserName, b.identityServerUserName);
+  swap(a.identityServerPasswordToken, b.identityServerPasswordToken);
+  swap(a.declinedReason, b.declinedReason);
+  swap(a.oauthClientId, b.oauthClientId);
+  swap(a.oauthClientSecret, b.oauthClientSecret);
+  swap(a.requestCreationTime, b.requestCreationTime);
+  swap(a.requesterUsername, b.requesterUsername);
+  swap(a.__isset, b.__isset);
+}
+
+Tenant::Tenant(const Tenant& other1) {
+  tenantId = other1.tenantId;
+  tenantApprovalStatus = other1.tenantApprovalStatus;
+  tenantName = other1.tenantName;
+  domain = other1.domain;
+  emailAddress = other1.emailAddress;
+  tenantAcronym = other1.tenantAcronym;
+  tenantURL = other1.tenantURL;
+  tenantPublicAbstract = other1.tenantPublicAbstract;
+  reviewProposalDescription = other1.reviewProposalDescription;
+  tenantAdminFirstName = other1.tenantAdminFirstName;
+  tenantAdminLastName = other1.tenantAdminLastName;
+  tenantAdminEmail = other1.tenantAdminEmail;
+  identityServerUserName = other1.identityServerUserName;
+  identityServerPasswordToken = other1.identityServerPasswordToken;
+  declinedReason = other1.declinedReason;
+  oauthClientId = other1.oauthClientId;
+  oauthClientSecret = other1.oauthClientSecret;
+  requestCreationTime = other1.requestCreationTime;
+  requesterUsername = other1.requesterUsername;
+  __isset = other1.__isset;
+}
+Tenant& Tenant::operator=(const Tenant& other2) {
+  tenantId = other2.tenantId;
+  tenantApprovalStatus = other2.tenantApprovalStatus;
+  tenantName = other2.tenantName;
+  domain = other2.domain;
+  emailAddress = other2.emailAddress;
+  tenantAcronym = other2.tenantAcronym;
+  tenantURL = other2.tenantURL;
+  tenantPublicAbstract = other2.tenantPublicAbstract;
+  reviewProposalDescription = other2.reviewProposalDescription;
+  tenantAdminFirstName = other2.tenantAdminFirstName;
+  tenantAdminLastName = other2.tenantAdminLastName;
+  tenantAdminEmail = other2.tenantAdminEmail;
+  identityServerUserName = other2.identityServerUserName;
+  identityServerPasswordToken = other2.identityServerPasswordToken;
+  declinedReason = other2.declinedReason;
+  oauthClientId = other2.oauthClientId;
+  oauthClientSecret = other2.oauthClientSecret;
+  requestCreationTime = other2.requestCreationTime;
+  requesterUsername = other2.requesterUsername;
+  __isset = other2.__isset;
+  return *this;
+}
+void Tenant::printTo(std::ostream& out) const {
+  using ::apache::thrift::to_string;
+  out << "Tenant(";
+  out << "tenantId=" << to_string(tenantId);
+  out << ", " << "tenantApprovalStatus=" << to_string(tenantApprovalStatus);
+  out << ", " << "tenantName="; (__isset.tenantName ? (out << to_string(tenantName)) : (out << "<null>"));
+  out << ", " << "domain="; (__isset.domain ? (out << to_string(domain)) : (out << "<null>"));
+  out << ", " << "emailAddress="; (__isset.emailAddress ? (out << to_string(emailAddress)) : (out << "<null>"));
+  out << ", " << "tenantAcronym="; (__isset.tenantAcronym ? (out << to_string(tenantAcronym)) : (out << "<null>"));
+  out << ", " << "tenantURL="; (__isset.tenantURL ? (out << to_string(tenantURL)) : (out << "<null>"));
+  out << ", " << "tenantPublicAbstract="; (__isset.tenantPublicAbstract ? (out << to_string(tenantPublicAbstract)) : (out << "<null>"));
+  out << ", " << "reviewProposalDescription="; (__isset.reviewProposalDescription ? (out << to_string(reviewProposalDescription)) : (out << "<null>"));
+  out << ", " << "tenantAdminFirstName="; (__isset.tenantAdminFirstName ? (out << to_string(tenantAdminFirstName)) : (out << "<null>"));
+  out << ", " << "tenantAdminLastName="; (__isset.tenantAdminLastName ? (out << to_string(tenantAdminLastName)) : (out << "<null>"));
+  out << ", " << "tenantAdminEmail="; (__isset.tenantAdminEmail ? (out << to_string(tenantAdminEmail)) : (out << "<null>"));
+  out << ", " << "identityServerUserName="; (__isset.identityServerUserName ? (out << to_string(identityServerUserName)) : (out << "<null>"));
+  out << ", " << "identityServerPasswordToken="; (__isset.identityServerPasswordToken ? (out << to_string(identityServerPasswordToken)) : (out << "<null>"));
+  out << ", " << "declinedReason="; (__isset.declinedReason ? (out << to_string(declinedReason)) : (out << "<null>"));
+  out << ", " << "oauthClientId="; (__isset.oauthClientId ? (out << to_string(oauthClientId)) : (out << "<null>"));
+  out << ", " << "oauthClientSecret="; (__isset.oauthClientSecret ? (out << to_string(oauthClientSecret)) : (out << "<null>"));
+  out << ", " << "requestCreationTime="; (__isset.requestCreationTime ? (out << to_string(requestCreationTime)) : (out << "<null>"));
+  out << ", " << "requesterUsername="; (__isset.requesterUsername ? (out << to_string(requesterUsername)) : (out << "<null>"));
+  out << ")";
+}
+
+}}}} // namespace


[43/50] [abbrv] airavata git commit: Replicate gateway information if APPROVED in addGateway()

Posted by sm...@apache.org.
Replicate gateway information if APPROVED in addGateway()


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

Branch: refs/heads/registry-refactoring
Commit: 940e0baed816df7ede6f736915bf2937599d6534
Parents: e1a9ab4
Author: Gourav Shenoy <go...@apache.org>
Authored: Thu May 11 13:55:53 2017 -0400
Committer: Gourav Shenoy <go...@apache.org>
Committed: Thu May 11 13:55:53 2017 -0400

----------------------------------------------------------------------
 .../handlers/TenantProfileServiceHandler.java        | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/940e0bae/airavata-services/profile-service/profile-service-server/src/main/java/org/apache/airavata/service/profile/handlers/TenantProfileServiceHandler.java
----------------------------------------------------------------------
diff --git a/airavata-services/profile-service/profile-service-server/src/main/java/org/apache/airavata/service/profile/handlers/TenantProfileServiceHandler.java b/airavata-services/profile-service/profile-service-server/src/main/java/org/apache/airavata/service/profile/handlers/TenantProfileServiceHandler.java
index 1327ae1..04870d9 100644
--- a/airavata-services/profile-service/profile-service-server/src/main/java/org/apache/airavata/service/profile/handlers/TenantProfileServiceHandler.java
+++ b/airavata-services/profile-service/profile-service-server/src/main/java/org/apache/airavata/service/profile/handlers/TenantProfileServiceHandler.java
@@ -74,12 +74,15 @@ public class TenantProfileServiceHandler implements TenantProfileService.Iface {
         try {
             gateway = tenantProfileRepository.create(gateway);
             if (gateway != null) {
-                logger.debug("Added Airavata Gateway with Id: " + gateway.getGatewayId());
-                // replicate tenant at end-places
-                ProfileServiceUtils.getDbEventPublisher().publish(
-                        ProfileServiceUtils.getDBEventMessageContext(EntityType.TENANT, CrudType.CREATE, gateway),
-                        DBEventManagerConstants.getRoutingKey(DBEventService.DB_EVENT.toString())
-                );
+                logger.info("Added Airavata Gateway with Id: " + gateway.getGatewayId());
+                // replicate tenant at end-places only if status is APPROVED
+                if (gateway.getGatewayApprovalStatus().equals(GatewayApprovalStatus.APPROVED)) {
+                    logger.info("Gateway with ID: {}, is now APPROVED, replicating to subscribers.", gateway.getGatewayId());
+                    ProfileServiceUtils.getDbEventPublisher().publish(
+                            ProfileServiceUtils.getDBEventMessageContext(EntityType.TENANT, CrudType.CREATE, gateway),
+                            DBEventManagerConstants.getRoutingKey(DBEventService.DB_EVENT.toString())
+                    );
+                }
                 // return gatewayId
                 return gateway.getGatewayId();
             } else {


[06/50] [abbrv] airavata git commit: Add Tenant Profile Thrift Model

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthenticationException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthenticationException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthenticationException.java
index 0c98f5b..8d45a52 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthenticationException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthenticationException.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthorizationException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthorizationException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthorizationException.java
index b49f1d6..bc27ae6 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthorizationException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthorizationException.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ExperimentNotFoundException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ExperimentNotFoundException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ExperimentNotFoundException.java
index 873a336..517ee3b 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ExperimentNotFoundException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ExperimentNotFoundException.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/InvalidRequestException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/InvalidRequestException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/InvalidRequestException.java
index c6f14b3..f909497 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/InvalidRequestException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/InvalidRequestException.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/LaunchValidationException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/LaunchValidationException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/LaunchValidationException.java
index c9f7d6e..f6a7019 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/LaunchValidationException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/LaunchValidationException.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ProjectNotFoundException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ProjectNotFoundException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ProjectNotFoundException.java
index 87004f1..a81da69 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ProjectNotFoundException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ProjectNotFoundException.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/TimedOutException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/TimedOutException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/TimedOutException.java
index 7e00a8f..b192ab6 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/TimedOutException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/TimedOutException.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidationResults.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidationResults.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidationResults.java
index b4d51d3..9baedd4 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidationResults.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidationResults.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidatorResult.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidatorResult.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidatorResult.java
index 9b62458..e3de8dc 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidatorResult.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidatorResult.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentModel.java
index f7d2d14..7b01741 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentModel.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentSearchFields.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentSearchFields.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentSearchFields.java
index f782b29..84a0a6b 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentSearchFields.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentSearchFields.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentStatistics.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentStatistics.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentStatistics.java
index 6800779..03aa46a 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentStatistics.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentStatistics.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentSummaryModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentSummaryModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentSummaryModel.java
index 86f65b1..62a568b 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentSummaryModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentSummaryModel.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentType.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentType.java
index ed0fa73..3e0ae54 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentType.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentType.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ProjectSearchFields.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ProjectSearchFields.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ProjectSearchFields.java
index 73f3013..d805c78 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ProjectSearchFields.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ProjectSearchFields.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/UserConfigurationDataModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/UserConfigurationDataModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/UserConfigurationDataModel.java
index ccc2ec8..664c922 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/UserConfigurationDataModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/UserConfigurationDataModel.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/group/GroupModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/group/GroupModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/group/GroupModel.java
index 89507b9..4db9ae4 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/group/GroupModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/group/GroupModel.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/group/ResourcePermissionType.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/group/ResourcePermissionType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/group/ResourcePermissionType.java
index fb9db6d..558ed59 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/group/ResourcePermissionType.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/group/ResourcePermissionType.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/group/ResourceType.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/group/ResourceType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/group/ResourceType.java
index a9e4f9e..e9b034a 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/group/ResourceType.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/group/ResourceType.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/job/JobModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/job/JobModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/job/JobModel.java
index 206c90d..9553b0c 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/job/JobModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/job/JobModel.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ExperimentStatusChangeEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ExperimentStatusChangeEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ExperimentStatusChangeEvent.java
index 66ed96b..2223a90 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ExperimentStatusChangeEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ExperimentStatusChangeEvent.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ExperimentSubmitEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ExperimentSubmitEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ExperimentSubmitEvent.java
index c06d874..7ec7315 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ExperimentSubmitEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ExperimentSubmitEvent.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobIdentifier.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobIdentifier.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobIdentifier.java
index 091d1c8..b8e6d14 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobIdentifier.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobIdentifier.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeEvent.java
index e305ceb..046cb14 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeEvent.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeRequestEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeRequestEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeRequestEvent.java
index d3a80f1..5f8d700 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeRequestEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeRequestEvent.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/Message.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/Message.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/Message.java
index 85fa373..9a242fd 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/Message.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/Message.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/MessageLevel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/MessageLevel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/MessageLevel.java
index 7503e6d..3694d9e 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/MessageLevel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/MessageLevel.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/MessageType.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/MessageType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/MessageType.java
index 075b3e0..16bac7f 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/MessageType.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/MessageType.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessIdentifier.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessIdentifier.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessIdentifier.java
index 18181f2..f683aa6 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessIdentifier.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessIdentifier.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeEvent.java
index 16f025d..e584686 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeEvent.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeRequestEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeRequestEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeRequestEvent.java
index f81f89f..43409dc 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeRequestEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeRequestEvent.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessSubmitEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessSubmitEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessSubmitEvent.java
index 98f5e00..6b03647 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessSubmitEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessSubmitEvent.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessTerminateEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessTerminateEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessTerminateEvent.java
index a8a87e6..572d3c6 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessTerminateEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessTerminateEvent.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskIdentifier.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskIdentifier.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskIdentifier.java
index eaad2df..3b96d84 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskIdentifier.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskIdentifier.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskOutputChangeEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskOutputChangeEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskOutputChangeEvent.java
index 9c88ce3..c81656a 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskOutputChangeEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskOutputChangeEvent.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeEvent.java
index ec9410f..b471a4f 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeEvent.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *


[14/50] [abbrv] airavata git commit: Add Tenant Profile Thrift Model

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_data_models_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_data_models_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_data_models_types.h
index 12cfa2a..469b9b4 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_data_models_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_data_models_types.h
@@ -37,6 +37,7 @@
 #include "airavata_errors_types.h"
 #include "messaging_events_types.h"
 #include "security_model_types.h"
+#include "db_event_model_types.h"
 #include "experiment_model_types.h"
 #include "job_model_types.h"
 #include "task_model_types.h"
@@ -47,6 +48,7 @@
 #include "replica_catalog_models_types.h"
 #include "user_profile_model_types.h"
 #include "group_manager_model_types.h"
+#include "tenant_profile_model_types.h"
 #include "credential_store_data_models_types.h"
 
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_errors_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_errors_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_errors_types.cpp
index 08c02cf..589de8e 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_errors_types.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_errors_types.cpp
@@ -611,6 +611,103 @@ const char* AuthorizationException::what() const throw() {
 }
 
 
+DuplicateEntryException::~DuplicateEntryException() throw() {
+}
+
+
+void DuplicateEntryException::__set_message(const std::string& val) {
+  this->message = val;
+}
+
+uint32_t DuplicateEntryException::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_message = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->message);
+          isset_message = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_message)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t DuplicateEntryException::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
+  xfer += oprot->writeStructBegin("DuplicateEntryException");
+
+  xfer += oprot->writeFieldBegin("message", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->message);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+void swap(DuplicateEntryException &a, DuplicateEntryException &b) {
+  using ::std::swap;
+  swap(a.message, b.message);
+}
+
+DuplicateEntryException::DuplicateEntryException(const DuplicateEntryException& other12) : TException() {
+  message = other12.message;
+}
+DuplicateEntryException& DuplicateEntryException::operator=(const DuplicateEntryException& other13) {
+  message = other13.message;
+  return *this;
+}
+void DuplicateEntryException::printTo(std::ostream& out) const {
+  using ::apache::thrift::to_string;
+  out << "DuplicateEntryException(";
+  out << "message=" << to_string(message);
+  out << ")";
+}
+
+const char* DuplicateEntryException::what() const throw() {
+  try {
+    std::stringstream ss;
+    ss << "TException - service has thrown: " << *this;
+    this->thriftTExceptionMessageHolder_ = ss.str();
+    return this->thriftTExceptionMessageHolder_.c_str();
+  } catch (const std::exception&) {
+    return "TException - service has thrown: DuplicateEntryException";
+  }
+}
+
+
 AiravataClientException::~AiravataClientException() throw() {
 }
 
@@ -648,9 +745,9 @@ uint32_t AiravataClientException::read(::apache::thrift::protocol::TProtocol* ip
     {
       case 1:
         if (ftype == ::apache::thrift::protocol::T_I32) {
-          int32_t ecast12;
-          xfer += iprot->readI32(ecast12);
-          this->airavataErrorType = (AiravataErrorType::type)ecast12;
+          int32_t ecast14;
+          xfer += iprot->readI32(ecast14);
+          this->airavataErrorType = (AiravataErrorType::type)ecast14;
           isset_airavataErrorType = true;
         } else {
           xfer += iprot->skip(ftype);
@@ -704,15 +801,15 @@ void swap(AiravataClientException &a, AiravataClientException &b) {
   swap(a.__isset, b.__isset);
 }
 
-AiravataClientException::AiravataClientException(const AiravataClientException& other13) : TException() {
-  airavataErrorType = other13.airavataErrorType;
-  parameter = other13.parameter;
-  __isset = other13.__isset;
+AiravataClientException::AiravataClientException(const AiravataClientException& other15) : TException() {
+  airavataErrorType = other15.airavataErrorType;
+  parameter = other15.parameter;
+  __isset = other15.__isset;
 }
-AiravataClientException& AiravataClientException::operator=(const AiravataClientException& other14) {
-  airavataErrorType = other14.airavataErrorType;
-  parameter = other14.parameter;
-  __isset = other14.__isset;
+AiravataClientException& AiravataClientException::operator=(const AiravataClientException& other16) {
+  airavataErrorType = other16.airavataErrorType;
+  parameter = other16.parameter;
+  __isset = other16.__isset;
   return *this;
 }
 void AiravataClientException::printTo(std::ostream& out) const {
@@ -826,15 +923,15 @@ void swap(ValidatorResult &a, ValidatorResult &b) {
   swap(a.__isset, b.__isset);
 }
 
-ValidatorResult::ValidatorResult(const ValidatorResult& other15) {
-  result = other15.result;
-  errorDetails = other15.errorDetails;
-  __isset = other15.__isset;
+ValidatorResult::ValidatorResult(const ValidatorResult& other17) {
+  result = other17.result;
+  errorDetails = other17.errorDetails;
+  __isset = other17.__isset;
 }
-ValidatorResult& ValidatorResult::operator=(const ValidatorResult& other16) {
-  result = other16.result;
-  errorDetails = other16.errorDetails;
-  __isset = other16.__isset;
+ValidatorResult& ValidatorResult::operator=(const ValidatorResult& other18) {
+  result = other18.result;
+  errorDetails = other18.errorDetails;
+  __isset = other18.__isset;
   return *this;
 }
 void ValidatorResult::printTo(std::ostream& out) const {
@@ -893,14 +990,14 @@ uint32_t ValidationResults::read(::apache::thrift::protocol::TProtocol* iprot) {
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->validationResultList.clear();
-            uint32_t _size17;
-            ::apache::thrift::protocol::TType _etype20;
-            xfer += iprot->readListBegin(_etype20, _size17);
-            this->validationResultList.resize(_size17);
-            uint32_t _i21;
-            for (_i21 = 0; _i21 < _size17; ++_i21)
+            uint32_t _size19;
+            ::apache::thrift::protocol::TType _etype22;
+            xfer += iprot->readListBegin(_etype22, _size19);
+            this->validationResultList.resize(_size19);
+            uint32_t _i23;
+            for (_i23 = 0; _i23 < _size19; ++_i23)
             {
-              xfer += this->validationResultList[_i21].read(iprot);
+              xfer += this->validationResultList[_i23].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -937,10 +1034,10 @@ uint32_t ValidationResults::write(::apache::thrift::protocol::TProtocol* oprot)
   xfer += oprot->writeFieldBegin("validationResultList", ::apache::thrift::protocol::T_LIST, 2);
   {
     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->validationResultList.size()));
-    std::vector<ValidatorResult> ::const_iterator _iter22;
-    for (_iter22 = this->validationResultList.begin(); _iter22 != this->validationResultList.end(); ++_iter22)
+    std::vector<ValidatorResult> ::const_iterator _iter24;
+    for (_iter24 = this->validationResultList.begin(); _iter24 != this->validationResultList.end(); ++_iter24)
     {
-      xfer += (*_iter22).write(oprot);
+      xfer += (*_iter24).write(oprot);
     }
     xfer += oprot->writeListEnd();
   }
@@ -957,13 +1054,13 @@ void swap(ValidationResults &a, ValidationResults &b) {
   swap(a.validationResultList, b.validationResultList);
 }
 
-ValidationResults::ValidationResults(const ValidationResults& other23) {
-  validationState = other23.validationState;
-  validationResultList = other23.validationResultList;
+ValidationResults::ValidationResults(const ValidationResults& other25) {
+  validationState = other25.validationState;
+  validationResultList = other25.validationResultList;
 }
-ValidationResults& ValidationResults::operator=(const ValidationResults& other24) {
-  validationState = other24.validationState;
-  validationResultList = other24.validationResultList;
+ValidationResults& ValidationResults::operator=(const ValidationResults& other26) {
+  validationState = other26.validationState;
+  validationResultList = other26.validationResultList;
   return *this;
 }
 void ValidationResults::printTo(std::ostream& out) const {
@@ -1066,15 +1163,15 @@ void swap(LaunchValidationException &a, LaunchValidationException &b) {
   swap(a.__isset, b.__isset);
 }
 
-LaunchValidationException::LaunchValidationException(const LaunchValidationException& other25) : TException() {
-  validationResult = other25.validationResult;
-  errorMessage = other25.errorMessage;
-  __isset = other25.__isset;
+LaunchValidationException::LaunchValidationException(const LaunchValidationException& other27) : TException() {
+  validationResult = other27.validationResult;
+  errorMessage = other27.errorMessage;
+  __isset = other27.__isset;
 }
-LaunchValidationException& LaunchValidationException::operator=(const LaunchValidationException& other26) {
-  validationResult = other26.validationResult;
-  errorMessage = other26.errorMessage;
-  __isset = other26.__isset;
+LaunchValidationException& LaunchValidationException::operator=(const LaunchValidationException& other28) {
+  validationResult = other28.validationResult;
+  errorMessage = other28.errorMessage;
+  __isset = other28.__isset;
   return *this;
 }
 void LaunchValidationException::printTo(std::ostream& out) const {
@@ -1134,9 +1231,9 @@ uint32_t AiravataSystemException::read(::apache::thrift::protocol::TProtocol* ip
     {
       case 1:
         if (ftype == ::apache::thrift::protocol::T_I32) {
-          int32_t ecast27;
-          xfer += iprot->readI32(ecast27);
-          this->airavataErrorType = (AiravataErrorType::type)ecast27;
+          int32_t ecast29;
+          xfer += iprot->readI32(ecast29);
+          this->airavataErrorType = (AiravataErrorType::type)ecast29;
           isset_airavataErrorType = true;
         } else {
           xfer += iprot->skip(ftype);
@@ -1190,15 +1287,15 @@ void swap(AiravataSystemException &a, AiravataSystemException &b) {
   swap(a.__isset, b.__isset);
 }
 
-AiravataSystemException::AiravataSystemException(const AiravataSystemException& other28) : TException() {
-  airavataErrorType = other28.airavataErrorType;
-  message = other28.message;
-  __isset = other28.__isset;
+AiravataSystemException::AiravataSystemException(const AiravataSystemException& other30) : TException() {
+  airavataErrorType = other30.airavataErrorType;
+  message = other30.message;
+  __isset = other30.__isset;
 }
-AiravataSystemException& AiravataSystemException::operator=(const AiravataSystemException& other29) {
-  airavataErrorType = other29.airavataErrorType;
-  message = other29.message;
-  __isset = other29.__isset;
+AiravataSystemException& AiravataSystemException::operator=(const AiravataSystemException& other31) {
+  airavataErrorType = other31.airavataErrorType;
+  message = other31.message;
+  __isset = other31.__isset;
   return *this;
 }
 void AiravataSystemException::printTo(std::ostream& out) const {

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_errors_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_errors_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_errors_types.h
index e756d0a..daa533d 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_errors_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_errors_types.h
@@ -64,6 +64,8 @@ class AuthenticationException;
 
 class AuthorizationException;
 
+class DuplicateEntryException;
+
 class AiravataClientException;
 
 class ValidatorResult;
@@ -321,6 +323,48 @@ inline std::ostream& operator<<(std::ostream& out, const AuthorizationException&
   return out;
 }
 
+
+class DuplicateEntryException : public ::apache::thrift::TException {
+ public:
+
+  DuplicateEntryException(const DuplicateEntryException&);
+  DuplicateEntryException& operator=(const DuplicateEntryException&);
+  DuplicateEntryException() : message() {
+  }
+
+  virtual ~DuplicateEntryException() throw();
+  std::string message;
+
+  void __set_message(const std::string& val);
+
+  bool operator == (const DuplicateEntryException & rhs) const
+  {
+    if (!(message == rhs.message))
+      return false;
+    return true;
+  }
+  bool operator != (const DuplicateEntryException &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const DuplicateEntryException & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  virtual void printTo(std::ostream& out) const;
+  mutable std::string thriftTExceptionMessageHolder_;
+  const char* what() const throw();
+};
+
+void swap(DuplicateEntryException &a, DuplicateEntryException &b);
+
+inline std::ostream& operator<<(std::ostream& out, const DuplicateEntryException& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 typedef struct _AiravataClientException__isset {
   _AiravataClientException__isset() : parameter(false) {}
   bool parameter :1;

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/db_event_model_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/db_event_model_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/db_event_model_constants.cpp
new file mode 100644
index 0000000..f752436
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/db_event_model_constants.cpp
@@ -0,0 +1,34 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.3)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "db_event_model_constants.h"
+
+
+
+const db_event_modelConstants g_db_event_model_constants;
+
+db_event_modelConstants::db_event_modelConstants() {
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/db_event_model_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/db_event_model_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/db_event_model_constants.h
new file mode 100644
index 0000000..15a5a75
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/db_event_model_constants.h
@@ -0,0 +1,41 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.3)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef db_event_model_CONSTANTS_H
+#define db_event_model_CONSTANTS_H
+
+#include "db_event_model_types.h"
+
+
+
+class db_event_modelConstants {
+ public:
+  db_event_modelConstants();
+
+};
+
+extern const db_event_modelConstants g_db_event_model_constants;
+
+
+
+#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/db_event_model_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/db_event_model_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/db_event_model_types.cpp
new file mode 100644
index 0000000..fdac10d
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/db_event_model_types.cpp
@@ -0,0 +1,627 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.3)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "db_event_model_types.h"
+
+#include <algorithm>
+#include <ostream>
+
+#include <thrift/TToString.h>
+
+
+
+int _kCrudTypeValues[] = {
+  CrudType::CREATE,
+  CrudType::READ,
+  CrudType::UPDATE,
+  CrudType::DELETE
+};
+const char* _kCrudTypeNames[] = {
+  "CREATE",
+  "READ",
+  "UPDATE",
+  "DELETE"
+};
+const std::map<int, const char*> _CrudType_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(4, _kCrudTypeValues, _kCrudTypeNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+int _kEntityTypeValues[] = {
+  EntityType::USER_PROFILE,
+  EntityType::TENANT,
+  EntityType::GROUP,
+  EntityType::PROJECT,
+  EntityType::EXPERIMENT,
+  EntityType::APPLICATION,
+  EntityType::SHARING,
+  EntityType::REGISTRY
+};
+const char* _kEntityTypeNames[] = {
+  "USER_PROFILE",
+  "TENANT",
+  "GROUP",
+  "PROJECT",
+  "EXPERIMENT",
+  "APPLICATION",
+  "SHARING",
+  "REGISTRY"
+};
+const std::map<int, const char*> _EntityType_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(8, _kEntityTypeValues, _kEntityTypeNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+int _kDBEventTypeValues[] = {
+  DBEventType::PUBLISHER,
+  DBEventType::SUBSCRIBER
+};
+const char* _kDBEventTypeNames[] = {
+  "PUBLISHER",
+  "SUBSCRIBER"
+};
+const std::map<int, const char*> _DBEventType_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(2, _kDBEventTypeValues, _kDBEventTypeNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+
+DBEventPublisherContext::~DBEventPublisherContext() throw() {
+}
+
+
+void DBEventPublisherContext::__set_crudType(const CrudType::type val) {
+  this->crudType = val;
+}
+
+void DBEventPublisherContext::__set_entityType(const EntityType::type val) {
+  this->entityType = val;
+}
+
+void DBEventPublisherContext::__set_entityDataModel(const std::string& val) {
+  this->entityDataModel = val;
+}
+
+uint32_t DBEventPublisherContext::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_crudType = false;
+  bool isset_entityType = false;
+  bool isset_entityDataModel = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          int32_t ecast0;
+          xfer += iprot->readI32(ecast0);
+          this->crudType = (CrudType::type)ecast0;
+          isset_crudType = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          int32_t ecast1;
+          xfer += iprot->readI32(ecast1);
+          this->entityType = (EntityType::type)ecast1;
+          isset_entityType = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readBinary(this->entityDataModel);
+          isset_entityDataModel = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_crudType)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_entityType)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_entityDataModel)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t DBEventPublisherContext::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
+  xfer += oprot->writeStructBegin("DBEventPublisherContext");
+
+  xfer += oprot->writeFieldBegin("crudType", ::apache::thrift::protocol::T_I32, 1);
+  xfer += oprot->writeI32((int32_t)this->crudType);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("entityType", ::apache::thrift::protocol::T_I32, 2);
+  xfer += oprot->writeI32((int32_t)this->entityType);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("entityDataModel", ::apache::thrift::protocol::T_STRING, 3);
+  xfer += oprot->writeBinary(this->entityDataModel);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+void swap(DBEventPublisherContext &a, DBEventPublisherContext &b) {
+  using ::std::swap;
+  swap(a.crudType, b.crudType);
+  swap(a.entityType, b.entityType);
+  swap(a.entityDataModel, b.entityDataModel);
+}
+
+DBEventPublisherContext::DBEventPublisherContext(const DBEventPublisherContext& other2) {
+  crudType = other2.crudType;
+  entityType = other2.entityType;
+  entityDataModel = other2.entityDataModel;
+}
+DBEventPublisherContext& DBEventPublisherContext::operator=(const DBEventPublisherContext& other3) {
+  crudType = other3.crudType;
+  entityType = other3.entityType;
+  entityDataModel = other3.entityDataModel;
+  return *this;
+}
+void DBEventPublisherContext::printTo(std::ostream& out) const {
+  using ::apache::thrift::to_string;
+  out << "DBEventPublisherContext(";
+  out << "crudType=" << to_string(crudType);
+  out << ", " << "entityType=" << to_string(entityType);
+  out << ", " << "entityDataModel=" << to_string(entityDataModel);
+  out << ")";
+}
+
+
+DBEventPublisher::~DBEventPublisher() throw() {
+}
+
+
+void DBEventPublisher::__set_publisherContext(const DBEventPublisherContext& val) {
+  this->publisherContext = val;
+}
+
+uint32_t DBEventPublisher::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_publisherContext = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->publisherContext.read(iprot);
+          isset_publisherContext = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_publisherContext)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t DBEventPublisher::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
+  xfer += oprot->writeStructBegin("DBEventPublisher");
+
+  xfer += oprot->writeFieldBegin("publisherContext", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += this->publisherContext.write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+void swap(DBEventPublisher &a, DBEventPublisher &b) {
+  using ::std::swap;
+  swap(a.publisherContext, b.publisherContext);
+}
+
+DBEventPublisher::DBEventPublisher(const DBEventPublisher& other4) {
+  publisherContext = other4.publisherContext;
+}
+DBEventPublisher& DBEventPublisher::operator=(const DBEventPublisher& other5) {
+  publisherContext = other5.publisherContext;
+  return *this;
+}
+void DBEventPublisher::printTo(std::ostream& out) const {
+  using ::apache::thrift::to_string;
+  out << "DBEventPublisher(";
+  out << "publisherContext=" << to_string(publisherContext);
+  out << ")";
+}
+
+
+DBEventSubscriber::~DBEventSubscriber() throw() {
+}
+
+
+void DBEventSubscriber::__set_subscriberService(const std::string& val) {
+  this->subscriberService = val;
+}
+
+uint32_t DBEventSubscriber::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_subscriberService = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->subscriberService);
+          isset_subscriberService = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_subscriberService)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t DBEventSubscriber::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
+  xfer += oprot->writeStructBegin("DBEventSubscriber");
+
+  xfer += oprot->writeFieldBegin("subscriberService", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->subscriberService);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+void swap(DBEventSubscriber &a, DBEventSubscriber &b) {
+  using ::std::swap;
+  swap(a.subscriberService, b.subscriberService);
+}
+
+DBEventSubscriber::DBEventSubscriber(const DBEventSubscriber& other6) {
+  subscriberService = other6.subscriberService;
+}
+DBEventSubscriber& DBEventSubscriber::operator=(const DBEventSubscriber& other7) {
+  subscriberService = other7.subscriberService;
+  return *this;
+}
+void DBEventSubscriber::printTo(std::ostream& out) const {
+  using ::apache::thrift::to_string;
+  out << "DBEventSubscriber(";
+  out << "subscriberService=" << to_string(subscriberService);
+  out << ")";
+}
+
+
+DBEventMessageContext::~DBEventMessageContext() throw() {
+}
+
+
+void DBEventMessageContext::__set_publisher(const DBEventPublisher& val) {
+  this->publisher = val;
+}
+
+void DBEventMessageContext::__set_subscriber(const DBEventSubscriber& val) {
+  this->subscriber = val;
+}
+
+uint32_t DBEventMessageContext::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->publisher.read(iprot);
+          this->__isset.publisher = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->subscriber.read(iprot);
+          this->__isset.subscriber = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  return xfer;
+}
+
+uint32_t DBEventMessageContext::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
+  xfer += oprot->writeStructBegin("DBEventMessageContext");
+
+  xfer += oprot->writeFieldBegin("publisher", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += this->publisher.write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("subscriber", ::apache::thrift::protocol::T_STRUCT, 2);
+  xfer += this->subscriber.write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+void swap(DBEventMessageContext &a, DBEventMessageContext &b) {
+  using ::std::swap;
+  swap(a.publisher, b.publisher);
+  swap(a.subscriber, b.subscriber);
+  swap(a.__isset, b.__isset);
+}
+
+DBEventMessageContext::DBEventMessageContext(const DBEventMessageContext& other8) {
+  publisher = other8.publisher;
+  subscriber = other8.subscriber;
+  __isset = other8.__isset;
+}
+DBEventMessageContext& DBEventMessageContext::operator=(const DBEventMessageContext& other9) {
+  publisher = other9.publisher;
+  subscriber = other9.subscriber;
+  __isset = other9.__isset;
+  return *this;
+}
+void DBEventMessageContext::printTo(std::ostream& out) const {
+  using ::apache::thrift::to_string;
+  out << "DBEventMessageContext(";
+  out << "publisher=" << to_string(publisher);
+  out << ", " << "subscriber=" << to_string(subscriber);
+  out << ")";
+}
+
+
+DBEventMessage::~DBEventMessage() throw() {
+}
+
+
+void DBEventMessage::__set_dbEventType(const DBEventType::type val) {
+  this->dbEventType = val;
+}
+
+void DBEventMessage::__set_messageContext(const DBEventMessageContext& val) {
+  this->messageContext = val;
+}
+
+void DBEventMessage::__set_publisherService(const std::string& val) {
+  this->publisherService = val;
+}
+
+uint32_t DBEventMessage::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_dbEventType = false;
+  bool isset_messageContext = false;
+  bool isset_publisherService = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          int32_t ecast10;
+          xfer += iprot->readI32(ecast10);
+          this->dbEventType = (DBEventType::type)ecast10;
+          isset_dbEventType = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->messageContext.read(iprot);
+          isset_messageContext = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->publisherService);
+          isset_publisherService = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_dbEventType)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_messageContext)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_publisherService)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t DBEventMessage::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
+  xfer += oprot->writeStructBegin("DBEventMessage");
+
+  xfer += oprot->writeFieldBegin("dbEventType", ::apache::thrift::protocol::T_I32, 1);
+  xfer += oprot->writeI32((int32_t)this->dbEventType);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("messageContext", ::apache::thrift::protocol::T_STRUCT, 2);
+  xfer += this->messageContext.write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("publisherService", ::apache::thrift::protocol::T_STRING, 3);
+  xfer += oprot->writeString(this->publisherService);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+void swap(DBEventMessage &a, DBEventMessage &b) {
+  using ::std::swap;
+  swap(a.dbEventType, b.dbEventType);
+  swap(a.messageContext, b.messageContext);
+  swap(a.publisherService, b.publisherService);
+}
+
+DBEventMessage::DBEventMessage(const DBEventMessage& other11) {
+  dbEventType = other11.dbEventType;
+  messageContext = other11.messageContext;
+  publisherService = other11.publisherService;
+}
+DBEventMessage& DBEventMessage::operator=(const DBEventMessage& other12) {
+  dbEventType = other12.dbEventType;
+  messageContext = other12.messageContext;
+  publisherService = other12.publisherService;
+  return *this;
+}
+void DBEventMessage::printTo(std::ostream& out) const {
+  using ::apache::thrift::to_string;
+  out << "DBEventMessage(";
+  out << "dbEventType=" << to_string(dbEventType);
+  out << ", " << "messageContext=" << to_string(messageContext);
+  out << ", " << "publisherService=" << to_string(publisherService);
+  out << ")";
+}
+
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/db_event_model_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/db_event_model_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/db_event_model_types.h
new file mode 100644
index 0000000..43d9508
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/db_event_model_types.h
@@ -0,0 +1,318 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.3)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef db_event_model_TYPES_H
+#define db_event_model_TYPES_H
+
+#include <iosfwd>
+
+#include <thrift/Thrift.h>
+#include <thrift/TApplicationException.h>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/transport/TTransport.h>
+
+#include <thrift/cxxfunctional.h>
+
+
+
+
+struct CrudType {
+  enum type {
+    CREATE = 0,
+    READ = 1,
+    UPDATE = 2,
+    DELETE = 3
+  };
+};
+
+extern const std::map<int, const char*> _CrudType_VALUES_TO_NAMES;
+
+struct EntityType {
+  enum type {
+    USER_PROFILE = 0,
+    TENANT = 1,
+    GROUP = 2,
+    PROJECT = 3,
+    EXPERIMENT = 4,
+    APPLICATION = 5,
+    SHARING = 6,
+    REGISTRY = 7
+  };
+};
+
+extern const std::map<int, const char*> _EntityType_VALUES_TO_NAMES;
+
+struct DBEventType {
+  enum type {
+    PUBLISHER = 0,
+    SUBSCRIBER = 1
+  };
+};
+
+extern const std::map<int, const char*> _DBEventType_VALUES_TO_NAMES;
+
+class DBEventPublisherContext;
+
+class DBEventPublisher;
+
+class DBEventSubscriber;
+
+class DBEventMessageContext;
+
+class DBEventMessage;
+
+
+class DBEventPublisherContext {
+ public:
+
+  DBEventPublisherContext(const DBEventPublisherContext&);
+  DBEventPublisherContext& operator=(const DBEventPublisherContext&);
+  DBEventPublisherContext() : crudType((CrudType::type)0), entityType((EntityType::type)0), entityDataModel() {
+  }
+
+  virtual ~DBEventPublisherContext() throw();
+  CrudType::type crudType;
+  EntityType::type entityType;
+  std::string entityDataModel;
+
+  void __set_crudType(const CrudType::type val);
+
+  void __set_entityType(const EntityType::type val);
+
+  void __set_entityDataModel(const std::string& val);
+
+  bool operator == (const DBEventPublisherContext & rhs) const
+  {
+    if (!(crudType == rhs.crudType))
+      return false;
+    if (!(entityType == rhs.entityType))
+      return false;
+    if (!(entityDataModel == rhs.entityDataModel))
+      return false;
+    return true;
+  }
+  bool operator != (const DBEventPublisherContext &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const DBEventPublisherContext & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  virtual void printTo(std::ostream& out) const;
+};
+
+void swap(DBEventPublisherContext &a, DBEventPublisherContext &b);
+
+inline std::ostream& operator<<(std::ostream& out, const DBEventPublisherContext& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
+
+class DBEventPublisher {
+ public:
+
+  DBEventPublisher(const DBEventPublisher&);
+  DBEventPublisher& operator=(const DBEventPublisher&);
+  DBEventPublisher() {
+  }
+
+  virtual ~DBEventPublisher() throw();
+  DBEventPublisherContext publisherContext;
+
+  void __set_publisherContext(const DBEventPublisherContext& val);
+
+  bool operator == (const DBEventPublisher & rhs) const
+  {
+    if (!(publisherContext == rhs.publisherContext))
+      return false;
+    return true;
+  }
+  bool operator != (const DBEventPublisher &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const DBEventPublisher & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  virtual void printTo(std::ostream& out) const;
+};
+
+void swap(DBEventPublisher &a, DBEventPublisher &b);
+
+inline std::ostream& operator<<(std::ostream& out, const DBEventPublisher& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
+
+class DBEventSubscriber {
+ public:
+
+  DBEventSubscriber(const DBEventSubscriber&);
+  DBEventSubscriber& operator=(const DBEventSubscriber&);
+  DBEventSubscriber() : subscriberService() {
+  }
+
+  virtual ~DBEventSubscriber() throw();
+  std::string subscriberService;
+
+  void __set_subscriberService(const std::string& val);
+
+  bool operator == (const DBEventSubscriber & rhs) const
+  {
+    if (!(subscriberService == rhs.subscriberService))
+      return false;
+    return true;
+  }
+  bool operator != (const DBEventSubscriber &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const DBEventSubscriber & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  virtual void printTo(std::ostream& out) const;
+};
+
+void swap(DBEventSubscriber &a, DBEventSubscriber &b);
+
+inline std::ostream& operator<<(std::ostream& out, const DBEventSubscriber& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
+typedef struct _DBEventMessageContext__isset {
+  _DBEventMessageContext__isset() : publisher(false), subscriber(false) {}
+  bool publisher :1;
+  bool subscriber :1;
+} _DBEventMessageContext__isset;
+
+class DBEventMessageContext {
+ public:
+
+  DBEventMessageContext(const DBEventMessageContext&);
+  DBEventMessageContext& operator=(const DBEventMessageContext&);
+  DBEventMessageContext() {
+  }
+
+  virtual ~DBEventMessageContext() throw();
+  DBEventPublisher publisher;
+  DBEventSubscriber subscriber;
+
+  _DBEventMessageContext__isset __isset;
+
+  void __set_publisher(const DBEventPublisher& val);
+
+  void __set_subscriber(const DBEventSubscriber& val);
+
+  bool operator == (const DBEventMessageContext & rhs) const
+  {
+    if (!(publisher == rhs.publisher))
+      return false;
+    if (!(subscriber == rhs.subscriber))
+      return false;
+    return true;
+  }
+  bool operator != (const DBEventMessageContext &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const DBEventMessageContext & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  virtual void printTo(std::ostream& out) const;
+};
+
+void swap(DBEventMessageContext &a, DBEventMessageContext &b);
+
+inline std::ostream& operator<<(std::ostream& out, const DBEventMessageContext& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
+
+class DBEventMessage {
+ public:
+
+  DBEventMessage(const DBEventMessage&);
+  DBEventMessage& operator=(const DBEventMessage&);
+  DBEventMessage() : dbEventType((DBEventType::type)0), publisherService() {
+  }
+
+  virtual ~DBEventMessage() throw();
+  DBEventType::type dbEventType;
+  DBEventMessageContext messageContext;
+  std::string publisherService;
+
+  void __set_dbEventType(const DBEventType::type val);
+
+  void __set_messageContext(const DBEventMessageContext& val);
+
+  void __set_publisherService(const std::string& val);
+
+  bool operator == (const DBEventMessage & rhs) const
+  {
+    if (!(dbEventType == rhs.dbEventType))
+      return false;
+    if (!(messageContext == rhs.messageContext))
+      return false;
+    if (!(publisherService == rhs.publisherService))
+      return false;
+    return true;
+  }
+  bool operator != (const DBEventMessage &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const DBEventMessage & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  virtual void printTo(std::ostream& out) const;
+};
+
+void swap(DBEventMessage &a, DBEventMessage &b);
+
+inline std::ostream& operator<<(std::ostream& out, const DBEventMessage& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
+
+
+#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/messaging_events_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/messaging_events_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/messaging_events_types.cpp
index f7d5d87..9360c83 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/messaging_events_types.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/messaging_events_types.cpp
@@ -52,7 +52,8 @@ int _kMessageTypeValues[] = {
   MessageType::JOB,
   MessageType::LAUNCHPROCESS,
   MessageType::TERMINATEPROCESS,
-  MessageType::PROCESSOUTPUT
+  MessageType::PROCESSOUTPUT,
+  MessageType::DB_EVENT
 };
 const char* _kMessageTypeNames[] = {
   "EXPERIMENT",
@@ -62,9 +63,10 @@ const char* _kMessageTypeNames[] = {
   "JOB",
   "LAUNCHPROCESS",
   "TERMINATEPROCESS",
-  "PROCESSOUTPUT"
+  "PROCESSOUTPUT",
+  "DB_EVENT"
 };
-const std::map<int, const char*> _MessageType_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(8, _kMessageTypeValues, _kMessageTypeNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+const std::map<int, const char*> _MessageType_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(9, _kMessageTypeValues, _kMessageTypeNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
 
 
 ExperimentStatusChangeEvent::~ExperimentStatusChangeEvent() throw() {

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/messaging_events_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/messaging_events_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/messaging_events_types.h
index 15caed1..5b2b27f 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/messaging_events_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/messaging_events_types.h
@@ -59,7 +59,8 @@ struct MessageType {
     JOB = 4,
     LAUNCHPROCESS = 5,
     TERMINATEPROCESS = 6,
-    PROCESSOUTPUT = 7
+    PROCESSOUTPUT = 7,
+    DB_EVENT = 8
   };
 };
 


[36/50] [abbrv] airavata git commit: Fix walltime calculation for LSF

Posted by sm...@apache.org.
Fix walltime calculation for LSF


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

Branch: refs/heads/registry-refactoring
Commit: 31a67053d4f83fc9ff10e3d64c12f6da63ffd1aa
Parents: 45e8f65
Author: Marcus Christie <ma...@apache.org>
Authored: Tue May 9 12:29:28 2017 -0400
Committer: Marcus Christie <ma...@apache.org>
Committed: Tue May 9 12:29:28 2017 -0400

----------------------------------------------------------------------
 .../src/main/java/org/apache/airavata/gfac/core/GFacUtils.java     | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/31a67053/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/GFacUtils.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/GFacUtils.java b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/GFacUtils.java
index 22190c9..19a94d6 100644
--- a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/GFacUtils.java
+++ b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/GFacUtils.java
@@ -558,7 +558,7 @@ public class GFacUtils {
                 if (resourceJobManager != null) {
                     if (resourceJobManager.getResourceJobManagerType().equals(ResourceJobManagerType.LSF)) {
                         groovyMap.add(Script.MAX_WALL_TIME,
-                                GFacUtils.maxWallTimeCalculator(scheduling.getWallTimeLimit()));
+                                GFacUtils.maxWallTimeCalculatorForLSF(scheduling.getWallTimeLimit()));
                     }
                 }
             }


[10/50] [abbrv] airavata git commit: Add Tenant Profile Thrift Model

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py
index c083274..6712bf7 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py
@@ -3456,6 +3456,67 @@ class Iface:
     """
     pass
 
+  def addUserProfile(self, authzToken, userProfile):
+    """
+    Parameters:
+     - authzToken
+     - userProfile
+    """
+    pass
+
+  def updateUserProfile(self, authzToken, userProfile):
+    """
+    Parameters:
+     - authzToken
+     - userProfile
+    """
+    pass
+
+  def getUserProfileById(self, authzToken, userId, gatewayId):
+    """
+    Parameters:
+     - authzToken
+     - userId
+     - gatewayId
+    """
+    pass
+
+  def deleteUserProfile(self, authzToken, userId):
+    """
+    Parameters:
+     - authzToken
+     - userId
+    """
+    pass
+
+  def getAllUserProfilesInGateway(self, authzToken, gatewayId, offset, limit):
+    """
+    Parameters:
+     - authzToken
+     - gatewayId
+     - offset
+     - limit
+    """
+    pass
+
+  def getUserProfileByName(self, authzToken, userName, gatewayId):
+    """
+    Parameters:
+     - authzToken
+     - userName
+     - gatewayId
+    """
+    pass
+
+  def doesUserProfileExist(self, authzToken, userName, gatewayId):
+    """
+    Parameters:
+     - authzToken
+     - userName
+     - gatewayId
+    """
+    pass
+
 
 class Client(Iface):
   def __init__(self, iprot, oprot=None):
@@ -12612,6 +12673,303 @@ class Client(Iface):
       raise result.ae
     raise TApplicationException(TApplicationException.MISSING_RESULT, "getAllGroupsUserBelongs failed: unknown result")
 
+  def addUserProfile(self, authzToken, userProfile):
+    """
+    Parameters:
+     - authzToken
+     - userProfile
+    """
+    self.send_addUserProfile(authzToken, userProfile)
+    return self.recv_addUserProfile()
+
+  def send_addUserProfile(self, authzToken, userProfile):
+    self._oprot.writeMessageBegin('addUserProfile', TMessageType.CALL, self._seqid)
+    args = addUserProfile_args()
+    args.authzToken = authzToken
+    args.userProfile = userProfile
+    args.write(self._oprot)
+    self._oprot.writeMessageEnd()
+    self._oprot.trans.flush()
+
+  def recv_addUserProfile(self):
+    iprot = self._iprot
+    (fname, mtype, rseqid) = iprot.readMessageBegin()
+    if mtype == TMessageType.EXCEPTION:
+      x = TApplicationException()
+      x.read(iprot)
+      iprot.readMessageEnd()
+      raise x
+    result = addUserProfile_result()
+    result.read(iprot)
+    iprot.readMessageEnd()
+    if result.success is not None:
+      return result.success
+    if result.ire is not None:
+      raise result.ire
+    if result.ace is not None:
+      raise result.ace
+    if result.ase is not None:
+      raise result.ase
+    if result.ae is not None:
+      raise result.ae
+    raise TApplicationException(TApplicationException.MISSING_RESULT, "addUserProfile failed: unknown result")
+
+  def updateUserProfile(self, authzToken, userProfile):
+    """
+    Parameters:
+     - authzToken
+     - userProfile
+    """
+    self.send_updateUserProfile(authzToken, userProfile)
+    return self.recv_updateUserProfile()
+
+  def send_updateUserProfile(self, authzToken, userProfile):
+    self._oprot.writeMessageBegin('updateUserProfile', TMessageType.CALL, self._seqid)
+    args = updateUserProfile_args()
+    args.authzToken = authzToken
+    args.userProfile = userProfile
+    args.write(self._oprot)
+    self._oprot.writeMessageEnd()
+    self._oprot.trans.flush()
+
+  def recv_updateUserProfile(self):
+    iprot = self._iprot
+    (fname, mtype, rseqid) = iprot.readMessageBegin()
+    if mtype == TMessageType.EXCEPTION:
+      x = TApplicationException()
+      x.read(iprot)
+      iprot.readMessageEnd()
+      raise x
+    result = updateUserProfile_result()
+    result.read(iprot)
+    iprot.readMessageEnd()
+    if result.success is not None:
+      return result.success
+    if result.ire is not None:
+      raise result.ire
+    if result.ace is not None:
+      raise result.ace
+    if result.ase is not None:
+      raise result.ase
+    if result.ae is not None:
+      raise result.ae
+    raise TApplicationException(TApplicationException.MISSING_RESULT, "updateUserProfile failed: unknown result")
+
+  def getUserProfileById(self, authzToken, userId, gatewayId):
+    """
+    Parameters:
+     - authzToken
+     - userId
+     - gatewayId
+    """
+    self.send_getUserProfileById(authzToken, userId, gatewayId)
+    return self.recv_getUserProfileById()
+
+  def send_getUserProfileById(self, authzToken, userId, gatewayId):
+    self._oprot.writeMessageBegin('getUserProfileById', TMessageType.CALL, self._seqid)
+    args = getUserProfileById_args()
+    args.authzToken = authzToken
+    args.userId = userId
+    args.gatewayId = gatewayId
+    args.write(self._oprot)
+    self._oprot.writeMessageEnd()
+    self._oprot.trans.flush()
+
+  def recv_getUserProfileById(self):
+    iprot = self._iprot
+    (fname, mtype, rseqid) = iprot.readMessageBegin()
+    if mtype == TMessageType.EXCEPTION:
+      x = TApplicationException()
+      x.read(iprot)
+      iprot.readMessageEnd()
+      raise x
+    result = getUserProfileById_result()
+    result.read(iprot)
+    iprot.readMessageEnd()
+    if result.success is not None:
+      return result.success
+    if result.ire is not None:
+      raise result.ire
+    if result.ace is not None:
+      raise result.ace
+    if result.ase is not None:
+      raise result.ase
+    if result.ae is not None:
+      raise result.ae
+    raise TApplicationException(TApplicationException.MISSING_RESULT, "getUserProfileById failed: unknown result")
+
+  def deleteUserProfile(self, authzToken, userId):
+    """
+    Parameters:
+     - authzToken
+     - userId
+    """
+    self.send_deleteUserProfile(authzToken, userId)
+    return self.recv_deleteUserProfile()
+
+  def send_deleteUserProfile(self, authzToken, userId):
+    self._oprot.writeMessageBegin('deleteUserProfile', TMessageType.CALL, self._seqid)
+    args = deleteUserProfile_args()
+    args.authzToken = authzToken
+    args.userId = userId
+    args.write(self._oprot)
+    self._oprot.writeMessageEnd()
+    self._oprot.trans.flush()
+
+  def recv_deleteUserProfile(self):
+    iprot = self._iprot
+    (fname, mtype, rseqid) = iprot.readMessageBegin()
+    if mtype == TMessageType.EXCEPTION:
+      x = TApplicationException()
+      x.read(iprot)
+      iprot.readMessageEnd()
+      raise x
+    result = deleteUserProfile_result()
+    result.read(iprot)
+    iprot.readMessageEnd()
+    if result.success is not None:
+      return result.success
+    if result.ire is not None:
+      raise result.ire
+    if result.ace is not None:
+      raise result.ace
+    if result.ase is not None:
+      raise result.ase
+    if result.ae is not None:
+      raise result.ae
+    raise TApplicationException(TApplicationException.MISSING_RESULT, "deleteUserProfile failed: unknown result")
+
+  def getAllUserProfilesInGateway(self, authzToken, gatewayId, offset, limit):
+    """
+    Parameters:
+     - authzToken
+     - gatewayId
+     - offset
+     - limit
+    """
+    self.send_getAllUserProfilesInGateway(authzToken, gatewayId, offset, limit)
+    return self.recv_getAllUserProfilesInGateway()
+
+  def send_getAllUserProfilesInGateway(self, authzToken, gatewayId, offset, limit):
+    self._oprot.writeMessageBegin('getAllUserProfilesInGateway', TMessageType.CALL, self._seqid)
+    args = getAllUserProfilesInGateway_args()
+    args.authzToken = authzToken
+    args.gatewayId = gatewayId
+    args.offset = offset
+    args.limit = limit
+    args.write(self._oprot)
+    self._oprot.writeMessageEnd()
+    self._oprot.trans.flush()
+
+  def recv_getAllUserProfilesInGateway(self):
+    iprot = self._iprot
+    (fname, mtype, rseqid) = iprot.readMessageBegin()
+    if mtype == TMessageType.EXCEPTION:
+      x = TApplicationException()
+      x.read(iprot)
+      iprot.readMessageEnd()
+      raise x
+    result = getAllUserProfilesInGateway_result()
+    result.read(iprot)
+    iprot.readMessageEnd()
+    if result.success is not None:
+      return result.success
+    if result.ire is not None:
+      raise result.ire
+    if result.ace is not None:
+      raise result.ace
+    if result.ase is not None:
+      raise result.ase
+    if result.ae is not None:
+      raise result.ae
+    raise TApplicationException(TApplicationException.MISSING_RESULT, "getAllUserProfilesInGateway failed: unknown result")
+
+  def getUserProfileByName(self, authzToken, userName, gatewayId):
+    """
+    Parameters:
+     - authzToken
+     - userName
+     - gatewayId
+    """
+    self.send_getUserProfileByName(authzToken, userName, gatewayId)
+    return self.recv_getUserProfileByName()
+
+  def send_getUserProfileByName(self, authzToken, userName, gatewayId):
+    self._oprot.writeMessageBegin('getUserProfileByName', TMessageType.CALL, self._seqid)
+    args = getUserProfileByName_args()
+    args.authzToken = authzToken
+    args.userName = userName
+    args.gatewayId = gatewayId
+    args.write(self._oprot)
+    self._oprot.writeMessageEnd()
+    self._oprot.trans.flush()
+
+  def recv_getUserProfileByName(self):
+    iprot = self._iprot
+    (fname, mtype, rseqid) = iprot.readMessageBegin()
+    if mtype == TMessageType.EXCEPTION:
+      x = TApplicationException()
+      x.read(iprot)
+      iprot.readMessageEnd()
+      raise x
+    result = getUserProfileByName_result()
+    result.read(iprot)
+    iprot.readMessageEnd()
+    if result.success is not None:
+      return result.success
+    if result.ire is not None:
+      raise result.ire
+    if result.ace is not None:
+      raise result.ace
+    if result.ase is not None:
+      raise result.ase
+    if result.ae is not None:
+      raise result.ae
+    raise TApplicationException(TApplicationException.MISSING_RESULT, "getUserProfileByName failed: unknown result")
+
+  def doesUserProfileExist(self, authzToken, userName, gatewayId):
+    """
+    Parameters:
+     - authzToken
+     - userName
+     - gatewayId
+    """
+    self.send_doesUserProfileExist(authzToken, userName, gatewayId)
+    return self.recv_doesUserProfileExist()
+
+  def send_doesUserProfileExist(self, authzToken, userName, gatewayId):
+    self._oprot.writeMessageBegin('doesUserProfileExist', TMessageType.CALL, self._seqid)
+    args = doesUserProfileExist_args()
+    args.authzToken = authzToken
+    args.userName = userName
+    args.gatewayId = gatewayId
+    args.write(self._oprot)
+    self._oprot.writeMessageEnd()
+    self._oprot.trans.flush()
+
+  def recv_doesUserProfileExist(self):
+    iprot = self._iprot
+    (fname, mtype, rseqid) = iprot.readMessageBegin()
+    if mtype == TMessageType.EXCEPTION:
+      x = TApplicationException()
+      x.read(iprot)
+      iprot.readMessageEnd()
+      raise x
+    result = doesUserProfileExist_result()
+    result.read(iprot)
+    iprot.readMessageEnd()
+    if result.success is not None:
+      return result.success
+    if result.ire is not None:
+      raise result.ire
+    if result.ace is not None:
+      raise result.ace
+    if result.ase is not None:
+      raise result.ase
+    if result.ae is not None:
+      raise result.ae
+    raise TApplicationException(TApplicationException.MISSING_RESULT, "doesUserProfileExist failed: unknown result")
+
 
 class Processor(Iface, TProcessor):
   def __init__(self, handler):
@@ -12786,6 +13144,13 @@ class Processor(Iface, TProcessor):
     self._processMap["deleteGroup"] = Processor.process_deleteGroup
     self._processMap["getGroup"] = Processor.process_getGroup
     self._processMap["getAllGroupsUserBelongs"] = Processor.process_getAllGroupsUserBelongs
+    self._processMap["addUserProfile"] = Processor.process_addUserProfile
+    self._processMap["updateUserProfile"] = Processor.process_updateUserProfile
+    self._processMap["getUserProfileById"] = Processor.process_getUserProfileById
+    self._processMap["deleteUserProfile"] = Processor.process_deleteUserProfile
+    self._processMap["getAllUserProfilesInGateway"] = Processor.process_getAllUserProfilesInGateway
+    self._processMap["getUserProfileByName"] = Processor.process_getUserProfileByName
+    self._processMap["doesUserProfileExist"] = Processor.process_doesUserProfileExist
 
   def process(self, iprot, oprot):
     (name, type, seqid) = iprot.readMessageBegin()
@@ -18056,6 +18421,223 @@ class Processor(Iface, TProcessor):
     oprot.writeMessageEnd()
     oprot.trans.flush()
 
+  def process_addUserProfile(self, seqid, iprot, oprot):
+    args = addUserProfile_args()
+    args.read(iprot)
+    iprot.readMessageEnd()
+    result = addUserProfile_result()
+    try:
+      result.success = self._handler.addUserProfile(args.authzToken, args.userProfile)
+      msg_type = TMessageType.REPLY
+    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+      raise
+    except apache.airavata.api.error.ttypes.InvalidRequestException as ire:
+      msg_type = TMessageType.REPLY
+      result.ire = ire
+    except apache.airavata.api.error.ttypes.AiravataClientException as ace:
+      msg_type = TMessageType.REPLY
+      result.ace = ace
+    except apache.airavata.api.error.ttypes.AiravataSystemException as ase:
+      msg_type = TMessageType.REPLY
+      result.ase = ase
+    except apache.airavata.api.error.ttypes.AuthorizationException as ae:
+      msg_type = TMessageType.REPLY
+      result.ae = ae
+    except Exception as ex:
+      msg_type = TMessageType.EXCEPTION
+      logging.exception(ex)
+      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
+    oprot.writeMessageBegin("addUserProfile", msg_type, seqid)
+    result.write(oprot)
+    oprot.writeMessageEnd()
+    oprot.trans.flush()
+
+  def process_updateUserProfile(self, seqid, iprot, oprot):
+    args = updateUserProfile_args()
+    args.read(iprot)
+    iprot.readMessageEnd()
+    result = updateUserProfile_result()
+    try:
+      result.success = self._handler.updateUserProfile(args.authzToken, args.userProfile)
+      msg_type = TMessageType.REPLY
+    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+      raise
+    except apache.airavata.api.error.ttypes.InvalidRequestException as ire:
+      msg_type = TMessageType.REPLY
+      result.ire = ire
+    except apache.airavata.api.error.ttypes.AiravataClientException as ace:
+      msg_type = TMessageType.REPLY
+      result.ace = ace
+    except apache.airavata.api.error.ttypes.AiravataSystemException as ase:
+      msg_type = TMessageType.REPLY
+      result.ase = ase
+    except apache.airavata.api.error.ttypes.AuthorizationException as ae:
+      msg_type = TMessageType.REPLY
+      result.ae = ae
+    except Exception as ex:
+      msg_type = TMessageType.EXCEPTION
+      logging.exception(ex)
+      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
+    oprot.writeMessageBegin("updateUserProfile", msg_type, seqid)
+    result.write(oprot)
+    oprot.writeMessageEnd()
+    oprot.trans.flush()
+
+  def process_getUserProfileById(self, seqid, iprot, oprot):
+    args = getUserProfileById_args()
+    args.read(iprot)
+    iprot.readMessageEnd()
+    result = getUserProfileById_result()
+    try:
+      result.success = self._handler.getUserProfileById(args.authzToken, args.userId, args.gatewayId)
+      msg_type = TMessageType.REPLY
+    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+      raise
+    except apache.airavata.api.error.ttypes.InvalidRequestException as ire:
+      msg_type = TMessageType.REPLY
+      result.ire = ire
+    except apache.airavata.api.error.ttypes.AiravataClientException as ace:
+      msg_type = TMessageType.REPLY
+      result.ace = ace
+    except apache.airavata.api.error.ttypes.AiravataSystemException as ase:
+      msg_type = TMessageType.REPLY
+      result.ase = ase
+    except apache.airavata.api.error.ttypes.AuthorizationException as ae:
+      msg_type = TMessageType.REPLY
+      result.ae = ae
+    except Exception as ex:
+      msg_type = TMessageType.EXCEPTION
+      logging.exception(ex)
+      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
+    oprot.writeMessageBegin("getUserProfileById", msg_type, seqid)
+    result.write(oprot)
+    oprot.writeMessageEnd()
+    oprot.trans.flush()
+
+  def process_deleteUserProfile(self, seqid, iprot, oprot):
+    args = deleteUserProfile_args()
+    args.read(iprot)
+    iprot.readMessageEnd()
+    result = deleteUserProfile_result()
+    try:
+      result.success = self._handler.deleteUserProfile(args.authzToken, args.userId)
+      msg_type = TMessageType.REPLY
+    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+      raise
+    except apache.airavata.api.error.ttypes.InvalidRequestException as ire:
+      msg_type = TMessageType.REPLY
+      result.ire = ire
+    except apache.airavata.api.error.ttypes.AiravataClientException as ace:
+      msg_type = TMessageType.REPLY
+      result.ace = ace
+    except apache.airavata.api.error.ttypes.AiravataSystemException as ase:
+      msg_type = TMessageType.REPLY
+      result.ase = ase
+    except apache.airavata.api.error.ttypes.AuthorizationException as ae:
+      msg_type = TMessageType.REPLY
+      result.ae = ae
+    except Exception as ex:
+      msg_type = TMessageType.EXCEPTION
+      logging.exception(ex)
+      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
+    oprot.writeMessageBegin("deleteUserProfile", msg_type, seqid)
+    result.write(oprot)
+    oprot.writeMessageEnd()
+    oprot.trans.flush()
+
+  def process_getAllUserProfilesInGateway(self, seqid, iprot, oprot):
+    args = getAllUserProfilesInGateway_args()
+    args.read(iprot)
+    iprot.readMessageEnd()
+    result = getAllUserProfilesInGateway_result()
+    try:
+      result.success = self._handler.getAllUserProfilesInGateway(args.authzToken, args.gatewayId, args.offset, args.limit)
+      msg_type = TMessageType.REPLY
+    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+      raise
+    except apache.airavata.api.error.ttypes.InvalidRequestException as ire:
+      msg_type = TMessageType.REPLY
+      result.ire = ire
+    except apache.airavata.api.error.ttypes.AiravataClientException as ace:
+      msg_type = TMessageType.REPLY
+      result.ace = ace
+    except apache.airavata.api.error.ttypes.AiravataSystemException as ase:
+      msg_type = TMessageType.REPLY
+      result.ase = ase
+    except apache.airavata.api.error.ttypes.AuthorizationException as ae:
+      msg_type = TMessageType.REPLY
+      result.ae = ae
+    except Exception as ex:
+      msg_type = TMessageType.EXCEPTION
+      logging.exception(ex)
+      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
+    oprot.writeMessageBegin("getAllUserProfilesInGateway", msg_type, seqid)
+    result.write(oprot)
+    oprot.writeMessageEnd()
+    oprot.trans.flush()
+
+  def process_getUserProfileByName(self, seqid, iprot, oprot):
+    args = getUserProfileByName_args()
+    args.read(iprot)
+    iprot.readMessageEnd()
+    result = getUserProfileByName_result()
+    try:
+      result.success = self._handler.getUserProfileByName(args.authzToken, args.userName, args.gatewayId)
+      msg_type = TMessageType.REPLY
+    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+      raise
+    except apache.airavata.api.error.ttypes.InvalidRequestException as ire:
+      msg_type = TMessageType.REPLY
+      result.ire = ire
+    except apache.airavata.api.error.ttypes.AiravataClientException as ace:
+      msg_type = TMessageType.REPLY
+      result.ace = ace
+    except apache.airavata.api.error.ttypes.AiravataSystemException as ase:
+      msg_type = TMessageType.REPLY
+      result.ase = ase
+    except apache.airavata.api.error.ttypes.AuthorizationException as ae:
+      msg_type = TMessageType.REPLY
+      result.ae = ae
+    except Exception as ex:
+      msg_type = TMessageType.EXCEPTION
+      logging.exception(ex)
+      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
+    oprot.writeMessageBegin("getUserProfileByName", msg_type, seqid)
+    result.write(oprot)
+    oprot.writeMessageEnd()
+    oprot.trans.flush()
+
+  def process_doesUserProfileExist(self, seqid, iprot, oprot):
+    args = doesUserProfileExist_args()
+    args.read(iprot)
+    iprot.readMessageEnd()
+    result = doesUserProfileExist_result()
+    try:
+      result.success = self._handler.doesUserProfileExist(args.authzToken, args.userName, args.gatewayId)
+      msg_type = TMessageType.REPLY
+    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+      raise
+    except apache.airavata.api.error.ttypes.InvalidRequestException as ire:
+      msg_type = TMessageType.REPLY
+      result.ire = ire
+    except apache.airavata.api.error.ttypes.AiravataClientException as ace:
+      msg_type = TMessageType.REPLY
+      result.ace = ace
+    except apache.airavata.api.error.ttypes.AiravataSystemException as ase:
+      msg_type = TMessageType.REPLY
+      result.ase = ase
+    except apache.airavata.api.error.ttypes.AuthorizationException as ae:
+      msg_type = TMessageType.REPLY
+      result.ae = ae
+    except Exception as ex:
+      msg_type = TMessageType.EXCEPTION
+      logging.exception(ex)
+      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
+    oprot.writeMessageBegin("doesUserProfileExist", msg_type, seqid)
+    result.write(oprot)
+    oprot.writeMessageEnd()
+    oprot.trans.flush()
+
 
 # HELPER FUNCTIONS AND STRUCTURES
 
@@ -29708,25 +30290,1082 @@ class getApplicationModule_result:
   def __ne__(self, other):
     return not (self == other)
 
-class updateApplicationModule_args:
+class updateApplicationModule_args:
+  """
+  Attributes:
+   - authzToken
+   - appModuleId
+   - applicationModule
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.STRUCT, 'authzToken', (apache.airavata.model.security.ttypes.AuthzToken, apache.airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ), # 1
+    (2, TType.STRING, 'appModuleId', None, None, ), # 2
+    (3, TType.STRUCT, 'applicationModule', (apache.airavata.model.appcatalog.appdeployment.ttypes.ApplicationModule, apache.airavata.model.appcatalog.appdeployment.ttypes.ApplicationModule.thrift_spec), None, ), # 3
+  )
+
+  def __init__(self, authzToken=None, appModuleId=None, applicationModule=None,):
+    self.authzToken = authzToken
+    self.appModuleId = appModuleId
+    self.applicationModule = applicationModule
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 1:
+        if ftype == TType.STRUCT:
+          self.authzToken = apache.airavata.model.security.ttypes.AuthzToken()
+          self.authzToken.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.STRING:
+          self.appModuleId = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 3:
+        if ftype == TType.STRUCT:
+          self.applicationModule = apache.airavata.model.appcatalog.appdeployment.ttypes.ApplicationModule()
+          self.applicationModule.read(iprot)
+        else:
+          iprot.skip(ftype)
+      else:
+        iprot.skip(ftype)
+      iprot.readFieldEnd()
+    iprot.readStructEnd()
+
+  def write(self, oprot):
+    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+      return
+    oprot.writeStructBegin('updateApplicationModule_args')
+    if self.authzToken is not None:
+      oprot.writeFieldBegin('authzToken', TType.STRUCT, 1)
+      self.authzToken.write(oprot)
+      oprot.writeFieldEnd()
+    if self.appModuleId is not None:
+      oprot.writeFieldBegin('appModuleId', TType.STRING, 2)
+      oprot.writeString(self.appModuleId)
+      oprot.writeFieldEnd()
+    if self.applicationModule is not None:
+      oprot.writeFieldBegin('applicationModule', TType.STRUCT, 3)
+      self.applicationModule.write(oprot)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    if self.authzToken is None:
+      raise TProtocol.TProtocolException(message='Required field authzToken is unset!')
+    if self.appModuleId is None:
+      raise TProtocol.TProtocolException(message='Required field appModuleId is unset!')
+    if self.applicationModule is None:
+      raise TProtocol.TProtocolException(message='Required field applicationModule is unset!')
+    return
+
+
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.authzToken)
+    value = (value * 31) ^ hash(self.appModuleId)
+    value = (value * 31) ^ hash(self.applicationModule)
+    return value
+
+  def __repr__(self):
+    L = ['%s=%r' % (key, value)
+      for key, value in self.__dict__.iteritems()]
+    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
+class updateApplicationModule_result:
+  """
+  Attributes:
+   - success
+   - ire
+   - ace
+   - ase
+   - ae
+  """
+
+  thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ), # 0
+    (1, TType.STRUCT, 'ire', (apache.airavata.api.error.ttypes.InvalidRequestException, apache.airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ), # 1
+    (2, TType.STRUCT, 'ace', (apache.airavata.api.error.ttypes.AiravataClientException, apache.airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ), # 2
+    (3, TType.STRUCT, 'ase', (apache.airavata.api.error.ttypes.AiravataSystemException, apache.airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ), # 3
+    (4, TType.STRUCT, 'ae', (apache.airavata.api.error.ttypes.AuthorizationException, apache.airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ), # 4
+  )
+
+  def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
+    self.success = success
+    self.ire = ire
+    self.ace = ace
+    self.ase = ase
+    self.ae = ae
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 0:
+        if ftype == TType.BOOL:
+          self.success = iprot.readBool()
+        else:
+          iprot.skip(ftype)
+      elif fid == 1:
+        if ftype == TType.STRUCT:
+          self.ire = apache.airavata.api.error.ttypes.InvalidRequestException()
+          self.ire.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.STRUCT:
+          self.ace = apache.airavata.api.error.ttypes.AiravataClientException()
+          self.ace.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 3:
+        if ftype == TType.STRUCT:
+          self.ase = apache.airavata.api.error.ttypes.AiravataSystemException()
+          self.ase.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 4:
+        if ftype == TType.STRUCT:
+          self.ae = apache.airavata.api.error.ttypes.AuthorizationException()
+          self.ae.read(iprot)
+        else:
+          iprot.skip(ftype)
+      else:
+        iprot.skip(ftype)
+      iprot.readFieldEnd()
+    iprot.readStructEnd()
+
+  def write(self, oprot):
+    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+      return
+    oprot.writeStructBegin('updateApplicationModule_result')
+    if self.success is not None:
+      oprot.writeFieldBegin('success', TType.BOOL, 0)
+      oprot.writeBool(self.success)
+      oprot.writeFieldEnd()
+    if self.ire is not None:
+      oprot.writeFieldBegin('ire', TType.STRUCT, 1)
+      self.ire.write(oprot)
+      oprot.writeFieldEnd()
+    if self.ace is not None:
+      oprot.writeFieldBegin('ace', TType.STRUCT, 2)
+      self.ace.write(oprot)
+      oprot.writeFieldEnd()
+    if self.ase is not None:
+      oprot.writeFieldBegin('ase', TType.STRUCT, 3)
+      self.ase.write(oprot)
+      oprot.writeFieldEnd()
+    if self.ae is not None:
+      oprot.writeFieldBegin('ae', TType.STRUCT, 4)
+      self.ae.write(oprot)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    return
+
+
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.success)
+    value = (value * 31) ^ hash(self.ire)
+    value = (value * 31) ^ hash(self.ace)
+    value = (value * 31) ^ hash(self.ase)
+    value = (value * 31) ^ hash(self.ae)
+    return value
+
+  def __repr__(self):
+    L = ['%s=%r' % (key, value)
+      for key, value in self.__dict__.iteritems()]
+    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
+class getAllAppModules_args:
+  """
+  Attributes:
+   - authzToken
+   - gatewayId
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.STRUCT, 'authzToken', (apache.airavata.model.security.ttypes.AuthzToken, apache.airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ), # 1
+    (2, TType.STRING, 'gatewayId', None, None, ), # 2
+  )
+
+  def __init__(self, authzToken=None, gatewayId=None,):
+    self.authzToken = authzToken
+    self.gatewayId = gatewayId
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 1:
+        if ftype == TType.STRUCT:
+          self.authzToken = apache.airavata.model.security.ttypes.AuthzToken()
+          self.authzToken.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.STRING:
+          self.gatewayId = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      else:
+        iprot.skip(ftype)
+      iprot.readFieldEnd()
+    iprot.readStructEnd()
+
+  def write(self, oprot):
+    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+      return
+    oprot.writeStructBegin('getAllAppModules_args')
+    if self.authzToken is not None:
+      oprot.writeFieldBegin('authzToken', TType.STRUCT, 1)
+      self.authzToken.write(oprot)
+      oprot.writeFieldEnd()
+    if self.gatewayId is not None:
+      oprot.writeFieldBegin('gatewayId', TType.STRING, 2)
+      oprot.writeString(self.gatewayId)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    if self.authzToken is None:
+      raise TProtocol.TProtocolException(message='Required field authzToken is unset!')
+    if self.gatewayId is None:
+      raise TProtocol.TProtocolException(message='Required field gatewayId is unset!')
+    return
+
+
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.authzToken)
+    value = (value * 31) ^ hash(self.gatewayId)
+    return value
+
+  def __repr__(self):
+    L = ['%s=%r' % (key, value)
+      for key, value in self.__dict__.iteritems()]
+    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
+class getAllAppModules_result:
+  """
+  Attributes:
+   - success
+   - ire
+   - ace
+   - ase
+   - ae
+  """
+
+  thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRUCT,(apache.airavata.model.appcatalog.appdeployment.ttypes.ApplicationModule, apache.airavata.model.appcatalog.appdeployment.ttypes.ApplicationModule.thrift_spec)), None, ), # 0
+    (1, TType.STRUCT, 'ire', (apache.airavata.api.error.ttypes.InvalidRequestException, apache.airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ), # 1
+    (2, TType.STRUCT, 'ace', (apache.airavata.api.error.ttypes.AiravataClientException, apache.airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ), # 2
+    (3, TType.STRUCT, 'ase', (apache.airavata.api.error.ttypes.AiravataSystemException, apache.airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ), # 3
+    (4, TType.STRUCT, 'ae', (apache.airavata.api.error.ttypes.AuthorizationException, apache.airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ), # 4
+  )
+
+  def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
+    self.success = success
+    self.ire = ire
+    self.ace = ace
+    self.ase = ase
+    self.ae = ae
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 0:
+        if ftype == TType.LIST:
+          self.success = []
+          (_etype139, _size136) = iprot.readListBegin()
+          for _i140 in xrange(_size136):
+            _elem141 = apache.airavata.model.appcatalog.appdeployment.ttypes.ApplicationModule()
+            _elem141.read(iprot)
+            self.success.append(_elem141)
+          iprot.readListEnd()
+        else:
+          iprot.skip(ftype)
+      elif fid == 1:
+        if ftype == TType.STRUCT:
+          self.ire = apache.airavata.api.error.ttypes.InvalidRequestException()
+          self.ire.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.STRUCT:
+          self.ace = apache.airavata.api.error.ttypes.AiravataClientException()
+          self.ace.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 3:
+        if ftype == TType.STRUCT:
+          self.ase = apache.airavata.api.error.ttypes.AiravataSystemException()
+          self.ase.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 4:
+        if ftype == TType.STRUCT:
+          self.ae = apache.airavata.api.error.ttypes.AuthorizationException()
+          self.ae.read(iprot)
+        else:
+          iprot.skip(ftype)
+      else:
+        iprot.skip(ftype)
+      iprot.readFieldEnd()
+    iprot.readStructEnd()
+
+  def write(self, oprot):
+    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+      return
+    oprot.writeStructBegin('getAllAppModules_result')
+    if self.success is not None:
+      oprot.writeFieldBegin('success', TType.LIST, 0)
+      oprot.writeListBegin(TType.STRUCT, len(self.success))
+      for iter142 in self.success:
+        iter142.write(oprot)
+      oprot.writeListEnd()
+      oprot.writeFieldEnd()
+    if self.ire is not None:
+      oprot.writeFieldBegin('ire', TType.STRUCT, 1)
+      self.ire.write(oprot)
+      oprot.writeFieldEnd()
+    if self.ace is not None:
+      oprot.writeFieldBegin('ace', TType.STRUCT, 2)
+      self.ace.write(oprot)
+      oprot.writeFieldEnd()
+    if self.ase is not None:
+      oprot.writeFieldBegin('ase', TType.STRUCT, 3)
+      self.ase.write(oprot)
+      oprot.writeFieldEnd()
+    if self.ae is not None:
+      oprot.writeFieldBegin('ae', TType.STRUCT, 4)
+      self.ae.write(oprot)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    return
+
+
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.success)
+    value = (value * 31) ^ hash(self.ire)
+    value = (value * 31) ^ hash(self.ace)
+    value = (value * 31) ^ hash(self.ase)
+    value = (value * 31) ^ hash(self.ae)
+    return value
+
+  def __repr__(self):
+    L = ['%s=%r' % (key, value)
+      for key, value in self.__dict__.iteritems()]
+    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
+class deleteApplicationModule_args:
+  """
+  Attributes:
+   - authzToken
+   - appModuleId
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.STRUCT, 'authzToken', (apache.airavata.model.security.ttypes.AuthzToken, apache.airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ), # 1
+    (2, TType.STRING, 'appModuleId', None, None, ), # 2
+  )
+
+  def __init__(self, authzToken=None, appModuleId=None,):
+    self.authzToken = authzToken
+    self.appModuleId = appModuleId
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 1:
+        if ftype == TType.STRUCT:
+          self.authzToken = apache.airavata.model.security.ttypes.AuthzToken()
+          self.authzToken.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.STRING:
+          self.appModuleId = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      else:
+        iprot.skip(ftype)
+      iprot.readFieldEnd()
+    iprot.readStructEnd()
+
+  def write(self, oprot):
+    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+      return
+    oprot.writeStructBegin('deleteApplicationModule_args')
+    if self.authzToken is not None:
+      oprot.writeFieldBegin('authzToken', TType.STRUCT, 1)
+      self.authzToken.write(oprot)
+      oprot.writeFieldEnd()
+    if self.appModuleId is not None:
+      oprot.writeFieldBegin('appModuleId', TType.STRING, 2)
+      oprot.writeString(self.appModuleId)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    if self.authzToken is None:
+      raise TProtocol.TProtocolException(message='Required field authzToken is unset!')
+    if self.appModuleId is None:
+      raise TProtocol.TProtocolException(message='Required field appModuleId is unset!')
+    return
+
+
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.authzToken)
+    value = (value * 31) ^ hash(self.appModuleId)
+    return value
+
+  def __repr__(self):
+    L = ['%s=%r' % (key, value)
+      for key, value in self.__dict__.iteritems()]
+    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
+class deleteApplicationModule_result:
+  """
+  Attributes:
+   - success
+   - ire
+   - ace
+   - ase
+   - ae
+  """
+
+  thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ), # 0
+    (1, TType.STRUCT, 'ire', (apache.airavata.api.error.ttypes.InvalidRequestException, apache.airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ), # 1
+    (2, TType.STRUCT, 'ace', (apache.airavata.api.error.ttypes.AiravataClientException, apache.airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ), # 2
+    (3, TType.STRUCT, 'ase', (apache.airavata.api.error.ttypes.AiravataSystemException, apache.airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ), # 3
+    (4, TType.STRUCT, 'ae', (apache.airavata.api.error.ttypes.AuthorizationException, apache.airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ), # 4
+  )
+
+  def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
+    self.success = success
+    self.ire = ire
+    self.ace = ace
+    self.ase = ase
+    self.ae = ae
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 0:
+        if ftype == TType.BOOL:
+          self.success = iprot.readBool()
+        else:
+          iprot.skip(ftype)
+      elif fid == 1:
+        if ftype == TType.STRUCT:
+          self.ire = apache.airavata.api.error.ttypes.InvalidRequestException()
+          self.ire.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.STRUCT:
+          self.ace = apache.airavata.api.error.ttypes.AiravataClientException()
+          self.ace.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 3:
+        if ftype == TType.STRUCT:
+          self.ase = apache.airavata.api.error.ttypes.AiravataSystemException()
+          self.ase.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 4:
+        if ftype == TType.STRUCT:
+          self.ae = apache.airavata.api.error.ttypes.AuthorizationException()
+          self.ae.read(iprot)
+        else:
+          iprot.skip(ftype)
+      else:
+        iprot.skip(ftype)
+      iprot.readFieldEnd()
+    iprot.readStructEnd()
+
+  def write(self, oprot):
+    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+      return
+    oprot.writeStructBegin('deleteApplicationModule_result')
+    if self.success is not None:
+      oprot.writeFieldBegin('success', TType.BOOL, 0)
+      oprot.writeBool(self.success)
+      oprot.writeFieldEnd()
+    if self.ire is not None:
+      oprot.writeFieldBegin('ire', TType.STRUCT, 1)
+      self.ire.write(oprot)
+      oprot.writeFieldEnd()
+    if self.ace is not None:
+      oprot.writeFieldBegin('ace', TType.STRUCT, 2)
+      self.ace.write(oprot)
+      oprot.writeFieldEnd()
+    if self.ase is not None:
+      oprot.writeFieldBegin('ase', TType.STRUCT, 3)
+      self.ase.write(oprot)
+      oprot.writeFieldEnd()
+    if self.ae is not None:
+      oprot.writeFieldBegin('ae', TType.STRUCT, 4)
+      self.ae.write(oprot)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    return
+
+
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.success)
+    value = (value * 31) ^ hash(self.ire)
+    value = (value * 31) ^ hash(self.ace)
+    value = (value * 31) ^ hash(self.ase)
+    value = (value * 31) ^ hash(self.ae)
+    return value
+
+  def __repr__(self):
+    L = ['%s=%r' % (key, value)
+      for key, value in self.__dict__.iteritems()]
+    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
+class registerApplicationDeployment_args:
+  """
+  Attributes:
+   - authzToken
+   - gatewayId
+   - applicationDeployment
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.STRUCT, 'authzToken', (apache.airavata.model.security.ttypes.AuthzToken, apache.airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ), # 1
+    (2, TType.STRING, 'gatewayId', None, None, ), # 2
+    (3, TType.STRUCT, 'applicationDeployment', (apache.airavata.model.appcatalog.appdeployment.ttypes.ApplicationDeploymentDescription, apache.airavata.model.appcatalog.appdeployment.ttypes.ApplicationDeploymentDescription.thrift_spec), None, ), # 3
+  )
+
+  def __init__(self, authzToken=None, gatewayId=None, applicationDeployment=None,):
+    self.authzToken = authzToken
+    self.gatewayId = gatewayId
+    self.applicationDeployment = applicationDeployment
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 1:
+        if ftype == TType.STRUCT:
+          self.authzToken = apache.airavata.model.security.ttypes.AuthzToken()
+          self.authzToken.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.STRING:
+          self.gatewayId = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 3:
+        if ftype == TType.STRUCT:
+          self.applicationDeployment = apache.airavata.model.appcatalog.appdeployment.ttypes.ApplicationDeploymentDescription()
+          self.applicationDeployment.read(iprot)
+        else:
+          iprot.skip(ftype)
+      else:
+        iprot.skip(ftype)
+      iprot.readFieldEnd()
+    iprot.readStructEnd()
+
+  def write(self, oprot):
+    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+      return
+    oprot.writeStructBegin('registerApplicationDeployment_args')
+    if self.authzToken is not None:
+      oprot.writeFieldBegin('authzToken', TType.STRUCT, 1)
+      self.authzToken.write(oprot)
+      oprot.writeFieldEnd()
+    if self.gatewayId is not None:
+      oprot.writeFieldBegin('gatewayId', TType.STRING, 2)
+      oprot.writeString(self.gatewayId)
+      oprot.writeFieldEnd()
+    if self.applicationDeployment is not None:
+      oprot.writeFieldBegin('applicationDeployment', TType.STRUCT, 3)
+      self.applicationDeployment.write(oprot)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    if self.authzToken is None:
+      raise TProtocol.TProtocolException(message='Required field authzToken is unset!')
+    if self.gatewayId is None:
+      raise TProtocol.TProtocolException(message='Required field gatewayId is unset!')
+    if self.applicationDeployment is None:
+      raise TProtocol.TProtocolException(message='Required field applicationDeployment is unset!')
+    return
+
+
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.authzToken)
+    value = (value * 31) ^ hash(self.gatewayId)
+    value = (value * 31) ^ hash(self.applicationDeployment)
+    return value
+
+  def __repr__(self):
+    L = ['%s=%r' % (key, value)
+      for key, value in self.__dict__.iteritems()]
+    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
+class registerApplicationDeployment_result:
+  """
+  Attributes:
+   - success
+   - ire
+   - ace
+   - ase
+   - ae
+  """
+
+  thrift_spec = (
+    (0, TType.STRING, 'success', None, None, ), # 0
+    (1, TType.STRUCT, 'ire', (apache.airavata.api.error.ttypes.InvalidRequestException, apache.airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ), # 1
+    (2, TType.STRUCT, 'ace', (apache.airavata.api.error.ttypes.AiravataClientException, apache.airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ), # 2
+    (3, TType.STRUCT, 'ase', (apache.airavata.api.error.ttypes.AiravataSystemException, apache.airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ), # 3
+    (4, TType.STRUCT, 'ae', (apache.airavata.api.error.ttypes.AuthorizationException, apache.airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ), # 4
+  )
+
+  def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
+    self.success = success
+    self.ire = ire
+    self.ace = ace
+    self.ase = ase
+    self.ae = ae
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 0:
+        if ftype == TType.STRING:
+          self.success = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 1:
+        if ftype == TType.STRUCT:
+          self.ire = apache.airavata.api.error.ttypes.InvalidRequestException()
+          self.ire.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.STRUCT:
+          self.ace = apache.airavata.api.error.ttypes.AiravataClientException()
+          self.ace.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 3:
+        if ftype == TType.STRUCT:
+          self.ase = apache.airavata.api.error.ttypes.AiravataSystemException()
+          self.ase.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 4:
+        if ftype == TType.STRUCT:
+          self.ae = apache.airavata.api.error.ttypes.AuthorizationException()
+          self.ae.read(iprot)
+        else:
+          iprot.skip(ftype)
+      else:
+        iprot.skip(ftype)
+      iprot.readFieldEnd()
+    iprot.readStructEnd()
+
+  def write(self, oprot):
+    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+      return
+    oprot.writeStructBegin('registerApplicationDeployment_result')
+    if self.success is not None:
+      oprot.writeFieldBegin('success', TType.STRING, 0)
+      oprot.writeString(self.success)
+      oprot.writeFieldEnd()
+    if self.ire is not None:
+      oprot.writeFieldBegin('ire', TType.STRUCT, 1)
+      self.ire.write(oprot)
+      oprot.writeFieldEnd()
+    if self.ace is not None:
+      oprot.writeFieldBegin('ace', TType.STRUCT, 2)
+      self.ace.write(oprot)
+      oprot.writeFieldEnd()
+    if self.ase is not None:
+      oprot.writeFieldBegin('ase', TType.STRUCT, 3)
+      self.ase.write(oprot)
+      oprot.writeFieldEnd()
+    if self.ae is not None:
+      oprot.writeFieldBegin('ae', TType.STRUCT, 4)
+      self.ae.write(oprot)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    return
+
+
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.success)
+    value = (value * 31) ^ hash(self.ire)
+    value = (value * 31) ^ hash(self.ace)
+    value = (value * 31) ^ hash(self.ase)
+    value = (value * 31) ^ hash(self.ae)
+    return value
+
+  def __repr__(self):
+    L = ['%s=%r' % (key, value)
+      for key, value in self.__dict__.iteritems()]
+    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
+class getApplicationDeployment_args:
+  """
+  Attributes:
+   - authzToken
+   - appDeploymentId
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.STRUCT, 'authzToken', (apache.airavata.model.security.ttypes.AuthzToken, apache.airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ), # 1
+    (2, TType.STRING, 'appDeploymentId', None, None, ), # 2
+  )
+
+  def __init__(self, authzToken=None, appDeploymentId=None,):
+    self.authzToken = authzToken
+    self.appDeploymentId = appDeploymentId
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 1:
+        if ftype == TType.STRUCT:
+          self.authzToken = apache.airavata.model.security.ttypes.AuthzToken()
+          self.authzToken.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.STRING:
+          self.appDeploymentId = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      else:
+        iprot.skip(ftype)
+      iprot.readFieldEnd()
+    iprot.readStructEnd()
+
+  def write(self, oprot):
+    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+      return
+    oprot.writeStructBegin('getApplicationDeployment_args')
+    if self.authzToken is not None:
+      oprot.writeFieldBegin('authzToken', TType.STRUCT, 1)
+      self.authzToken.write(oprot)
+      oprot.writeFieldEnd()
+    if self.appDeploymentId is not None:
+      oprot.writeFieldBegin('appDeploymentId', TType.STRING, 2)
+      oprot.writeString(self.appDeploymentId)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    if self.authzToken is None:
+      raise TProtocol.TProtocolException(message='Required field authzToken is unset!')
+    if self.appDeploymentId is None:
+      raise TProtocol.TProtocolException(message='Required field appDeploymentId is unset!')
+    return
+
+
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.authzToken)
+    value = (value * 31) ^ hash(self.appDeploymentId)
+    return value
+
+  def __repr__(self):
+    L = ['%s=%r' % (key, value)
+      for key, value in self.__dict__.iteritems()]
+    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
+class getApplicationDeployment_result:
+  """
+  Attributes:
+   - success
+   - ire
+   - ace
+   - ase
+   - ae
+  """
+
+  thrift_spec = (
+    (0, TType.STRUCT, 'success', (apache.airavata.model.appcatalog.appdeployment.ttypes.ApplicationDeploymentDescription, apache.airavata.model.appcatalog.appdeployment.ttypes.ApplicationDeploymentDescription.thrift_spec), None, ), # 0
+    (1, TType.STRUCT, 'ire', (apache.airavata.api.error.ttypes.InvalidRequestException, apache.airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ), # 1
+    (2, TType.STRUCT, 'ace', (apache.airavata.api.error.ttypes.AiravataClientException, apache.airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ), # 2
+    (3, TType.STRUCT, 'ase', (apache.airavata.api.error.ttypes.AiravataSystemException, apache.airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ), # 3
+    (4, TType.STRUCT, 'ae', (apache.airavata.api.error.ttypes.AuthorizationException, apache.airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ), # 4
+  )
+
+  def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
+    self.success = success
+    self.ire = ire
+    self.ace = ace
+    self.ase = ase
+    self.ae = ae
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 0:
+        if ftype == TType.STRUCT:
+          self.success = apache.airavata.model.appcatalog.appdeployment.ttypes.ApplicationDeploymentDescription()
+          self.success.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 1:
+        if ftype == TType.STRUCT:
+          self.ire = apache.airavata.api.error.ttypes.InvalidRequestException()
+          self.ire.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.STRUCT:
+          self.ace = apache.airavata.api.error.ttypes.AiravataClientException()
+          self.ace.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 3:
+        if ftype == TType.STRUCT:
+          self.ase = apache.airavata.api.error.ttypes.AiravataSystemException()
+          self.ase.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 4:
+        if ftype == TType.STRUCT:
+          self.ae = apache.airavata.api.error.ttypes.AuthorizationException()
+          self.ae.read(iprot)
+        else:
+          iprot.skip(ftype)
+      else:
+        iprot.skip(ftype)
+      iprot.readFieldEnd()
+    iprot.readStructEnd()
+
+  def write(self, oprot):
+    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+      return
+    oprot.writeStructBegin('getApplicationDeployment_result')
+    if self.success is not None:
+      oprot.writeFieldBegin('success', TType.STRUCT, 0)
+      self.success.write(oprot)
+      oprot.writeFieldEnd()
+    if self.ire is not None:
+      oprot.writeFieldBegin('ire', TType.STRUCT, 1)
+      self.ire.write(oprot)
+      oprot.writeFieldEnd()
+    if self.ace is not None:
+      oprot.writeFieldBegin('ace', TType.STRUCT, 2)
+      self.ace.write(oprot)
+      oprot.writeFieldEnd()
+    if self.ase is not None:
+      oprot.writeFieldBegin('ase', TType.STRUCT, 3)
+      self.ase.write(oprot)
+      oprot.writeFieldEnd()
+    if self.ae is not None:
+      oprot.writeFieldBegin('ae', TType.STRUCT, 4)
+      self.ae.write(oprot)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    return
+
+
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.success)
+    value = (value * 31) ^ hash(self.ire)
+    value = (value * 31) ^ hash(self.ace)
+    value = (value * 31) ^ hash(self.ase)
+    value = (value * 31) ^ hash(self.ae)
+    return value
+
+  def __repr__(self):
+    L = ['%s=%r' % (key, value)
+      for key, value in self.__dict__.iteritems()]
+    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
+class updateApplicationDeployment_args:
   """
   Attributes:
    - authzToken
-   - appModuleId
-   - applicationModule
+   - appDeploymentId
+   - applicationDeployment
   """
 
   thrift_spec = (
     None, # 0
     (1, TType.STRUCT, 'authzToken', (apache.airavata.model.security.ttypes.AuthzToken, apache.airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ), # 1
-    (2, TType.STRING, 'appModuleId', None, None, ), # 2
-    (3, TType.STRUCT, 'applicationModule', (apache.airavata.model.appcatalog.appdeployment.ttypes.ApplicationModule, apache.airavata.model.appcatalog.appdeployment.ttypes.ApplicationModule.thrift_spec), None, ), # 3
+    (2, TType.STRING, 'appDeploymentId', None, None, ), # 2
+    (3, TType.STRUCT, 'applicationDeployment', (apache.airavata.model.appcatalog.appdeployment.ttypes.ApplicationDeploymentDescription, apache.airavata.model.appcatalog.appdeployment.ttypes.ApplicationDeploymentDescription.thrift_spec), None, ), # 3
   )
 
-  def __init__(self, authzToken=None, appModuleId=None, applicationModule=None,):
+  def __init__(self, authzToken=None, appDeploymentId=None, applicationDeployment=None,):
     self.authzToken = authzToken
-    self.appModuleId = appModuleId
-    self.applicationModule = applicationModule
+    self.appDeploymentId = appDeploymentId
+    self.applicationDeployment = applicationDeployment
 
   def read(self, iprot):
     if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
@@ -29745,13 +31384,13 @@ class updateApplicationModule_args:
           iprot.skip(ftype)
       elif fid == 2:
         if ftype == TType.STRING:
-          self.appModuleId = iprot.readString()
+          self.appDeploymentId = iprot.readString()
         else:
           iprot.skip(ftype)
       elif fid == 3:
         if ftype == TType.STRUCT:
-          self.applicationModule = apache.airavata.model.appcatalog.appdeployment.ttypes.ApplicationModule()
-          self.applicationModule.read(iprot)
+          self.applicationDeployment = apache.airavata.model.appcatalog.appdeployment.ttypes.ApplicationDeploymentDescription()
+          self.applicationDeployment.read(iprot)
         else:
           iprot.skip(ftype)
       else:
@@ -29763,18 +31402,18 @@ class updateApplicationModule_args:
     if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
       oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
       return
-    oprot.writeStructBegin('updateApplicationModule_args')
+    oprot.writeStructBegin('updateApplicationDeployment_args')
     if self.authzToken is not None:
       oprot.writeFieldBegin('authzToken', TType.STRUCT, 1)
       self.authzToken.write(oprot)
       oprot.writeFieldEnd()
-    if self.appModuleId is not None:
-      oprot.writeFieldBegin('appModuleId', TType.STRING, 2)
-      oprot.writeString(self.appModuleId)
+    if self.appDeploymentId is not None:
+      oprot.writeFieldBegin('appDeploymentId', TType.STRING, 2)
+      oprot.writeString(self.appDeploymentId)
       oprot.writeFieldEnd()
-    if self.applicationModule is not None:
-      oprot.writeFieldBegin('applicationModule', TType.STRUCT, 3)
-      self.applicationModule.write(oprot)
+    if self.applicationDeployment is not None:
+      oprot.writeFieldBegin('applicationDeployment', TType.STRUCT, 3)
+      self.applicationDeployment.write(oprot)
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
     oprot.writeStructEnd()
@@ -29782,18 +31421,18 @@ class updateApplicationModule_args:
   def validate(self):
     if self.authzToken is None:
       raise TProtocol.TProtocolException(message='Required field authzToken is unset!')
-    if self.appModuleId is None:
-      raise TProtocol.TProtocolException(message='Required field appModuleId is unset!')
-    if self.applicationModule is None:
-      raise TProtocol.TProtocolException(message='Required field applicationModule is unset!')
+    if self.appDeploymentId is None:
+      raise TProtocol.TProtocolException(message='Required field appDeploymentId is unset!')
+    if self.applicationDeployment is None:
+      raise TProtocol.TProtocolException(message='Required field applicationDeployment is unset!')
     return
 
 
   def __hash__(self):
     value = 17
     value = (value * 31) ^ hash(self.authzToken)
-    value = (value * 31) ^ hash(self.appModuleId)
-    value = (value * 31) ^ hash(self.applicationModule)
+    value = (value * 31) ^ hash(self.appDeploymentId)
+    value = (value * 31) ^ hash(self.applicationDeployment)
     return value
 
   def __repr__(self):
@@ -29807,7 +31446,7 @@ class updateApplicationModule_args:
   def __ne__(self, other):
     return not (self == other)
 
-class updateApplicationModule_result:
+class updateApplicationDeployment_result:
   """
   Attributes:
    - success
@@ -29879,7 +31518,7 @@ class updateApplicationModule_result:
     if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
       oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
       return
-    oprot.writeStructBegin('updateApplicationModule_result')
+    oprot.writeStructBegin('updateApplicationDeployment_result')
     if self.success is not None:
       oprot.writeFieldBegin('success', TType.BOOL, 0)
       oprot.writeBool(self.success)
@@ -29927,7 +31566,210 @@ class updateApplicationModule_result:
   def __ne__(self, other):
     return not (self == other)
 
-class getAllAppModules_args:
+class deleteApplicationDeployment_args:
+  """
+  Attributes:
+   - authzToken
+   - appDeploymentId
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.STRUCT, 'authzToken', (apache.airavata.model.security.ttypes.AuthzToken, apache.airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ), # 1
+    (2, TType.STRING, 'appDeploymentId', None, None, ), # 2
+  )
+
+  def __init__(self, authzToken=None, appDeploymentId=None,):
+    self.authzToken = authzToken
+    self.appDeploymentId = appDeploymentId
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 1:
+        if ftype == TType.STRUCT:
+          self.authzToken = apache.airavata.model.security.ttypes.AuthzToken()
+          self.authzToken.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.STRING:
+          self.appDeploymentId = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      else:
+        iprot.skip(ftype)
+      iprot.readFieldEnd()
+    iprot.readStructEnd()
+
+  def write(self, oprot):
+    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+      return
+    oprot.writeStructBegin('deleteApplicationDeployment_args')
+    if self.authzToken is not None:
+      oprot.writeFieldBegin('authzToken', TType.STRUCT, 1)
+      self.authzToken.write(oprot)
+      oprot.writeFieldEnd()
+    if self.appDeploymentId is not None:
+      oprot.writeFieldBegin('appDeploymentId', TType.STRING, 2)
+      oprot.writeString(self.appDeploymentId)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    if self.authzToken is None:
+      raise TProtocol.TProtocolException(message='Required field authzToken is unset!')
+    if self.appDeploymentId is None:
+      raise TProtocol.TProtocolException(message='Required field appDeploymentId is unset!')
+    return
+
+
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.authzToken)
+    value = (value * 31) ^ hash(self.appDeploymentId)
+    return value
+
+  def __repr__(self):
+    L = ['%s=%r' % (key, value)
+      for key, value in self.__dict__.iteritems()]
+    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
+class deleteApplicationDeployment_result:
+  """
+  Attributes:
+   - success
+   - ire
+   - ace
+   - ase
+   - ae
+  """
+
+  thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ), # 0
+    (1, TType.STRUCT, 'ire', (apache.airavata.api.error.ttypes.InvalidRequestException, apache.airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ), # 1
+    (2, TType.STRUCT, 'ace', (apache.airavata.api.error.ttypes.AiravataClientException, apache.airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ), # 2
+    (3, TType.STRUCT, 'ase', (apache.airavata.api.error.ttypes.AiravataSystemException, apache.airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ), # 3
+    (4, TType.STRUCT, 'ae', (apache.airavata.api.error.ttypes.AuthorizationException, apache.airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ), # 4
+  )
+
+  def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
+    self.success = success
+    self.ire = ire
+    self.ace = ace
+    self.ase = ase
+    self.ae = ae
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 0:
+        if ftype == TType.BOOL:
+          self.success = iprot.readBool()
+        else:
+          iprot.skip(ftype)
+      elif fid == 1:
+        if ftype == TType.STRUCT:
+          self.ire = apache.airavata.api.error.ttypes.InvalidRequestException()
+          self.ire.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.STRUCT:
+          self.ace = apache.airavata.api.error.ttypes.AiravataClientException()
+          self.ace.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 3:
+        if ftype == TType.STRUCT:
+          self.ase = apache.airavata.api.error.ttypes.AiravataSystemException()
+          self.ase.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 4:
+        if ftype == TType.STRUCT:
+          self.ae = apache.airavata.api.error.ttypes.AuthorizationException()
+          self.ae.read(iprot)
+        else:
+          iprot.skip(ftype)
+      else:
+        iprot.skip(ftype)
+      iprot.readFieldEnd()
+    iprot.readStructEnd()
+
+  def write(self, oprot):
+    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+      return
+    oprot.writeStructBegin('deleteApplicationDeployment_result')
+    if self.success is not None:
+      oprot.writeFieldBegin('success', TType.BOOL, 0)
+      oprot.writeBool(self.success)
+      oprot.writeFieldEnd()
+    if self.ire is not None:
+      oprot.writeFieldBegin('ire', TType.STRUCT, 1)
+      self.ire.write(oprot)
+      oprot.writeFieldEnd()
+    if self.ace is not None:
+      oprot.writeFieldBegin('ace', TType.STRUCT, 2)
+      self.ace.write(oprot)
+      oprot.writeFieldEnd()
+    if self.ase is not None:
+      oprot.writeFieldBegin('ase', TType.STRUCT, 3)
+      self.ase.write(oprot)
+      oprot.writeFieldEnd()
+    if self.ae is not None:
+      oprot.writeFieldBegin('ae', TType.STRUCT, 4)
+      self.ae.write(oprot)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    return
+
+
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.success)
+    value = (value * 31) ^ hash(self.ire)
+    value = (value * 31) ^ hash(self.ace)
+    value = (value * 31) ^ hash(self.ase)
+    value = (value * 31) ^ hash(self.ae)
+    return value
+
+  def __repr__(self):
+    L = ['%s=%r' % (key, value)
+      for key, value in self.__dict__.iteritems()]
+    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
+class getAllApplicationDeployments_args:
   """
   Attributes:
    - authzToken
@@ -29973,7 +31815,7 @@ class getAllAppModules_args:
     if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
       oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
       return
-    oprot.writeStructBegin('getAllAppModules_args')
+    oprot.writeStructBegin('getAllApplicationDeployments_args')
     if self.authzToken is not None:
       oprot.writeFieldBegin('authzToken', TType.STRUCT, 1)
       self.authzToken.write(oprot)
@@ -30010,7 +31852,7 @@ class getAllAppModules_args:
   def __ne__(self, other):
     return not (self == other)
 
-class getAllAppModules_result:
+class getAllApplicationDeployments_result:
   """
   Attributes:
    - success
@@ -30021,7 +31863,7 @@ class getAllAppModules_result:
   """
 
   thrift_spec = (
-    (0, TType.LIST, 'success', (TType.STRUCT,(apache.airavata.model.appcatalog.appdeployment.ttypes.ApplicationModule, apache.airavata.model.appcatalog.appdeployment.ttypes.ApplicationModule.thrift_spec)), None, ), # 0
+    (0, TType.LIST, 'success', (TType.STRUCT,(apache.airavata.model.appcatalog.appdeployment.ttypes.ApplicationDeploymentDescription, apache.airavata.model.appcatalog.appdeployment.ttypes.ApplicationDeploymentDescription.thrift_spec)), None, ), # 0
     (1, TType.STRUCT, 'ire', (apache.airavata.api.error.ttypes.InvalidRequestException, apache.airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ), # 1
     (2, TType.STRUCT, 'ace', (apache.airavata.api.error.ttypes.AiravataClientException, apache.airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ), # 2
     (3, TType.STRUCT, 'ase', (apache.airavata.api.error.ttypes.AiravataSystemException, apache.airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ), # 3
@@ -30047,11 +31889,11 @@ class getAllAppModules_result:
       if fid == 0:
         if ftype == TType.LIST:
           self.success = []
-          (_etype139, _size136) = iprot.readListBegin()
-          for _i140 in xrange(_size136):
-            _elem141 = apache.airavata.model.appcatalog.appdeployment.ttypes.ApplicationModule()
-            _elem141.read(iprot)
-            self.success.append(_elem141)
+          (_etype146, _size143) = iprot.readListBegin()
+          for _i147 in xrange(_size143):
+            _elem148 = apache.airavata.model.appcatalog.appdeployment.ttypes.ApplicationDeploymentDescription()
+            _elem148.read(iprot)
+            self.success.append(_elem148)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -30088,12 +31930,12 @@ class getAllAppModules_result:
     if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
       oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
       return
-    oprot.writeStructBegin('getAllAppModules_result')
+    oprot.writeStructBegin('getAllApplicationDeployments_result')
     if self.success is not None:
       oprot.writeFieldBegin('success', TType.LIST, 0)
       oprot.writeListBegin(TType.STRUCT, len(self.success))
-      for iter142 in self.success:
-        iter142.write(oprot)
+      for iter149 in self.success:
+        iter149.write(oprot)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.ire is not None:
@@ -30139,7 +31981,7 @@ class getAllAppModules_result:
   def __ne__(self, other):
     return not (self == other)
 
-class deleteApplicationModule_args:
+class getAppModuleDeployedResources_args:
   """
   Attributes:
    - authzToken
@@ -30185,7 +32027,7 @@ class deleteApplicationModule_args:
     if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
       oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
       return
-    oprot.writeStructBegin('deleteApplicationModule_args')
+    oprot.writeStructBegin('getAppModuleDeployedResources_args')
     if self.authzToken is not None:
       oprot.writeFieldBegin('authzToken', TType.STRUCT, 1)
       self.authzToken.write(oprot)
@@ -30222,7 +32064,7 @@ class deleteApplicationModule_args:
   def __ne__(self, other):
     return not (self == other)
 
-class deleteApplicationModule_result:
+class getAppModuleDeployedResources_result:
   """
   Attributes:
    - success
@@ -30233,7 +32075,7 @@ class deleteApplicationModule_result:
   """
 
   thrift_spec = (
-    (0, TType.BOOL, 'success', None, None, ), # 0
+    (0, TType.LIST, 'success', (TType.STRING,None), None, ), # 0
     (1, TType.STRUCT, 'ire', (apache.airavata.api.error.ttypes.InvalidRequestException, apache.airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ), # 1
     (2, TType.STRUCT, 'ace', (apache.airavata.api.error.ttypes.AiravataClientException, apache.airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ), # 2
     (3, TType.STRUCT, 'ase', (apache.airavata.api.error.ttypes.AiravataSystemException, apache.airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ), # 3
@@ -30257,8 +32099,13 @@ class deleteApplicationModule_result:
       if ftype == TType.STOP:
         break
       if fid == 0:
-        if ftype == TType.BOOL:
-          self.success = iprot.readBool()
+        if ftype == TType.LIST:
+          self.success = []
+          (_etype153, _size150) = iprot.readListBegin()
+          for _i154 in xrange(_size150):
+            _elem155 = iprot.readString()
+            self.success.append(_elem155)
+          iprot.readListEnd()
         else:
           iprot.skip(ftype)
       elif fid == 1:
@@ -30294,10 +32141,13 @@ class deleteApplicationModule_result:
     if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
       oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
       return
-    oprot.writeStructBegin('deleteApplicationModule_result')
+    oprot.writeStructBegin('getAppModuleDeployedResources_result')
     if self.success is not None:
-      oprot.writeFieldBegin('success', TType.BOOL, 0)
-      oprot.writeBool(self.success)
+      oprot.writeFieldBegin('success', TType.LIST, 0)
+      oprot.writeListBegin(TType.STRING, len(self.success))
+      for iter156 in self.success:
+        oprot.writeString(iter156)
+      oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.ire is not None:
       oprot.writeFieldBegin('ire', TType.STRUCT, 1)
@@ -30342,25 +32192,25 @@ class deleteApplicationModule_result:
   def __ne__(self, other):
     return not (self == other)
 
-class registerApplicationDeployment_args:
+class registerApplicationInterface_args:
   """
   Attributes:
    - authzToken
    - gatewayId
-   - applicationDeployment
+   - applicationInterface
   """
 
   thrift_spec = (
     None, # 0
     (1, TType.STRUCT, 'authzToken', (apache.airavata.model.security.ttypes.AuthzToken, apache.airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ), # 1
     (2, TType.STRING, 'gatewayId', None, None, ), # 2
-    (3, TType.STRUCT, 'applicationDeployment', (apache.airavata.model.appcatalog.appdeployment.ttypes.ApplicationDeploymentDescription, apache.airavata.model.appcatalog.appdeployment.ttypes.ApplicationDeploymentDescription.thrift_spec), None, ), # 3
+    (3, TType.STRUCT, 'applicationInterface', (apache.airavata.model.appcatalog.appinterface.ttypes.ApplicationInterfaceDescription, apache.airavata.model.appcatalog.appinterface.ttypes.ApplicationInterfaceDescription.thrift_spec), None, ), # 3
   )
 
-  def __init__(self, authzToken=None, gatewayId=None, applicationDeployment=None,):
+  def __init__(self, authzToken=None, gatewayId=None, applicationInterface=None,):
     self.authzToken = authzToken
     self.gatewayId = gatewayId
-    self.applicationDeployment = applicationDeployment
+    self.applicationInterface = applicationInterface
 
   def read(self, iprot):
     if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
@@ -30384,8 +32234,8 @@ class registerApplicationDeployment_args:
           iprot.skip(ftype)
       elif fid == 3:
         if ftype == TType.STRUCT:
-          self.applicationDeployment = apache.airavata.model.appcatalog.appdeployment.ttypes.ApplicationDeploymentDescription()
-          self.applicationDeployment.read(iprot)
+          self.applicationInterface = apache.airavata.model.appcatalog.appinterface.ttypes.ApplicationInterfaceDescription()
+          self.applicationInterface.read(iprot)
         else:
           iprot.skip(ftype)
       else:
@@ -30397,7 +32247,7 @@ class registerApplicationDeployment_args:
     if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
       oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
       return
-    oprot.writeStructBegin('registerApplicationDeployment_args')
+    oprot.writeStructBegin('registerApplicationInterface_args')
     if self.authzToken is not None:
       oprot.writeFieldBegin('authzToken', TType.STRUCT, 1)
       self.authzToken.write(oprot)
@@ -30406,9 +32256,9 @@ class registerApplicationDeployment_args:
       oprot.writeFieldBegin('gatewayId', TType.STRING, 2)
       oprot.writeString(self.gatewayId)
       oprot.writeFieldEnd()
-    if self.applicationDeployment is not None:
-      oprot.writeFieldBegin('applicationDeployment', TType.STRUCT, 3)
-      self.applicationDeployment.write(oprot)
+    if self.applicationInterface is not None:
+      oprot.writeFieldBegin('applicationInterface', TType.STRUCT, 3)
+      self.applicationInterface.write(oprot)
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
     oprot.writeStructEnd()
@@ -30418,8 +32268,8 @@ class registerApplicationDeployment_args:
       raise TProtocol.TProtocolException(message='Required field authzToken is unset!')
     if self.gatewayId is None:
       raise TProtocol.TProtocolException(message='Required field gatewayId is unset!')
-    if self.applicationDeployment is None:
-      raise TProtocol.TProtocolException(message='Required field applicationDeployment is unset!')
+    if self.applicationInterface is None:
+      raise TProtocol.TProtocolException(message='Required field applicationInterface is unset!')
     return
 
 
@@ -30427,7 +32277,7 @@ class registerApplicationDeployment_args:
     value = 17
     value = (value * 31) ^ hash(self.authzToken)
     value = (value * 31) ^ hash(self.gatewayId)
-    value = (value * 31) ^ hash(self.applicationDeployment)
+    value = (value * 31) ^ hash(self.applicationInterface)
     return value
 
   def __repr__(self):
@@ -30441,7 +32291,7 @@ class registerApplicationDeployment_args:
   def __ne__(self, other):
     return not (self == other)
 
-class registerApplicationDeployment_result:
+class registerApplicationInterface_result:
   """
   Attributes:
    - success
@@ -30513,7 +32363,7 @@ class registerApplicationDeployment_result:
     if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
       oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
       return
-    oprot.writeStructBegin('registerApplicationDeployment_result')
+    oprot.writeStructBegin('registerApplicationInterface_result')
     if self.success is not None:
       oprot.writeFieldBegin('success', TType.STRING, 0)
       oprot.writeString(self.success)
@@ -30561,22 +32411,28 @@ class registerApplicationDeployment_result:
   def __ne__(self, other):
     return not (self == other)
 
-class getApplicationDeployment_args:
+class cloneApplicationInterface_args:
   """
   Attributes:
    - authzToken
-   - appDeploymentId
+   - existingAppInterfaceID
+   - newApplicationName
+   - gatewayId
   """
 
   thrift_spec = (
     None, # 0
     (1, TType.STRUCT, 'authzToken', (apache.airavata.model.security.ttypes.AuthzToken, apache.airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ), # 1
-    (2, TType.STRING, 'appDeploymentId', None, None, ), # 2
+    (2, TType.STRING, 'existingAppInterfaceID', None, None, ), # 2
+    (3, TType.STRING, 'newApplicationName', None, None, ), # 3
+    (4, TType.STRING, 'gatewayId', None, None, ), # 4
   )
 
-  def __init__(self, authzToken=None, appDeploymentId=None,):
+  def __init__(self, authzToken=None, existingAppInterfaceID=None, newApplicationName=None, gatewayId=None,):
     self.authzToken = authzToken
-    self.appDeploymentId = appDeploymentId
+    self.existingAppInterfaceID = existingAppInterfaceID
+    self.newApplicationName = newApplicationName
+    self.gatewayId = gatewayId
 
   def read(self, iprot):
     if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
@@ -30595,7 +32451,17 @@ class getApplicationDeployment_args:
           iprot.skip(ftype)
       elif fid == 2:
         if ftype == TType.STRING:
-          self.appDeploymentId = iprot.readString()
+          self.existingAppInterfaceID = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 3:
+        if ftype == TType.STRING:
+          self.newApplicationName = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 4:
+        if ftype == TType.STRING:
+          self.gatewayId = iprot.readString()
         else:
           iprot.skip(ftype)
       else:
@@ -30607,14 +32473,22 @@ class getApplicationDeployment_args:
     if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
       oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
       return
-    oprot.writeStructBegin('getApplicationDeployment_args')
+    oprot.writeStructBegin('cloneApplicationInterface_args')
     if self.authzToken is not None:
       oprot.writeFieldBegin('authzToke

<TRUNCATED>

[40/50] [abbrv] airavata git commit: Merge branch 'lsf-walltime' into develop

Posted by sm...@apache.org.
Merge branch 'lsf-walltime' into develop


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

Branch: refs/heads/registry-refactoring
Commit: a1c3e83eb63774d2d33c3ff84dabda44ebc8935e
Parents: 44f9493 7b48f15
Author: Marcus Christie <ma...@apache.org>
Authored: Tue May 9 13:11:07 2017 -0400
Committer: Marcus Christie <ma...@apache.org>
Committed: Tue May 9 13:11:07 2017 -0400

----------------------------------------------------------------------
 .../src/main/java/org/apache/airavata/gfac/core/GFacUtils.java | 6 ++++++
 .../org/apache/airavata/gfac/core/cluster/OutputParser.java    | 2 +-
 .../org/apache/airavata/gfac/impl/job/LSFOutputParser.java     | 6 +++++-
 3 files changed, 12 insertions(+), 2 deletions(-)
----------------------------------------------------------------------



[26/50] [abbrv] airavata git commit: fixing bug in moving checkpoint files

Posted by sm...@apache.org.
fixing bug in moving checkpoint files


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

Branch: refs/heads/registry-refactoring
Commit: 0fcce5651aab0ab845bd5af2608895e9c915f1f0
Parents: 5303a35
Author: scnakandala <su...@gmail.com>
Authored: Wed May 3 16:04:16 2017 -0400
Committer: scnakandala <su...@gmail.com>
Committed: Wed May 3 16:04:16 2017 -0400

----------------------------------------------------------------------
 .../gfac/core/cluster/RemoteCluster.java        | 12 ++++++++-
 .../airavata/gfac/impl/BESRemoteCluster.java    | 22 +++++++++++++---
 .../airavata/gfac/impl/HPCRemoteCluster.java    | 27 ++++++++++++++++++++
 .../airavata/gfac/impl/LocalRemoteCluster.java  | 18 ++++++++++---
 .../gfac/impl/task/SCPDataStageTask.java        | 18 ++++++++++---
 5 files changed, 87 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/0fcce565/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cluster/RemoteCluster.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cluster/RemoteCluster.java b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cluster/RemoteCluster.java
index 9a5c757..ebf5f6b 100644
--- a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cluster/RemoteCluster.java
+++ b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cluster/RemoteCluster.java
@@ -23,7 +23,6 @@ import com.jcraft.jsch.Session;
 import org.apache.airavata.gfac.core.GFacException;
 import org.apache.airavata.gfac.core.SSHApiException;
 import org.apache.airavata.gfac.core.authentication.AuthenticationInfo;
-import org.apache.airavata.gfac.core.authentication.SSHKeyAuthentication;
 import org.apache.airavata.model.status.JobStatus;
 
 import java.util.List;
@@ -79,6 +78,17 @@ public interface RemoteCluster { // FIXME: replace SSHApiException with suitable
 							  boolean ignoreEmptyFile) throws GFacException;
 
 	/**
+	 * This method can be used to get the file name of a file giving the extension. It assumes that there will be only
+	 * one file with that extension. In case if there are more than one file one random file name from the matching ones
+	 * will be returned.
+	 * @param fileExtension
+	 * @param parentPath
+	 * @param session
+	 * @return
+	 */
+	public String getFileNameFromExtension(String fileExtension, String parentPath, Session session) throws GFacException;
+
+	/**
 	 * This will create directories in computing resources
 	 *
 	 * @param directoryPath the full qualified path for the directory user wants to create

http://git-wip-us.apache.org/repos/asf/airavata/blob/0fcce565/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/BESRemoteCluster.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/BESRemoteCluster.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/BESRemoteCluster.java
index de0c70f..4f22c6a 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/BESRemoteCluster.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/BESRemoteCluster.java
@@ -22,10 +22,11 @@ package org.apache.airavata.gfac.impl;
 import com.jcraft.jsch.Session;
 import org.apache.airavata.gfac.core.GFacException;
 import org.apache.airavata.gfac.core.JobManagerConfiguration;
-import org.apache.airavata.gfac.core.SSHApiException;
 import org.apache.airavata.gfac.core.authentication.AuthenticationInfo;
-import org.apache.airavata.gfac.core.authentication.SSHKeyAuthentication;
-import org.apache.airavata.gfac.core.cluster.*;
+import org.apache.airavata.gfac.core.cluster.AbstractRemoteCluster;
+import org.apache.airavata.gfac.core.cluster.CommandInfo;
+import org.apache.airavata.gfac.core.cluster.JobSubmissionOutput;
+import org.apache.airavata.gfac.core.cluster.ServerInfo;
 import org.apache.airavata.model.status.JobStatus;
 
 import java.util.List;
@@ -56,6 +57,21 @@ public class BESRemoteCluster extends AbstractRemoteCluster{
 
     }
 
+    /**
+     * This method can be used to get the file name of a file giving the extension. It assumes that there will be only
+     * one file with that extension. In case if there are more than one file one random file name from the matching ones
+     * will be returned.
+     *
+     * @param fileExtension
+     * @param parentPath
+     * @param session
+     * @return
+     */
+    @Override
+    public String getFileNameFromExtension(String fileExtension, String parentPath, Session session) {
+        return null;
+    }
+
     @Override
     public void makeDirectory(String directoryPath) throws GFacException {
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/0fcce565/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/HPCRemoteCluster.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/HPCRemoteCluster.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/HPCRemoteCluster.java
index c1bca29..3d972b0 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/HPCRemoteCluster.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/HPCRemoteCluster.java
@@ -190,6 +190,33 @@ public class HPCRemoteCluster extends AbstractRemoteCluster{
 		}
 	}
 
+	/**
+	 * This method can be used to get the file name of a file giving the extension. It assumes that there will be only
+	 * one file with that extension. In case if there are more than one file one random file name from the matching ones
+	 * will be returned.
+	 *
+	 * @param fileExtension
+	 * @param parentPath
+	 * @param session
+	 * @return
+	 */
+	@Override
+	public String getFileNameFromExtension(String fileExtension, String parentPath, Session session) throws GFacException {
+		try {
+			List<String> fileNames = SSHUtils.listDirectory(parentPath, session);
+			for(String fileName : fileNames){
+				if(fileName.endsWith(fileExtension)){
+					return fileName;
+				}
+			}
+			log.warn("No matching file found for extension: " + fileExtension + " in the " + parentPath + " directory");
+			return null;
+		} catch (Exception e) {
+			e.printStackTrace();
+			throw new GFacException("Failed to list directory " + parentPath);
+		}
+	}
+
 	@Override
 	public void makeDirectory(String directoryPath) throws GFacException {
 		int retryCount = 0;

http://git-wip-us.apache.org/repos/asf/airavata/blob/0fcce565/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/LocalRemoteCluster.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/LocalRemoteCluster.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/LocalRemoteCluster.java
index 878e3b6..64a96db 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/LocalRemoteCluster.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/LocalRemoteCluster.java
@@ -21,12 +21,9 @@ package org.apache.airavata.gfac.impl;
 
 import com.jcraft.jsch.JSchException;
 import com.jcraft.jsch.Session;
-import org.apache.airavata.common.exception.AiravataException;
 import org.apache.airavata.gfac.core.GFacException;
 import org.apache.airavata.gfac.core.JobManagerConfiguration;
-import org.apache.airavata.gfac.core.SSHApiException;
 import org.apache.airavata.gfac.core.authentication.AuthenticationInfo;
-import org.apache.airavata.gfac.core.authentication.SSHKeyAuthentication;
 import org.apache.airavata.gfac.core.cluster.*;
 import org.apache.airavata.model.status.JobStatus;
 import org.slf4j.Logger;
@@ -131,6 +128,21 @@ public class LocalRemoteCluster extends AbstractRemoteCluster {
         }
     }
 
+    /**
+     * This method can be used to get the file name of a file giving the extension. It assumes that there will be only
+     * one file with that extension. In case if there are more than one file one random file name from the matching ones
+     * will be returned.
+     *
+     * @param fileExtension
+     * @param parentPath
+     * @param session
+     * @return
+     */
+    @Override
+    public String getFileNameFromExtension(String fileExtension, String parentPath, Session session) {
+        throw new UnsupportedOperationException();
+    }
+
     @Override
     public void makeDirectory(String directoryPath) throws GFacException {
         Path dirPath = Paths.get(directoryPath);

http://git-wip-us.apache.org/repos/asf/airavata/blob/0fcce565/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SCPDataStageTask.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SCPDataStageTask.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SCPDataStageTask.java
index 4e4aa86..9a42124 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SCPDataStageTask.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SCPDataStageTask.java
@@ -133,6 +133,20 @@ public class SCPDataStageTask implements Task {
             URI sourceURI = new URI(subTaskModel.getSource());
             String fileName = sourceURI.getPath().substring(sourceURI.getPath().lastIndexOf(File.separator) + 1,
                     sourceURI.getPath().length());
+
+            authenticationInfo = Factory.getComputerResourceSSHKeyAuthentication(processContext);
+            ServerInfo serverInfo = processContext.getComputeResourceServerInfo();
+            Session sshSession = Factory.getSSHSession(authenticationInfo, serverInfo);
+
+            //Wildcard for file name. Has to find the correct name.
+            if(fileName.startsWith("*.")){
+                String temp = taskContext.getParentProcessContext().getDataMovementRemoteCluster()
+                        .getFileNameFromExtension(fileName.substring(2), inputPath, sshSession);
+                if(temp != null && temp != ""){
+                    fileName = temp;
+                }
+            }
+
             URI destinationURI = null;
             if (subTaskModel.getDestination().startsWith("dummy")) {
                 destinationURI = TaskUtils.getDestinationURI(taskContext, hostName, inputPath, fileName);
@@ -149,11 +163,9 @@ public class SCPDataStageTask implements Task {
                 return status;
             }
 
-            authenticationInfo = Factory.getComputerResourceSSHKeyAuthentication(processContext);
+
             status = new TaskStatus(TaskState.COMPLETED);
 
-            ServerInfo serverInfo = processContext.getComputeResourceServerInfo();
-            Session sshSession = Factory.getSSHSession(authenticationInfo, serverInfo);
             if (processState == ProcessState.INPUT_DATA_STAGING) {
                 inputDataStaging(taskContext, sshSession, sourceURI, destinationURI);
                 status.setReason("Successfully staged input data");


[15/50] [abbrv] airavata git commit: Add Tenant Profile Thrift Model

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
index d073bd9..1e19e96 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
@@ -2973,6 +2973,13 @@ class AiravataIf {
   virtual bool deleteGroup(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& groupId, const std::string& ownerId, const std::string& gatewayId) = 0;
   virtual void getGroup( ::apache::airavata::model::group::GroupModel& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& groupId) = 0;
   virtual void getAllGroupsUserBelongs(std::vector< ::apache::airavata::model::group::GroupModel> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userName, const std::string& gatewayId) = 0;
+  virtual void addUserProfile(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::user::UserProfile& userProfile) = 0;
+  virtual bool updateUserProfile(const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::user::UserProfile& userProfile) = 0;
+  virtual void getUserProfileById( ::apache::airavata::model::user::UserProfile& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userId, const std::string& gatewayId) = 0;
+  virtual bool deleteUserProfile(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userId) = 0;
+  virtual void getAllUserProfilesInGateway(std::vector< ::apache::airavata::model::user::UserProfile> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const int32_t offset, const int32_t limit) = 0;
+  virtual void getUserProfileByName( ::apache::airavata::model::user::UserProfile& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userName, const std::string& gatewayId) = 0;
+  virtual bool doesUserProfileExist(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userName, const std::string& gatewayId) = 0;
 };
 
 class AiravataIfFactory {
@@ -3569,6 +3576,30 @@ class AiravataNull : virtual public AiravataIf {
   void getAllGroupsUserBelongs(std::vector< ::apache::airavata::model::group::GroupModel> & /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* userName */, const std::string& /* gatewayId */) {
     return;
   }
+  void addUserProfile(std::string& /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const  ::apache::airavata::model::user::UserProfile& /* userProfile */) {
+    return;
+  }
+  bool updateUserProfile(const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const  ::apache::airavata::model::user::UserProfile& /* userProfile */) {
+    bool _return = false;
+    return _return;
+  }
+  void getUserProfileById( ::apache::airavata::model::user::UserProfile& /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* userId */, const std::string& /* gatewayId */) {
+    return;
+  }
+  bool deleteUserProfile(const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* userId */) {
+    bool _return = false;
+    return _return;
+  }
+  void getAllUserProfilesInGateway(std::vector< ::apache::airavata::model::user::UserProfile> & /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* gatewayId */, const int32_t /* offset */, const int32_t /* limit */) {
+    return;
+  }
+  void getUserProfileByName( ::apache::airavata::model::user::UserProfile& /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* userName */, const std::string& /* gatewayId */) {
+    return;
+  }
+  bool doesUserProfileExist(const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* userName */, const std::string& /* gatewayId */) {
+    bool _return = false;
+    return _return;
+  }
 };
 
 
@@ -27441,141 +27472,1123 @@ class Airavata_getAllGroupsUserBelongs_presult {
 
 };
 
-class AiravataClient : virtual public AiravataIf {
+
+class Airavata_addUserProfile_args {
  public:
-  AiravataClient(boost::shared_ptr< ::apache::thrift::protocol::TProtocol> prot) {
-    setProtocol(prot);
+
+  Airavata_addUserProfile_args(const Airavata_addUserProfile_args&);
+  Airavata_addUserProfile_args& operator=(const Airavata_addUserProfile_args&);
+  Airavata_addUserProfile_args() {
   }
-  AiravataClient(boost::shared_ptr< ::apache::thrift::protocol::TProtocol> iprot, boost::shared_ptr< ::apache::thrift::protocol::TProtocol> oprot) {
-    setProtocol(iprot,oprot);
+
+  virtual ~Airavata_addUserProfile_args() throw();
+   ::apache::airavata::model::security::AuthzToken authzToken;
+   ::apache::airavata::model::user::UserProfile userProfile;
+
+  void __set_authzToken(const  ::apache::airavata::model::security::AuthzToken& val);
+
+  void __set_userProfile(const  ::apache::airavata::model::user::UserProfile& val);
+
+  bool operator == (const Airavata_addUserProfile_args & rhs) const
+  {
+    if (!(authzToken == rhs.authzToken))
+      return false;
+    if (!(userProfile == rhs.userProfile))
+      return false;
+    return true;
   }
- private:
-  void setProtocol(boost::shared_ptr< ::apache::thrift::protocol::TProtocol> prot) {
-  setProtocol(prot,prot);
+  bool operator != (const Airavata_addUserProfile_args &rhs) const {
+    return !(*this == rhs);
   }
-  void setProtocol(boost::shared_ptr< ::apache::thrift::protocol::TProtocol> iprot, boost::shared_ptr< ::apache::thrift::protocol::TProtocol> oprot) {
-    piprot_=iprot;
-    poprot_=oprot;
-    iprot_ = iprot.get();
-    oprot_ = oprot.get();
+
+  bool operator < (const Airavata_addUserProfile_args & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_addUserProfile_pargs {
+ public:
+
+
+  virtual ~Airavata_addUserProfile_pargs() throw();
+  const  ::apache::airavata::model::security::AuthzToken* authzToken;
+  const  ::apache::airavata::model::user::UserProfile* userProfile;
+
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_addUserProfile_result__isset {
+  _Airavata_addUserProfile_result__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
+  bool success :1;
+  bool ire :1;
+  bool ace :1;
+  bool ase :1;
+  bool ae :1;
+} _Airavata_addUserProfile_result__isset;
+
+class Airavata_addUserProfile_result {
+ public:
+
+  Airavata_addUserProfile_result(const Airavata_addUserProfile_result&);
+  Airavata_addUserProfile_result& operator=(const Airavata_addUserProfile_result&);
+  Airavata_addUserProfile_result() : success() {
+  }
+
+  virtual ~Airavata_addUserProfile_result() throw();
+  std::string success;
+   ::apache::airavata::api::error::InvalidRequestException ire;
+   ::apache::airavata::api::error::AiravataClientException ace;
+   ::apache::airavata::api::error::AiravataSystemException ase;
+   ::apache::airavata::api::error::AuthorizationException ae;
+
+  _Airavata_addUserProfile_result__isset __isset;
+
+  void __set_success(const std::string& val);
+
+  void __set_ire(const  ::apache::airavata::api::error::InvalidRequestException& val);
+
+  void __set_ace(const  ::apache::airavata::api::error::AiravataClientException& val);
+
+  void __set_ase(const  ::apache::airavata::api::error::AiravataSystemException& val);
+
+  void __set_ae(const  ::apache::airavata::api::error::AuthorizationException& val);
+
+  bool operator == (const Airavata_addUserProfile_result & rhs) const
+  {
+    if (!(success == rhs.success))
+      return false;
+    if (!(ire == rhs.ire))
+      return false;
+    if (!(ace == rhs.ace))
+      return false;
+    if (!(ase == rhs.ase))
+      return false;
+    if (!(ae == rhs.ae))
+      return false;
+    return true;
   }
+  bool operator != (const Airavata_addUserProfile_result &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_addUserProfile_result & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_addUserProfile_presult__isset {
+  _Airavata_addUserProfile_presult__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
+  bool success :1;
+  bool ire :1;
+  bool ace :1;
+  bool ase :1;
+  bool ae :1;
+} _Airavata_addUserProfile_presult__isset;
+
+class Airavata_addUserProfile_presult {
  public:
-  boost::shared_ptr< ::apache::thrift::protocol::TProtocol> getInputProtocol() {
-    return piprot_;
+
+
+  virtual ~Airavata_addUserProfile_presult() throw();
+  std::string* success;
+   ::apache::airavata::api::error::InvalidRequestException ire;
+   ::apache::airavata::api::error::AiravataClientException ace;
+   ::apache::airavata::api::error::AiravataSystemException ase;
+   ::apache::airavata::api::error::AuthorizationException ae;
+
+  _Airavata_addUserProfile_presult__isset __isset;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class Airavata_updateUserProfile_args {
+ public:
+
+  Airavata_updateUserProfile_args(const Airavata_updateUserProfile_args&);
+  Airavata_updateUserProfile_args& operator=(const Airavata_updateUserProfile_args&);
+  Airavata_updateUserProfile_args() {
   }
-  boost::shared_ptr< ::apache::thrift::protocol::TProtocol> getOutputProtocol() {
-    return poprot_;
+
+  virtual ~Airavata_updateUserProfile_args() throw();
+   ::apache::airavata::model::security::AuthzToken authzToken;
+   ::apache::airavata::model::user::UserProfile userProfile;
+
+  void __set_authzToken(const  ::apache::airavata::model::security::AuthzToken& val);
+
+  void __set_userProfile(const  ::apache::airavata::model::user::UserProfile& val);
+
+  bool operator == (const Airavata_updateUserProfile_args & rhs) const
+  {
+    if (!(authzToken == rhs.authzToken))
+      return false;
+    if (!(userProfile == rhs.userProfile))
+      return false;
+    return true;
   }
-  void getAPIVersion(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken);
-  void send_getAPIVersion(const  ::apache::airavata::model::security::AuthzToken& authzToken);
-  void recv_getAPIVersion(std::string& _return);
-  bool isUserExists(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName);
-  void send_isUserExists(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName);
-  bool recv_isUserExists();
-  void addGateway(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::workspace::Gateway& gateway);
-  void send_addGateway(const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::workspace::Gateway& gateway);
-  void recv_addGateway(std::string& _return);
-  void getAllUsersInGateway(std::vector<std::string> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId);
-  void send_getAllUsersInGateway(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId);
-  void recv_getAllUsersInGateway(std::vector<std::string> & _return);
-  bool updateGateway(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const  ::apache::airavata::model::workspace::Gateway& updatedGateway);
-  void send_updateGateway(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const  ::apache::airavata::model::workspace::Gateway& updatedGateway);
-  bool recv_updateGateway();
-  void getGateway( ::apache::airavata::model::workspace::Gateway& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId);
-  void send_getGateway(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId);
-  void recv_getGateway( ::apache::airavata::model::workspace::Gateway& _return);
-  bool deleteGateway(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId);
-  void send_deleteGateway(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId);
-  bool recv_deleteGateway();
-  void getAllGateways(std::vector< ::apache::airavata::model::workspace::Gateway> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken);
-  void send_getAllGateways(const  ::apache::airavata::model::security::AuthzToken& authzToken);
-  void recv_getAllGateways(std::vector< ::apache::airavata::model::workspace::Gateway> & _return);
-  bool isGatewayExist(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId);
-  void send_isGatewayExist(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId);
-  bool recv_isGatewayExist();
-  void createNotification(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::workspace::Notification& notification);
-  void send_createNotification(const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::workspace::Notification& notification);
-  void recv_createNotification(std::string& _return);
-  bool updateNotification(const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::workspace::Notification& notification);
-  void send_updateNotification(const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::workspace::Notification& notification);
-  bool recv_updateNotification();
-  bool deleteNotification(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& notificationId);
-  void send_deleteNotification(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& notificationId);
-  bool recv_deleteNotification();
-  void getNotification( ::apache::airavata::model::workspace::Notification& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& notificationId);
-  void send_getNotification(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& notificationId);
-  void recv_getNotification( ::apache::airavata::model::workspace::Notification& _return);
-  void getAllNotifications(std::vector< ::apache::airavata::model::workspace::Notification> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId);
-  void send_getAllNotifications(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId);
-  void recv_getAllNotifications(std::vector< ::apache::airavata::model::workspace::Notification> & _return);
-  void generateAndRegisterSSHKeys(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const std::string& description, const  ::CredentialOwnerType::type credentialOwnerType);
-  void send_generateAndRegisterSSHKeys(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const std::string& description, const  ::CredentialOwnerType::type credentialOwnerType);
-  void recv_generateAndRegisterSSHKeys(std::string& _return);
-  void registerPwdCredential(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& portalUserName, const std::string& loginUserName, const std::string& password, const std::string& description);
-  void send_registerPwdCredential(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& portalUserName, const std::string& loginUserName, const std::string& password, const std::string& description);
-  void recv_registerPwdCredential(std::string& _return);
-  void getSSHPubKey(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataCredStoreToken, const std::string& gatewayId);
-  void send_getSSHPubKey(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataCredStoreToken, const std::string& gatewayId);
-  void recv_getSSHPubKey(std::string& _return);
-  void getAllGatewaySSHPubKeys(std::map<std::string, std::string> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId);
-  void send_getAllGatewaySSHPubKeys(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId);
-  void recv_getAllGatewaySSHPubKeys(std::map<std::string, std::string> & _return);
-  void getAllCredentialSummaryForGateway(std::vector< ::CredentialSummary> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::SummaryType::type type, const std::string& gatewayId);
-  void send_getAllCredentialSummaryForGateway(const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::SummaryType::type type, const std::string& gatewayId);
-  void recv_getAllCredentialSummaryForGateway(std::vector< ::CredentialSummary> & _return);
-  void getAllCredentialSummaryForUsersInGateway(std::vector< ::CredentialSummary> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::SummaryType::type type, const std::string& gatewayId, const std::string& userId);
-  void send_getAllCredentialSummaryForUsersInGateway(const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::SummaryType::type type, const std::string& gatewayId, const std::string& userId);
-  void recv_getAllCredentialSummaryForUsersInGateway(std::vector< ::CredentialSummary> & _return);
-  void getAllGatewayPWDCredentials(std::map<std::string, std::string> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId);
-  void send_getAllGatewayPWDCredentials(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId);
-  void recv_getAllGatewayPWDCredentials(std::map<std::string, std::string> & _return);
-  bool deleteSSHPubKey(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataCredStoreToken, const std::string& gatewayId);
-  void send_deleteSSHPubKey(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataCredStoreToken, const std::string& gatewayId);
-  bool recv_deleteSSHPubKey();
-  bool deletePWDCredential(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataCredStoreToken, const std::string& gatewayId);
-  void send_deletePWDCredential(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataCredStoreToken, const std::string& gatewayId);
-  bool recv_deletePWDCredential();
-  void createProject(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const  ::apache::airavata::model::workspace::Project& project);
-  void send_createProject(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const  ::apache::airavata::model::workspace::Project& project);
-  void recv_createProject(std::string& _return);
-  void updateProject(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& projectId, const  ::apache::airavata::model::workspace::Project& updatedProject);
-  void send_updateProject(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& projectId, const  ::apache::airavata::model::workspace::Project& updatedProject);
-  void recv_updateProject();
-  void getProject( ::apache::airavata::model::workspace::Project& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& projectId);
-  void send_getProject(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& projectId);
-  void recv_getProject( ::apache::airavata::model::workspace::Project& _return);
-  bool deleteProject(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& projectId);
-  void send_deleteProject(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& projectId);
-  bool recv_deleteProject();
-  void getUserProjects(std::vector< ::apache::airavata::model::workspace::Project> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const int32_t limit, const int32_t offset);
-  void send_getUserProjects(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const int32_t limit, const int32_t offset);
-  void recv_getUserProjects(std::vector< ::apache::airavata::model::workspace::Project> & _return);
-  void searchProjects(std::vector< ::apache::airavata::model::workspace::Project> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const std::map< ::apache::airavata::model::experiment::ProjectSearchFields::type, std::string> & filters, const int32_t limit, const int32_t offset);
-  void send_searchProjects(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const std::map< ::apache::airavata::model::experiment::ProjectSearchFields::type, std::string> & filters, const int32_t limit, const int32_t offset);
-  void recv_searchProjects(std::vector< ::apache::airavata::model::workspace::Project> & _return);
-  void searchExperiments(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const std::map< ::apache::airavata::model::experiment::ExperimentSearchFields::type, std::string> & filters, const int32_t limit, const int32_t offset);
-  void send_searchExperiments(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const std::map< ::apache::airavata::model::experiment::ExperimentSearchFields::type, std::string> & filters, const int32_t limit, const int32_t offset);
-  void recv_searchExperiments(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & _return);
-  void getExperimentStatistics( ::apache::airavata::model::experiment::ExperimentStatistics& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const int64_t fromTime, const int64_t toTime, const std::string& userName, const std::string& applicationName, const std::string& resourceHostName);
-  void send_getExperimentStatistics(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const int64_t fromTime, const int64_t toTime, const std::string& userName, const std::string& applicationName, const std::string& resourceHostName);
-  void recv_getExperimentStatistics( ::apache::airavata::model::experiment::ExperimentStatistics& _return);
-  void getExperimentsInProject(std::vector< ::apache::airavata::model::experiment::ExperimentModel> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& projectId, const int32_t limit, const int32_t offset);
-  void send_getExperimentsInProject(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& projectId, const int32_t limit, const int32_t offset);
-  void recv_getExperimentsInProject(std::vector< ::apache::airavata::model::experiment::ExperimentModel> & _return);
-  void getUserExperiments(std::vector< ::apache::airavata::model::experiment::ExperimentModel> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const int32_t limit, const int32_t offset);
-  void send_getUserExperiments(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const int32_t limit, const int32_t offset);
-  void recv_getUserExperiments(std::vector< ::apache::airavata::model::experiment::ExperimentModel> & _return);
-  void createExperiment(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const  ::apache::airavata::model::experiment::ExperimentModel& experiment);
-  void send_createExperiment(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const  ::apache::airavata::model::experiment::ExperimentModel& experiment);
-  void recv_createExperiment(std::string& _return);
-  bool deleteExperiment(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& experimentId);
-  void send_deleteExperiment(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& experimentId);
-  bool recv_deleteExperiment();
-  void getExperiment( ::apache::airavata::model::experiment::ExperimentModel& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId);
-  void send_getExperiment(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId);
-  void recv_getExperiment( ::apache::airavata::model::experiment::ExperimentModel& _return);
-  void getExperimentByAdmin( ::apache::airavata::model::experiment::ExperimentModel& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId);
-  void send_getExperimentByAdmin(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId);
+  bool operator != (const Airavata_updateUserProfile_args &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_updateUserProfile_args & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_updateUserProfile_pargs {
+ public:
+
+
+  virtual ~Airavata_updateUserProfile_pargs() throw();
+  const  ::apache::airavata::model::security::AuthzToken* authzToken;
+  const  ::apache::airavata::model::user::UserProfile* userProfile;
+
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_updateUserProfile_result__isset {
+  _Airavata_updateUserProfile_result__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
+  bool success :1;
+  bool ire :1;
+  bool ace :1;
+  bool ase :1;
+  bool ae :1;
+} _Airavata_updateUserProfile_result__isset;
+
+class Airavata_updateUserProfile_result {
+ public:
+
+  Airavata_updateUserProfile_result(const Airavata_updateUserProfile_result&);
+  Airavata_updateUserProfile_result& operator=(const Airavata_updateUserProfile_result&);
+  Airavata_updateUserProfile_result() : success(0) {
+  }
+
+  virtual ~Airavata_updateUserProfile_result() throw();
+  bool success;
+   ::apache::airavata::api::error::InvalidRequestException ire;
+   ::apache::airavata::api::error::AiravataClientException ace;
+   ::apache::airavata::api::error::AiravataSystemException ase;
+   ::apache::airavata::api::error::AuthorizationException ae;
+
+  _Airavata_updateUserProfile_result__isset __isset;
+
+  void __set_success(const bool val);
+
+  void __set_ire(const  ::apache::airavata::api::error::InvalidRequestException& val);
+
+  void __set_ace(const  ::apache::airavata::api::error::AiravataClientException& val);
+
+  void __set_ase(const  ::apache::airavata::api::error::AiravataSystemException& val);
+
+  void __set_ae(const  ::apache::airavata::api::error::AuthorizationException& val);
+
+  bool operator == (const Airavata_updateUserProfile_result & rhs) const
+  {
+    if (!(success == rhs.success))
+      return false;
+    if (!(ire == rhs.ire))
+      return false;
+    if (!(ace == rhs.ace))
+      return false;
+    if (!(ase == rhs.ase))
+      return false;
+    if (!(ae == rhs.ae))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_updateUserProfile_result &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_updateUserProfile_result & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_updateUserProfile_presult__isset {
+  _Airavata_updateUserProfile_presult__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
+  bool success :1;
+  bool ire :1;
+  bool ace :1;
+  bool ase :1;
+  bool ae :1;
+} _Airavata_updateUserProfile_presult__isset;
+
+class Airavata_updateUserProfile_presult {
+ public:
+
+
+  virtual ~Airavata_updateUserProfile_presult() throw();
+  bool* success;
+   ::apache::airavata::api::error::InvalidRequestException ire;
+   ::apache::airavata::api::error::AiravataClientException ace;
+   ::apache::airavata::api::error::AiravataSystemException ase;
+   ::apache::airavata::api::error::AuthorizationException ae;
+
+  _Airavata_updateUserProfile_presult__isset __isset;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class Airavata_getUserProfileById_args {
+ public:
+
+  Airavata_getUserProfileById_args(const Airavata_getUserProfileById_args&);
+  Airavata_getUserProfileById_args& operator=(const Airavata_getUserProfileById_args&);
+  Airavata_getUserProfileById_args() : userId(), gatewayId() {
+  }
+
+  virtual ~Airavata_getUserProfileById_args() throw();
+   ::apache::airavata::model::security::AuthzToken authzToken;
+  std::string userId;
+  std::string gatewayId;
+
+  void __set_authzToken(const  ::apache::airavata::model::security::AuthzToken& val);
+
+  void __set_userId(const std::string& val);
+
+  void __set_gatewayId(const std::string& val);
+
+  bool operator == (const Airavata_getUserProfileById_args & rhs) const
+  {
+    if (!(authzToken == rhs.authzToken))
+      return false;
+    if (!(userId == rhs.userId))
+      return false;
+    if (!(gatewayId == rhs.gatewayId))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_getUserProfileById_args &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_getUserProfileById_args & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_getUserProfileById_pargs {
+ public:
+
+
+  virtual ~Airavata_getUserProfileById_pargs() throw();
+  const  ::apache::airavata::model::security::AuthzToken* authzToken;
+  const std::string* userId;
+  const std::string* gatewayId;
+
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_getUserProfileById_result__isset {
+  _Airavata_getUserProfileById_result__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
+  bool success :1;
+  bool ire :1;
+  bool ace :1;
+  bool ase :1;
+  bool ae :1;
+} _Airavata_getUserProfileById_result__isset;
+
+class Airavata_getUserProfileById_result {
+ public:
+
+  Airavata_getUserProfileById_result(const Airavata_getUserProfileById_result&);
+  Airavata_getUserProfileById_result& operator=(const Airavata_getUserProfileById_result&);
+  Airavata_getUserProfileById_result() {
+  }
+
+  virtual ~Airavata_getUserProfileById_result() throw();
+   ::apache::airavata::model::user::UserProfile success;
+   ::apache::airavata::api::error::InvalidRequestException ire;
+   ::apache::airavata::api::error::AiravataClientException ace;
+   ::apache::airavata::api::error::AiravataSystemException ase;
+   ::apache::airavata::api::error::AuthorizationException ae;
+
+  _Airavata_getUserProfileById_result__isset __isset;
+
+  void __set_success(const  ::apache::airavata::model::user::UserProfile& val);
+
+  void __set_ire(const  ::apache::airavata::api::error::InvalidRequestException& val);
+
+  void __set_ace(const  ::apache::airavata::api::error::AiravataClientException& val);
+
+  void __set_ase(const  ::apache::airavata::api::error::AiravataSystemException& val);
+
+  void __set_ae(const  ::apache::airavata::api::error::AuthorizationException& val);
+
+  bool operator == (const Airavata_getUserProfileById_result & rhs) const
+  {
+    if (!(success == rhs.success))
+      return false;
+    if (!(ire == rhs.ire))
+      return false;
+    if (!(ace == rhs.ace))
+      return false;
+    if (!(ase == rhs.ase))
+      return false;
+    if (!(ae == rhs.ae))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_getUserProfileById_result &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_getUserProfileById_result & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_getUserProfileById_presult__isset {
+  _Airavata_getUserProfileById_presult__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
+  bool success :1;
+  bool ire :1;
+  bool ace :1;
+  bool ase :1;
+  bool ae :1;
+} _Airavata_getUserProfileById_presult__isset;
+
+class Airavata_getUserProfileById_presult {
+ public:
+
+
+  virtual ~Airavata_getUserProfileById_presult() throw();
+   ::apache::airavata::model::user::UserProfile* success;
+   ::apache::airavata::api::error::InvalidRequestException ire;
+   ::apache::airavata::api::error::AiravataClientException ace;
+   ::apache::airavata::api::error::AiravataSystemException ase;
+   ::apache::airavata::api::error::AuthorizationException ae;
+
+  _Airavata_getUserProfileById_presult__isset __isset;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class Airavata_deleteUserProfile_args {
+ public:
+
+  Airavata_deleteUserProfile_args(const Airavata_deleteUserProfile_args&);
+  Airavata_deleteUserProfile_args& operator=(const Airavata_deleteUserProfile_args&);
+  Airavata_deleteUserProfile_args() : userId() {
+  }
+
+  virtual ~Airavata_deleteUserProfile_args() throw();
+   ::apache::airavata::model::security::AuthzToken authzToken;
+  std::string userId;
+
+  void __set_authzToken(const  ::apache::airavata::model::security::AuthzToken& val);
+
+  void __set_userId(const std::string& val);
+
+  bool operator == (const Airavata_deleteUserProfile_args & rhs) const
+  {
+    if (!(authzToken == rhs.authzToken))
+      return false;
+    if (!(userId == rhs.userId))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_deleteUserProfile_args &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_deleteUserProfile_args & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_deleteUserProfile_pargs {
+ public:
+
+
+  virtual ~Airavata_deleteUserProfile_pargs() throw();
+  const  ::apache::airavata::model::security::AuthzToken* authzToken;
+  const std::string* userId;
+
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_deleteUserProfile_result__isset {
+  _Airavata_deleteUserProfile_result__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
+  bool success :1;
+  bool ire :1;
+  bool ace :1;
+  bool ase :1;
+  bool ae :1;
+} _Airavata_deleteUserProfile_result__isset;
+
+class Airavata_deleteUserProfile_result {
+ public:
+
+  Airavata_deleteUserProfile_result(const Airavata_deleteUserProfile_result&);
+  Airavata_deleteUserProfile_result& operator=(const Airavata_deleteUserProfile_result&);
+  Airavata_deleteUserProfile_result() : success(0) {
+  }
+
+  virtual ~Airavata_deleteUserProfile_result() throw();
+  bool success;
+   ::apache::airavata::api::error::InvalidRequestException ire;
+   ::apache::airavata::api::error::AiravataClientException ace;
+   ::apache::airavata::api::error::AiravataSystemException ase;
+   ::apache::airavata::api::error::AuthorizationException ae;
+
+  _Airavata_deleteUserProfile_result__isset __isset;
+
+  void __set_success(const bool val);
+
+  void __set_ire(const  ::apache::airavata::api::error::InvalidRequestException& val);
+
+  void __set_ace(const  ::apache::airavata::api::error::AiravataClientException& val);
+
+  void __set_ase(const  ::apache::airavata::api::error::AiravataSystemException& val);
+
+  void __set_ae(const  ::apache::airavata::api::error::AuthorizationException& val);
+
+  bool operator == (const Airavata_deleteUserProfile_result & rhs) const
+  {
+    if (!(success == rhs.success))
+      return false;
+    if (!(ire == rhs.ire))
+      return false;
+    if (!(ace == rhs.ace))
+      return false;
+    if (!(ase == rhs.ase))
+      return false;
+    if (!(ae == rhs.ae))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_deleteUserProfile_result &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_deleteUserProfile_result & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_deleteUserProfile_presult__isset {
+  _Airavata_deleteUserProfile_presult__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
+  bool success :1;
+  bool ire :1;
+  bool ace :1;
+  bool ase :1;
+  bool ae :1;
+} _Airavata_deleteUserProfile_presult__isset;
+
+class Airavata_deleteUserProfile_presult {
+ public:
+
+
+  virtual ~Airavata_deleteUserProfile_presult() throw();
+  bool* success;
+   ::apache::airavata::api::error::InvalidRequestException ire;
+   ::apache::airavata::api::error::AiravataClientException ace;
+   ::apache::airavata::api::error::AiravataSystemException ase;
+   ::apache::airavata::api::error::AuthorizationException ae;
+
+  _Airavata_deleteUserProfile_presult__isset __isset;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class Airavata_getAllUserProfilesInGateway_args {
+ public:
+
+  Airavata_getAllUserProfilesInGateway_args(const Airavata_getAllUserProfilesInGateway_args&);
+  Airavata_getAllUserProfilesInGateway_args& operator=(const Airavata_getAllUserProfilesInGateway_args&);
+  Airavata_getAllUserProfilesInGateway_args() : gatewayId(), offset(0), limit(0) {
+  }
+
+  virtual ~Airavata_getAllUserProfilesInGateway_args() throw();
+   ::apache::airavata::model::security::AuthzToken authzToken;
+  std::string gatewayId;
+  int32_t offset;
+  int32_t limit;
+
+  void __set_authzToken(const  ::apache::airavata::model::security::AuthzToken& val);
+
+  void __set_gatewayId(const std::string& val);
+
+  void __set_offset(const int32_t val);
+
+  void __set_limit(const int32_t val);
+
+  bool operator == (const Airavata_getAllUserProfilesInGateway_args & rhs) const
+  {
+    if (!(authzToken == rhs.authzToken))
+      return false;
+    if (!(gatewayId == rhs.gatewayId))
+      return false;
+    if (!(offset == rhs.offset))
+      return false;
+    if (!(limit == rhs.limit))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_getAllUserProfilesInGateway_args &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_getAllUserProfilesInGateway_args & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_getAllUserProfilesInGateway_pargs {
+ public:
+
+
+  virtual ~Airavata_getAllUserProfilesInGateway_pargs() throw();
+  const  ::apache::airavata::model::security::AuthzToken* authzToken;
+  const std::string* gatewayId;
+  const int32_t* offset;
+  const int32_t* limit;
+
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_getAllUserProfilesInGateway_result__isset {
+  _Airavata_getAllUserProfilesInGateway_result__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
+  bool success :1;
+  bool ire :1;
+  bool ace :1;
+  bool ase :1;
+  bool ae :1;
+} _Airavata_getAllUserProfilesInGateway_result__isset;
+
+class Airavata_getAllUserProfilesInGateway_result {
+ public:
+
+  Airavata_getAllUserProfilesInGateway_result(const Airavata_getAllUserProfilesInGateway_result&);
+  Airavata_getAllUserProfilesInGateway_result& operator=(const Airavata_getAllUserProfilesInGateway_result&);
+  Airavata_getAllUserProfilesInGateway_result() {
+  }
+
+  virtual ~Airavata_getAllUserProfilesInGateway_result() throw();
+  std::vector< ::apache::airavata::model::user::UserProfile>  success;
+   ::apache::airavata::api::error::InvalidRequestException ire;
+   ::apache::airavata::api::error::AiravataClientException ace;
+   ::apache::airavata::api::error::AiravataSystemException ase;
+   ::apache::airavata::api::error::AuthorizationException ae;
+
+  _Airavata_getAllUserProfilesInGateway_result__isset __isset;
+
+  void __set_success(const std::vector< ::apache::airavata::model::user::UserProfile> & val);
+
+  void __set_ire(const  ::apache::airavata::api::error::InvalidRequestException& val);
+
+  void __set_ace(const  ::apache::airavata::api::error::AiravataClientException& val);
+
+  void __set_ase(const  ::apache::airavata::api::error::AiravataSystemException& val);
+
+  void __set_ae(const  ::apache::airavata::api::error::AuthorizationException& val);
+
+  bool operator == (const Airavata_getAllUserProfilesInGateway_result & rhs) const
+  {
+    if (!(success == rhs.success))
+      return false;
+    if (!(ire == rhs.ire))
+      return false;
+    if (!(ace == rhs.ace))
+      return false;
+    if (!(ase == rhs.ase))
+      return false;
+    if (!(ae == rhs.ae))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_getAllUserProfilesInGateway_result &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_getAllUserProfilesInGateway_result & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_getAllUserProfilesInGateway_presult__isset {
+  _Airavata_getAllUserProfilesInGateway_presult__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
+  bool success :1;
+  bool ire :1;
+  bool ace :1;
+  bool ase :1;
+  bool ae :1;
+} _Airavata_getAllUserProfilesInGateway_presult__isset;
+
+class Airavata_getAllUserProfilesInGateway_presult {
+ public:
+
+
+  virtual ~Airavata_getAllUserProfilesInGateway_presult() throw();
+  std::vector< ::apache::airavata::model::user::UserProfile> * success;
+   ::apache::airavata::api::error::InvalidRequestException ire;
+   ::apache::airavata::api::error::AiravataClientException ace;
+   ::apache::airavata::api::error::AiravataSystemException ase;
+   ::apache::airavata::api::error::AuthorizationException ae;
+
+  _Airavata_getAllUserProfilesInGateway_presult__isset __isset;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class Airavata_getUserProfileByName_args {
+ public:
+
+  Airavata_getUserProfileByName_args(const Airavata_getUserProfileByName_args&);
+  Airavata_getUserProfileByName_args& operator=(const Airavata_getUserProfileByName_args&);
+  Airavata_getUserProfileByName_args() : userName(), gatewayId() {
+  }
+
+  virtual ~Airavata_getUserProfileByName_args() throw();
+   ::apache::airavata::model::security::AuthzToken authzToken;
+  std::string userName;
+  std::string gatewayId;
+
+  void __set_authzToken(const  ::apache::airavata::model::security::AuthzToken& val);
+
+  void __set_userName(const std::string& val);
+
+  void __set_gatewayId(const std::string& val);
+
+  bool operator == (const Airavata_getUserProfileByName_args & rhs) const
+  {
+    if (!(authzToken == rhs.authzToken))
+      return false;
+    if (!(userName == rhs.userName))
+      return false;
+    if (!(gatewayId == rhs.gatewayId))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_getUserProfileByName_args &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_getUserProfileByName_args & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_getUserProfileByName_pargs {
+ public:
+
+
+  virtual ~Airavata_getUserProfileByName_pargs() throw();
+  const  ::apache::airavata::model::security::AuthzToken* authzToken;
+  const std::string* userName;
+  const std::string* gatewayId;
+
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_getUserProfileByName_result__isset {
+  _Airavata_getUserProfileByName_result__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
+  bool success :1;
+  bool ire :1;
+  bool ace :1;
+  bool ase :1;
+  bool ae :1;
+} _Airavata_getUserProfileByName_result__isset;
+
+class Airavata_getUserProfileByName_result {
+ public:
+
+  Airavata_getUserProfileByName_result(const Airavata_getUserProfileByName_result&);
+  Airavata_getUserProfileByName_result& operator=(const Airavata_getUserProfileByName_result&);
+  Airavata_getUserProfileByName_result() {
+  }
+
+  virtual ~Airavata_getUserProfileByName_result() throw();
+   ::apache::airavata::model::user::UserProfile success;
+   ::apache::airavata::api::error::InvalidRequestException ire;
+   ::apache::airavata::api::error::AiravataClientException ace;
+   ::apache::airavata::api::error::AiravataSystemException ase;
+   ::apache::airavata::api::error::AuthorizationException ae;
+
+  _Airavata_getUserProfileByName_result__isset __isset;
+
+  void __set_success(const  ::apache::airavata::model::user::UserProfile& val);
+
+  void __set_ire(const  ::apache::airavata::api::error::InvalidRequestException& val);
+
+  void __set_ace(const  ::apache::airavata::api::error::AiravataClientException& val);
+
+  void __set_ase(const  ::apache::airavata::api::error::AiravataSystemException& val);
+
+  void __set_ae(const  ::apache::airavata::api::error::AuthorizationException& val);
+
+  bool operator == (const Airavata_getUserProfileByName_result & rhs) const
+  {
+    if (!(success == rhs.success))
+      return false;
+    if (!(ire == rhs.ire))
+      return false;
+    if (!(ace == rhs.ace))
+      return false;
+    if (!(ase == rhs.ase))
+      return false;
+    if (!(ae == rhs.ae))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_getUserProfileByName_result &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_getUserProfileByName_result & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_getUserProfileByName_presult__isset {
+  _Airavata_getUserProfileByName_presult__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
+  bool success :1;
+  bool ire :1;
+  bool ace :1;
+  bool ase :1;
+  bool ae :1;
+} _Airavata_getUserProfileByName_presult__isset;
+
+class Airavata_getUserProfileByName_presult {
+ public:
+
+
+  virtual ~Airavata_getUserProfileByName_presult() throw();
+   ::apache::airavata::model::user::UserProfile* success;
+   ::apache::airavata::api::error::InvalidRequestException ire;
+   ::apache::airavata::api::error::AiravataClientException ace;
+   ::apache::airavata::api::error::AiravataSystemException ase;
+   ::apache::airavata::api::error::AuthorizationException ae;
+
+  _Airavata_getUserProfileByName_presult__isset __isset;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class Airavata_doesUserProfileExist_args {
+ public:
+
+  Airavata_doesUserProfileExist_args(const Airavata_doesUserProfileExist_args&);
+  Airavata_doesUserProfileExist_args& operator=(const Airavata_doesUserProfileExist_args&);
+  Airavata_doesUserProfileExist_args() : userName(), gatewayId() {
+  }
+
+  virtual ~Airavata_doesUserProfileExist_args() throw();
+   ::apache::airavata::model::security::AuthzToken authzToken;
+  std::string userName;
+  std::string gatewayId;
+
+  void __set_authzToken(const  ::apache::airavata::model::security::AuthzToken& val);
+
+  void __set_userName(const std::string& val);
+
+  void __set_gatewayId(const std::string& val);
+
+  bool operator == (const Airavata_doesUserProfileExist_args & rhs) const
+  {
+    if (!(authzToken == rhs.authzToken))
+      return false;
+    if (!(userName == rhs.userName))
+      return false;
+    if (!(gatewayId == rhs.gatewayId))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_doesUserProfileExist_args &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_doesUserProfileExist_args & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_doesUserProfileExist_pargs {
+ public:
+
+
+  virtual ~Airavata_doesUserProfileExist_pargs() throw();
+  const  ::apache::airavata::model::security::AuthzToken* authzToken;
+  const std::string* userName;
+  const std::string* gatewayId;
+
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_doesUserProfileExist_result__isset {
+  _Airavata_doesUserProfileExist_result__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
+  bool success :1;
+  bool ire :1;
+  bool ace :1;
+  bool ase :1;
+  bool ae :1;
+} _Airavata_doesUserProfileExist_result__isset;
+
+class Airavata_doesUserProfileExist_result {
+ public:
+
+  Airavata_doesUserProfileExist_result(const Airavata_doesUserProfileExist_result&);
+  Airavata_doesUserProfileExist_result& operator=(const Airavata_doesUserProfileExist_result&);
+  Airavata_doesUserProfileExist_result() : success(0) {
+  }
+
+  virtual ~Airavata_doesUserProfileExist_result() throw();
+  bool success;
+   ::apache::airavata::api::error::InvalidRequestException ire;
+   ::apache::airavata::api::error::AiravataClientException ace;
+   ::apache::airavata::api::error::AiravataSystemException ase;
+   ::apache::airavata::api::error::AuthorizationException ae;
+
+  _Airavata_doesUserProfileExist_result__isset __isset;
+
+  void __set_success(const bool val);
+
+  void __set_ire(const  ::apache::airavata::api::error::InvalidRequestException& val);
+
+  void __set_ace(const  ::apache::airavata::api::error::AiravataClientException& val);
+
+  void __set_ase(const  ::apache::airavata::api::error::AiravataSystemException& val);
+
+  void __set_ae(const  ::apache::airavata::api::error::AuthorizationException& val);
+
+  bool operator == (const Airavata_doesUserProfileExist_result & rhs) const
+  {
+    if (!(success == rhs.success))
+      return false;
+    if (!(ire == rhs.ire))
+      return false;
+    if (!(ace == rhs.ace))
+      return false;
+    if (!(ase == rhs.ase))
+      return false;
+    if (!(ae == rhs.ae))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_doesUserProfileExist_result &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_doesUserProfileExist_result & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_doesUserProfileExist_presult__isset {
+  _Airavata_doesUserProfileExist_presult__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
+  bool success :1;
+  bool ire :1;
+  bool ace :1;
+  bool ase :1;
+  bool ae :1;
+} _Airavata_doesUserProfileExist_presult__isset;
+
+class Airavata_doesUserProfileExist_presult {
+ public:
+
+
+  virtual ~Airavata_doesUserProfileExist_presult() throw();
+  bool* success;
+   ::apache::airavata::api::error::InvalidRequestException ire;
+   ::apache::airavata::api::error::AiravataClientException ace;
+   ::apache::airavata::api::error::AiravataSystemException ase;
+   ::apache::airavata::api::error::AuthorizationException ae;
+
+  _Airavata_doesUserProfileExist_presult__isset __isset;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+class AiravataClient : virtual public AiravataIf {
+ public:
+  AiravataClient(boost::shared_ptr< ::apache::thrift::protocol::TProtocol> prot) {
+    setProtocol(prot);
+  }
+  AiravataClient(boost::shared_ptr< ::apache::thrift::protocol::TProtocol> iprot, boost::shared_ptr< ::apache::thrift::protocol::TProtocol> oprot) {
+    setProtocol(iprot,oprot);
+  }
+ private:
+  void setProtocol(boost::shared_ptr< ::apache::thrift::protocol::TProtocol> prot) {
+  setProtocol(prot,prot);
+  }
+  void setProtocol(boost::shared_ptr< ::apache::thrift::protocol::TProtocol> iprot, boost::shared_ptr< ::apache::thrift::protocol::TProtocol> oprot) {
+    piprot_=iprot;
+    poprot_=oprot;
+    iprot_ = iprot.get();
+    oprot_ = oprot.get();
+  }
+ public:
+  boost::shared_ptr< ::apache::thrift::protocol::TProtocol> getInputProtocol() {
+    return piprot_;
+  }
+  boost::shared_ptr< ::apache::thrift::protocol::TProtocol> getOutputProtocol() {
+    return poprot_;
+  }
+  void getAPIVersion(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken);
+  void send_getAPIVersion(const  ::apache::airavata::model::security::AuthzToken& authzToken);
+  void recv_getAPIVersion(std::string& _return);
+  bool isUserExists(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName);
+  void send_isUserExists(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName);
+  bool recv_isUserExists();
+  void addGateway(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::workspace::Gateway& gateway);
+  void send_addGateway(const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::workspace::Gateway& gateway);
+  void recv_addGateway(std::string& _return);
+  void getAllUsersInGateway(std::vector<std::string> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId);
+  void send_getAllUsersInGateway(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId);
+  void recv_getAllUsersInGateway(std::vector<std::string> & _return);
+  bool updateGateway(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const  ::apache::airavata::model::workspace::Gateway& updatedGateway);
+  void send_updateGateway(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const  ::apache::airavata::model::workspace::Gateway& updatedGateway);
+  bool recv_updateGateway();
+  void getGateway( ::apache::airavata::model::workspace::Gateway& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId);
+  void send_getGateway(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId);
+  void recv_getGateway( ::apache::airavata::model::workspace::Gateway& _return);
+  bool deleteGateway(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId);
+  void send_deleteGateway(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId);
+  bool recv_deleteGateway();
+  void getAllGateways(std::vector< ::apache::airavata::model::workspace::Gateway> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken);
+  void send_getAllGateways(const  ::apache::airavata::model::security::AuthzToken& authzToken);
+  void recv_getAllGateways(std::vector< ::apache::airavata::model::workspace::Gateway> & _return);
+  bool isGatewayExist(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId);
+  void send_isGatewayExist(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId);
+  bool recv_isGatewayExist();
+  void createNotification(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::workspace::Notification& notification);
+  void send_createNotification(const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::workspace::Notification& notification);
+  void recv_createNotification(std::string& _return);
+  bool updateNotification(const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::workspace::Notification& notification);
+  void send_updateNotification(const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::workspace::Notification& notification);
+  bool recv_updateNotification();
+  bool deleteNotification(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& notificationId);
+  void send_deleteNotification(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& notificationId);
+  bool recv_deleteNotification();
+  void getNotification( ::apache::airavata::model::workspace::Notification& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& notificationId);
+  void send_getNotification(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& notificationId);
+  void recv_getNotification( ::apache::airavata::model::workspace::Notification& _return);
+  void getAllNotifications(std::vector< ::apache::airavata::model::workspace::Notification> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId);
+  void send_getAllNotifications(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId);
+  void recv_getAllNotifications(std::vector< ::apache::airavata::model::workspace::Notification> & _return);
+  void generateAndRegisterSSHKeys(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const std::string& description, const  ::CredentialOwnerType::type credentialOwnerType);
+  void send_generateAndRegisterSSHKeys(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const std::string& description, const  ::CredentialOwnerType::type credentialOwnerType);
+  void recv_generateAndRegisterSSHKeys(std::string& _return);
+  void registerPwdCredential(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& portalUserName, const std::string& loginUserName, const std::string& password, const std::string& description);
+  void send_registerPwdCredential(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& portalUserName, const std::string& loginUserName, const std::string& password, const std::string& description);
+  void recv_registerPwdCredential(std::string& _return);
+  void getSSHPubKey(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataCredStoreToken, const std::string& gatewayId);
+  void send_getSSHPubKey(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataCredStoreToken, const std::string& gatewayId);
+  void recv_getSSHPubKey(std::string& _return);
+  void getAllGatewaySSHPubKeys(std::map<std::string, std::string> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId);
+  void send_getAllGatewaySSHPubKeys(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId);
+  void recv_getAllGatewaySSHPubKeys(std::map<std::string, std::string> & _return);
+  void getAllCredentialSummaryForGateway(std::vector< ::CredentialSummary> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::SummaryType::type type, const std::string& gatewayId);
+  void send_getAllCredentialSummaryForGateway(const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::SummaryType::type type, const std::string& gatewayId);
+  void recv_getAllCredentialSummaryForGateway(std::vector< ::CredentialSummary> & _return);
+  void getAllCredentialSummaryForUsersInGateway(std::vector< ::CredentialSummary> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::SummaryType::type type, const std::string& gatewayId, const std::string& userId);
+  void send_getAllCredentialSummaryForUsersInGateway(const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::SummaryType::type type, const std::string& gatewayId, const std::string& userId);
+  void recv_getAllCredentialSummaryForUsersInGateway(std::vector< ::CredentialSummary> & _return);
+  void getAllGatewayPWDCredentials(std::map<std::string, std::string> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId);
+  void send_getAllGatewayPWDCredentials(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId);
+  void recv_getAllGatewayPWDCredentials(std::map<std::string, std::string> & _return);
+  bool deleteSSHPubKey(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataCredStoreToken, const std::string& gatewayId);
+  void send_deleteSSHPubKey(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataCredStoreToken, const std::string& gatewayId);
+  bool recv_deleteSSHPubKey();
+  bool deletePWDCredential(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataCredStoreToken, const std::string& gatewayId);
+  void send_deletePWDCredential(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataCredStoreToken, const std::string& gatewayId);
+  bool recv_deletePWDCredential();
+  void createProject(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const  ::apache::airavata::model::workspace::Project& project);
+  void send_createProject(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const  ::apache::airavata::model::workspace::Project& project);
+  void recv_createProject(std::string& _return);
+  void updateProject(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& projectId, const  ::apache::airavata::model::workspace::Project& updatedProject);
+  void send_updateProject(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& projectId, const  ::apache::airavata::model::workspace::Project& updatedProject);
+  void recv_updateProject();
+  void getProject( ::apache::airavata::model::workspace::Project& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& projectId);
+  void send_getProject(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& projectId);
+  void recv_getProject( ::apache::airavata::model::workspace::Project& _return);
+  bool deleteProject(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& projectId);
+  void send_deleteProject(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& projectId);
+  bool recv_deleteProject();
+  void getUserProjects(std::vector< ::apache::airavata::model::workspace::Project> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const int32_t limit, const int32_t offset);
+  void send_getUserProjects(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const int32_t limit, const int32_t offset);
+  void recv_getUserProjects(std::vector< ::apache::airavata::model::workspace::Project> & _return);
+  void searchProjects(std::vector< ::apache::airavata::model::workspace::Project> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const std::map< ::apache::airavata::model::experiment::ProjectSearchFields::type, std::string> & filters, const int32_t limit, const int32_t offset);
+  void send_searchProjects(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const std::map< ::apache::airavata::model::experiment::ProjectSearchFields::type, std::string> & filters, const int32_t limit, const int32_t offset);
+  void recv_searchProjects(std::vector< ::apache::airavata::model::workspace::Project> & _return);
+  void searchExperiments(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const std::map< ::apache::airavata::model::experiment::ExperimentSearchFields::type, std::string> & filters, const int32_t limit, const int32_t offset);
+  void send_searchExperiments(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const std::map< ::apache::airavata::model::experiment::ExperimentSearchFields::type, std::string> & filters, const int32_t limit, const int32_t offset);
+  void recv_searchExperiments(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & _return);
+  void getExperimentStatistics( ::apache::airavata::model::experiment::ExperimentStatistics& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const int64_t fromTime, const int64_t toTime, const std::string& userName, const std::string& applicationName, const std::string& resourceHostName);
+  void send_getExperimentStatistics(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const int64_t fromTime, const int64_t toTime, const std::string& userName, const std::string& applicationName, const std::string& resourceHostName);
+  void recv_getExperimentStatistics( ::apache::airavata::model::experiment::ExperimentStatistics& _return);
+  void getExperimentsInProject(std::vector< ::apache::airavata::model::experiment::ExperimentModel> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& projectId, const int32_t limit, const int32_t offset);
+  void send_getExperimentsInProject(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& projectId, const int32_t limit, const int32_t offset);
+  void recv_getExperimentsInProject(std::vector< ::apache::airavata::model::experiment::ExperimentModel> & _return);
+  void getUserExperiments(std::vector< ::apache::airavata::model::experiment::ExperimentModel> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const int32_t limit, const int32_t offset);
+  void send_getUserExperiments(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const int32_t limit, const int32_t offset);
+  void recv_getUserExperiments(std::vector< ::apache::airavata::model::experiment::ExperimentModel> & _return);
+  void createExperiment(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const  ::apache::airavata::model::experiment::ExperimentModel& experiment);
+  void send_createExperiment(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const  ::apache::airavata::model::experiment::ExperimentModel& experiment);
+  void recv_createExperiment(std::string& _return);
+  bool deleteExperiment(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& experimentId);
+  void send_deleteExperiment(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& experimentId);
+  bool recv_deleteExperiment();
+  void getExperiment( ::apache::airavata::model::experiment::ExperimentModel& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId);
+  void send_getExperiment(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId);
+  void recv_getExperiment( ::apache::airavata::model::experiment::ExperimentModel& _return);
+  void getExperimentByAdmin( ::apache::airavata::model::experiment::ExperimentModel& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId);
+  void send_getExperimentByAdmin(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId);
   void recv_getExperimentByAdmin( ::apache::airavata::model::experiment::ExperimentModel& _return);
   void getDetailedExperimentTree( ::apache::airavata::model::experiment::ExperimentModel& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId);
   void send_getDetailedExperimentTree(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId);
@@ -27973,6 +28986,27 @@ class AiravataClient : virtual public AiravataIf {
   void getAllGroupsUserBelongs(std::vector< ::apache::airavata::model::group::GroupModel> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userName, const std::string& gatewayId);
   void send_getAllGroupsUserBelongs(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userName, const std::string& gatewayId);
   void recv_getAllGroupsUserBelongs(std::vector< ::apache::airavata::model::group::GroupModel> & _return);
+  void addUserProfile(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::user::UserProfile& userProfile);
+  void send_addUserProfile(const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::user::UserProfile& userProfile);
+  void recv_addUserProfile(std::string& _return);
+  bool updateUserProfile(const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::user::UserProfile& userProfile);
+  void send_updateUserProfile(const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::user::UserProfile& userProfile);
+  bool recv_updateUserProfile();
+  void getUserProfileById( ::apache::airavata::model::user::UserProfile& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userId, const std::string& gatewayId);
+  void send_getUserProfileById(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userId, const std::string& gatewayId);
+  void recv_getUserProfileById( ::apache::airavata::model::user::UserProfile& _return);
+  bool deleteUserProfile(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userId);
+  void send_deleteUserProfile(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userId);
+  bool recv_deleteUserProfile();
+  void getAllUserProfilesInGateway(std::vector< ::apache::airavata::model::user::UserProfile> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const int32_t offset, const int32_t limit);
+  void send_getAllUserProfilesInGateway(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const int32_t offset, const int32_t limit);
+  void recv_getAllUserProfilesInGateway(std::vector< ::apache::airavata::model::user::UserProfile> & _return);
+  void getUserProfileByName( ::apache::airavata::model::user::UserProfile& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userName, const std::string& gatewayId);
+  void send_getUserProfileByName(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userName, const std::string& gatewayId);
+  void recv_getUserProfileByName( ::apache::airavata::model::user::UserProfile& _return);
+  bool doesUserProfileExist(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userName, const std::string& gatewayId);
+  void send_doesUserProfileExist(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userName, const std::string& gatewayId);
+  bool recv_doesUserProfileExist();
  protected:
   boost::shared_ptr< ::apache::thrift::protocol::TProtocol> piprot_;
   boost::shared_ptr< ::apache::thrift::protocol::TProtocol> poprot_;
@@ -28157,6 +29191,13 @@ class AiravataProcessor : public ::apache::thrift::TDispatchProcessor {
   void process_deleteGroup(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
   void process_getGroup(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
   void process_getAllGroupsUserBelongs(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
+  void process_addUserProfile(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
+  void process_updateUserProfile(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
+  void process_getUserProfileById(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
+  void process_deleteUserProfile(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
+  void process_getAllUserProfilesInGateway(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
+  void process_getUserProfileByName(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
+  void process_doesUserProfileExist(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
  public:
   AiravataProcessor(boost::shared_ptr<AiravataIf> iface) :
     iface_(iface) {
@@ -28329,6 +29370,13 @@ class AiravataProcessor : public ::apache::thrift::TDispatchProcessor {
     processMap_["deleteGroup"] = &AiravataProcessor::process_deleteGroup;
     processMap_["getGroup"] = &AiravataProcessor::process_getGroup;
     processMap_["getAllGroupsUserBelongs"] = &AiravataProcessor::process_getAllGroupsUserBelongs;
+    processMap_["addUserProfile"] = &AiravataProcessor::process_addUserProfile;
+    processMap_["updateUserProfile"] = &AiravataProcessor::process_updateUserProfile;
+    processMap_["getUserProfileById"] = &AiravataProcessor::process_getUserProfileById;
+    processMap_["deleteUserProfile"] = &AiravataProcessor::process_deleteUserProfile;
+    processMap_["getAllUserProfilesInGateway"] = &AiravataProcessor::process_getAllUserProfilesInGateway;
+    processMap_["getUserProfileByName"] = &AiravataProcessor::process_getUserProfileByName;
+    processMap_["doesUserProfileExist"] = &AiravataProcessor::process_doesUserProfileExist;
   }
 
   virtual ~AiravataProcessor() {}
@@ -29979,6 +31027,73 @@ class AiravataMultiface : virtual public AiravataIf {
     return;
   }
 
+  void addUserProfile(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::user::UserProfile& userProfile) {
+    size_t sz = ifaces_.size();
+    size_t i = 0;
+    for (; i < (sz - 1); ++i) {
+      ifaces_[i]->addUserProfile(_return, authzToken, userProfile);
+    }
+    ifaces_[i]->addUserProfile(_return, authzToken, userProfile);
+    return;
+  }
+
+  bool updateUserProfile(const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::user::UserProfile& userProfile) {
+    size_t sz = ifaces_.size();
+    size_t i = 0;
+    for (; i < (sz - 1); ++i) {
+      ifaces_[i]->updateUserProfile(authzToken, userProfile);
+    }
+    return ifaces_[i]->updateUserProfile(authzToken, userProfile);
+  }
+
+  void getUserProfileById( ::apache::airavata::model::user::UserProfile& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userId, const std::string& gatewayId) {
+    size_t sz = ifaces_.size();
+    size_t i = 0;
+    for (; i < (sz - 1); ++i) {
+      ifaces_[i]->getUserProfileById(_return, authzToken, userId, gatewayId);
+    }
+    ifaces_[i]->getUserProfileById(_return, authzToken, userId, gatewayId);
+    return;
+  }
+
+  bool deleteUserProfile(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userId) {
+    size_t sz = ifaces_.size();
+    size_t i = 0;
+    for (; i < (sz - 1); ++i) {
+      ifaces_[i]->deleteUserProfile(authzToken, userId);
+    }
+    return ifaces_[i]->deleteUserProfile(authzToken, userId);
+  }
+
+  void getAllUserProfilesInGateway(std::vector< ::apache::airavata::model::user::UserProfile> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const int32_t offset, const int32_t limit) {
+    size_t sz = ifaces_.size();
+    size_t i = 0;
+    for (; i < (sz - 1); ++i) {
+      ifaces_[i]->getAllUserProfilesInGateway(_return, authzToken, gatewayId, offset, limit);
+    }
+    ifaces_[i]->getAllUserProfilesInGateway(_return, authzToken, gatewayId, offset, limit);
+    return;
+  }
+
+  void getUserProfileByName( ::apache::airavata::model::user::UserProfile& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userName, const std::string& gatewayId) {
+    size_t sz = ifaces_.size();
+    size_t i = 0;
+    for (; i < (sz - 1); ++i) {
+      ifaces_[i]->getUserProfileByName(_return, authzToken, userName, gatewayId);
+    }
+    ifaces_[i]->getUserProfileByName(_return, authzToken, userName, gatewayId);
+    return;
+  }
+
+  bool doesUserProfileExist(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userName, const std::string& gatewayId) {
+    size_t sz = ifaces_.size();
+    size_t i = 0;
+    for (; i < (sz - 1); ++i) {
+      ifaces_[i]->doesUserProfileExist(authzToken, userName, gatewayId);
+    }
+    return ifaces_[i]->doesUserProfileExist(authzToken, userName, gatewayId);
+  }
+
 };
 
 // The 'concurrent' client is a thread safe client that correctly handles
@@ -30516,6 +31631,27 @@ class AiravataConcurrentClient : virtual public AiravataIf {
   void getAllGroupsUserBelongs(std::vector< ::apache::airavata::model::group::GroupModel> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userName, const std::string& gatewayId);
   int32_t send_getAllGroupsUserBelongs(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userName, const std::string& gatewayId);
   void recv_getAllGroupsUserBelongs(std::vector< ::apache::airavata::model::group::GroupModel> & _return, const int32_t seqid);
+  void addUserProfile(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::user::UserProfile& userProfile);
+  int32_t send_addUserProfile(const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::user::UserProfile& userProfile);
+  void recv_addUserProfile(std::string& _return, const int32_t seqid);
+  bool updateUserProfile(const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::user::UserProfile& userProfile);
+  int32_t send_updateUserProfile(const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::user::UserProfile& userProfile);
+  bool recv_updateUserProfile(const int32_t seqid);
+  void getUserProfileById( ::apache::airavata::model::user::UserProfile& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userId, const std::string& gatewayId);
+  int32_t send_getUserProfileById(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userId, const std::string& gatewayId);
+  void recv_getUserProfileById( ::apache::airavata::model::user::UserProfile& _return, const int32_t seqid);
+  bool deleteUserProfile(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userId);
+  int32_t send_deleteUserProfile(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userId);
+  bool recv_deleteUserProfile(const int32_t seqid);
+  void getAllUserProfilesInGateway(std::vector< ::apache::airavata::model::user::UserProfile> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const int32_t offset, const int32_t limit);
+  int32_t send_getAllUserProfilesInGateway(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const int32_t offset, const int32_t limit);
+  void recv_getAllUserProfilesInGateway(std::vector< ::apache::airavata::model::user::UserProfile> & _return, const int32_t seqid);
+  void getUserProfileByName( ::apache::airavata::model::user::UserProfile& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userName, const std::string& gatewayId);
+  int32_t send_getUserProfileByName(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userName, const std::string& gatewayId);
+  void recv_getUserProfileByName( ::apache::airavata::model::user::UserProfile& _return, const int32_t seqid);
+  bool doesUserProfileExist(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userName, const std::string& gatewayId);
+  int32_t send_doesUserProfileExist(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userName, const std::string& gatewayId);
+  bool recv_doesUserProfileExist(const int32_t seqid);
  protected:
   boost::shared_ptr< ::apache::thrift::protocol::TProtocol> piprot_;
   boost::shared_ptr< ::apache::thrift::protocol::TProtocol> poprot_;

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp
index 6fbb294..4c913bb 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp
@@ -3511,6 +3511,41 @@ class AiravataHandler : virtual public AiravataIf {
     printf("getAllGroupsUserBelongs\n");
   }
 
+  void addUserProfile(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::user::UserProfile& userProfile) {
+    // Your implementation goes here
+    printf("addUserProfile\n");
+  }
+
+  bool updateUserProfile(const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::user::UserProfile& userProfile) {
+    // Your implementation goes here
+    printf("updateUserProfile\n");
+  }
+
+  void getUserProfileById( ::apache::airavata::model::user::UserProfile& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userId, const std::string& gatewayId) {
+    // Your implementation goes here
+    printf("getUserProfileById\n");
+  }
+
+  bool deleteUserProfile(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userId) {
+    // Your implementation goes here
+    printf("deleteUserProfile\n");
+  }
+
+  void getAllUserProfilesInGateway(std::vector< ::apache::airavata::model::user::UserProfile> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const int32_t offset, const int32_t limit) {
+    // Your implementation goes here
+    printf("getAllUserProfilesInGateway\n");
+  }
+
+  void getUserProfileByName( ::apache::airavata::model::user::UserProfile& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userName, const std::string& gatewayId) {
+    // Your implementation goes here
+    printf("getUserProfileByName\n");
+  }
+
+  bool doesUserProfileExist(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userName, const std::string& gatewayId) {
+    // Your implementation goes here
+    printf("doesUserProfileExist\n");
+  }
+
 };
 
 int main(int argc, char **argv) {

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_api_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_api_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_api_types.h
index 5175374..09cf96c 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_api_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_api_types.h
@@ -52,6 +52,7 @@
 #include "workflow_data_model_types.h"
 #include "replica_catalog_models_types.h"
 #include "group_manager_model_types.h"
+#include "user_profile_model_types.h"
 
 
 namespace apache { namespace airavata { namespace api {


[44/50] [abbrv] airavata git commit: AIRAVATA-2342 Simplifying resetUserPassword interface

Posted by sm...@apache.org.
AIRAVATA-2342 Simplifying resetUserPassword interface


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

Branch: refs/heads/registry-refactoring
Commit: 58ea1bfe780d7aaf34cabf886ca298d5e9b1c8ee
Parents: 940e0ba
Author: Marcus Christie <ma...@apache.org>
Authored: Fri May 12 16:39:33 2017 -0400
Committer: Marcus Christie <ma...@apache.org>
Committed: Fri May 12 16:40:37 2017 -0400

----------------------------------------------------------------------
 .../core/impl/TenantManagementKeycloakImpl.java |  24 +-
 .../interfaces/TenantManagementInterface.java   |   9 +-
 .../services/core/tests/SetupNewGateway.java    |  40 +--
 .../handlers/IamAdminServicesHandler.java       |   4 +-
 .../admin/services/cpi/IamAdminServices.java    | 274 +++++++++----------
 .../iam-admin-services-cpi.thrift               |   5 +-
 6 files changed, 178 insertions(+), 178 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/58ea1bfe/airavata-services/profile-service/iam-admin-services-core/src/main/java/org/apache/airavata/service/profile/iam/admin/services/core/impl/TenantManagementKeycloakImpl.java
----------------------------------------------------------------------
diff --git a/airavata-services/profile-service/iam-admin-services-core/src/main/java/org/apache/airavata/service/profile/iam/admin/services/core/impl/TenantManagementKeycloakImpl.java b/airavata-services/profile-service/iam-admin-services-core/src/main/java/org/apache/airavata/service/profile/iam/admin/services/core/impl/TenantManagementKeycloakImpl.java
index df0ecab..0d2e9a8 100644
--- a/airavata-services/profile-service/iam-admin-services-core/src/main/java/org/apache/airavata/service/profile/iam/admin/services/core/impl/TenantManagementKeycloakImpl.java
+++ b/airavata-services/profile-service/iam-admin-services-core/src/main/java/org/apache/airavata/service/profile/iam/admin/services/core/impl/TenantManagementKeycloakImpl.java
@@ -51,6 +51,16 @@ public class TenantManagementKeycloakImpl implements TenantManagementInterface {
                 "admin-cli"); // admin-cli is the client ID used for keycloak admin operations.
     }
 
+    private static Keycloak getClient(String adminUrl, String realm, String authToken) {
+
+        return Keycloak.getInstance(
+                adminUrl,
+                realm, // the realm to log in to
+                "admin-cli",
+                authToken // the realm admin's auth token
+            );
+    }
+
     @Override
     public Gateway addTenant(PasswordCredential isSuperAdminPasswordCreds, Gateway gatewayDetails) throws IamAdminServicesException {
         try {
@@ -268,17 +278,17 @@ public class TenantManagementKeycloakImpl implements TenantManagementInterface {
         }
     }
 
-    public boolean resetUserPassword(PasswordCredential realmAdminCreds, UserProfile userProfile, String newPassword) throws IamAdminServicesException{
+    public boolean resetUserPassword(String authToken, String tenantId, String username, String newPassword) throws IamAdminServicesException{
         try{
-            Keycloak client = TenantManagementKeycloakImpl.getClient(ServerSettings.getIamServerUrl(), userProfile.getGatewayId(), realmAdminCreds);
-            List<UserRepresentation> retrieveUserList = client.realm(userProfile.getGatewayId()).users().search(userProfile.getUserId(),
-                    userProfile.getFirstName(),
-                    userProfile.getLastName(),
-                    userProfile.getEmails().get(0),
+            Keycloak client = TenantManagementKeycloakImpl.getClient(ServerSettings.getIamServerUrl(), tenantId, authToken);
+            List<UserRepresentation> retrieveUserList = client.realm(tenantId).users().search(username,
+                    null,
+                    null,
+                    null,
                     0, 1);
             if(!retrieveUserList.isEmpty())
             {
-                UserResource retrievedUser = client.realm(userProfile.getGatewayId()).users().get(retrieveUserList.get(0).getId());
+                UserResource retrievedUser = client.realm(tenantId).users().get(retrieveUserList.get(0).getId());
                 CredentialRepresentation credential = new CredentialRepresentation();
                 credential.setType(CredentialRepresentation.PASSWORD);
                 credential.setValue(newPassword);

http://git-wip-us.apache.org/repos/asf/airavata/blob/58ea1bfe/airavata-services/profile-service/iam-admin-services-core/src/main/java/org/apache/airavata/service/profile/iam/admin/services/core/interfaces/TenantManagementInterface.java
----------------------------------------------------------------------
diff --git a/airavata-services/profile-service/iam-admin-services-core/src/main/java/org/apache/airavata/service/profile/iam/admin/services/core/interfaces/TenantManagementInterface.java b/airavata-services/profile-service/iam-admin-services-core/src/main/java/org/apache/airavata/service/profile/iam/admin/services/core/interfaces/TenantManagementInterface.java
index 95cad58..a7b61f3 100644
--- a/airavata-services/profile-service/iam-admin-services-core/src/main/java/org/apache/airavata/service/profile/iam/admin/services/core/interfaces/TenantManagementInterface.java
+++ b/airavata-services/profile-service/iam-admin-services-core/src/main/java/org/apache/airavata/service/profile/iam/admin/services/core/interfaces/TenantManagementInterface.java
@@ -79,12 +79,13 @@ public interface TenantManagementInterface {
     /**
      * Method to reset user password in Identity Server
      *
-     * @param realmAdminCreds identity server realm admin credentials
-     * @param userProfile set only available data in userProfile, ex: gatewayID (required), userId(optional) and email(required)
+     * @param authToken for realm admin
+     * @param tenantId
+     * @param username
      * @param newPassword
-     * @return Gateway object.
+     * @return boolean
      */
-    boolean resetUserPassword(PasswordCredential realmAdminCreds, UserProfile userProfile, String newPassword) throws IamAdminServicesException;
+    boolean resetUserPassword(String authToken, String tenantId, String username, String newPassword) throws IamAdminServicesException;
 
     /**
      * Method to find user in Identity Server

http://git-wip-us.apache.org/repos/asf/airavata/blob/58ea1bfe/airavata-services/profile-service/iam-admin-services-core/src/test/java/org/apache/airavata/service/profile/iam/admin/services/core/tests/SetupNewGateway.java
----------------------------------------------------------------------
diff --git a/airavata-services/profile-service/iam-admin-services-core/src/test/java/org/apache/airavata/service/profile/iam/admin/services/core/tests/SetupNewGateway.java b/airavata-services/profile-service/iam-admin-services-core/src/test/java/org/apache/airavata/service/profile/iam/admin/services/core/tests/SetupNewGateway.java
index 6ae81a6..e192569 100644
--- a/airavata-services/profile-service/iam-admin-services-core/src/test/java/org/apache/airavata/service/profile/iam/admin/services/core/tests/SetupNewGateway.java
+++ b/airavata-services/profile-service/iam-admin-services-core/src/test/java/org/apache/airavata/service/profile/iam/admin/services/core/tests/SetupNewGateway.java
@@ -72,26 +72,26 @@ public class SetupNewGateway {
          }
      }
 
-     public static void resetPassword(){
-         UserProfile user = new UserProfile();
-         user.setUserId("testuser");
-         List<String> emails = new ArrayList<>();
-         emails.add("some.man@outlook.com");
-         user.setGatewayId("maven.test.gateway");
-         user.setEmails(emails);
-         TenantManagementKeycloakImpl client = new TenantManagementKeycloakImpl();
-         try {
-             PasswordCredential tenantAdminCreds = new PasswordCredential();
-             tenantAdminCreds.setGatewayId(user.getGatewayId());
-             tenantAdminCreds.setDescription("test credentials for tenant admin creation");
-             tenantAdminCreds.setLoginUserName("mavenTest");
-             tenantAdminCreds.setPassword("Test@1234");
-             tenantAdminCreds.setPortalUserName("TenantAdmin");
-             client.resetUserPassword(tenantAdminCreds,user,"test@123");
-         } catch (IamAdminServicesException e) {
-             e.printStackTrace();
-         }
-     }
+//     public static void resetPassword(){
+//         UserProfile user = new UserProfile();
+//         user.setUserId("testuser");
+//         List<String> emails = new ArrayList<>();
+//         emails.add("some.man@outlook.com");
+//         user.setGatewayId("maven.test.gateway");
+//         user.setEmails(emails);
+//         TenantManagementKeycloakImpl client = new TenantManagementKeycloakImpl();
+//         try {
+//             PasswordCredential tenantAdminCreds = new PasswordCredential();
+//             tenantAdminCreds.setGatewayId(user.getGatewayId());
+//             tenantAdminCreds.setDescription("test credentials for tenant admin creation");
+//             tenantAdminCreds.setLoginUserName("mavenTest");
+//             tenantAdminCreds.setPassword("Test@1234");
+//             tenantAdminCreds.setPortalUserName("TenantAdmin");
+//             client.resetUserPassword(tenantAdminCreds,user,"test@123");
+//         } catch (IamAdminServicesException e) {
+//             e.printStackTrace();
+//         }
+//     }
 
      public static void findUser(){
          UserProfile user = new UserProfile();

http://git-wip-us.apache.org/repos/asf/airavata/blob/58ea1bfe/airavata-services/profile-service/profile-service-server/src/main/java/org/apache/airavata/service/profile/handlers/IamAdminServicesHandler.java
----------------------------------------------------------------------
diff --git a/airavata-services/profile-service/profile-service-server/src/main/java/org/apache/airavata/service/profile/handlers/IamAdminServicesHandler.java b/airavata-services/profile-service/profile-service-server/src/main/java/org/apache/airavata/service/profile/handlers/IamAdminServicesHandler.java
index b918968..e2abbbe 100644
--- a/airavata-services/profile-service/profile-service-server/src/main/java/org/apache/airavata/service/profile/handlers/IamAdminServicesHandler.java
+++ b/airavata-services/profile-service/profile-service-server/src/main/java/org/apache/airavata/service/profile/handlers/IamAdminServicesHandler.java
@@ -104,10 +104,10 @@ public class IamAdminServicesHandler implements IamAdminServices.Iface {
 
     @Override
     @SecurityCheck
-    public boolean resetUserPassword(AuthzToken authzToken, UserProfile userDetails, PasswordCredential isRealmAdminCredentials, String newPassword) throws IamAdminServicesException, AuthorizationException, TException {
+    public boolean resetUserPassword(AuthzToken authzToken, String tenantId, String username, String newPassword) throws IamAdminServicesException, AuthorizationException, TException {
         TenantManagementKeycloakImpl keycloakclient = new TenantManagementKeycloakImpl();
         try{
-            if(keycloakclient.resetUserPassword(isRealmAdminCredentials,userDetails,newPassword))
+            if(keycloakclient.resetUserPassword(authzToken.getAccessToken(), tenantId, username, newPassword))
                 return true;
             else
                 return false;

http://git-wip-us.apache.org/repos/asf/airavata/blob/58ea1bfe/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/iam/admin/services/cpi/IamAdminServices.java
----------------------------------------------------------------------
diff --git a/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/iam/admin/services/cpi/IamAdminServices.java b/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/iam/admin/services/cpi/IamAdminServices.java
index 9cbc825..ce4dc8f 100644
--- a/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/iam/admin/services/cpi/IamAdminServices.java
+++ b/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/iam/admin/services/cpi/IamAdminServices.java
@@ -63,7 +63,7 @@ public class IamAdminServices {
 
     public boolean enableUser(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.user.UserProfile userDetails, org.apache.airavata.model.credential.store.PasswordCredential isRealmAdminCredentials) throws org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
-    public boolean resetUserPassword(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.user.UserProfile userDetails, org.apache.airavata.model.credential.store.PasswordCredential isRealmAdminCredentials, String newPassword) throws org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
+    public boolean resetUserPassword(org.apache.airavata.model.security.AuthzToken authzToken, String tenantId, String username, String newPassword) throws org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     public List<org.apache.airavata.model.user.UserProfile> findUsers(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayID, String email, String userId, org.apache.airavata.model.credential.store.PasswordCredential isRealmAdminCredentials) throws org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
@@ -79,7 +79,7 @@ public class IamAdminServices {
 
     public void enableUser(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.user.UserProfile userDetails, org.apache.airavata.model.credential.store.PasswordCredential isRealmAdminCredentials, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void resetUserPassword(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.user.UserProfile userDetails, org.apache.airavata.model.credential.store.PasswordCredential isRealmAdminCredentials, String newPassword, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void resetUserPassword(org.apache.airavata.model.security.AuthzToken authzToken, String tenantId, String username, String newPassword, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
     public void findUsers(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayID, String email, String userId, org.apache.airavata.model.credential.store.PasswordCredential isRealmAdminCredentials, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
@@ -228,18 +228,18 @@ public class IamAdminServices {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "enableUser failed: unknown result");
     }
 
-    public boolean resetUserPassword(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.user.UserProfile userDetails, org.apache.airavata.model.credential.store.PasswordCredential isRealmAdminCredentials, String newPassword) throws org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
+    public boolean resetUserPassword(org.apache.airavata.model.security.AuthzToken authzToken, String tenantId, String username, String newPassword) throws org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
-      send_resetUserPassword(authzToken, userDetails, isRealmAdminCredentials, newPassword);
+      send_resetUserPassword(authzToken, tenantId, username, newPassword);
       return recv_resetUserPassword();
     }
 
-    public void send_resetUserPassword(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.user.UserProfile userDetails, org.apache.airavata.model.credential.store.PasswordCredential isRealmAdminCredentials, String newPassword) throws org.apache.thrift.TException
+    public void send_resetUserPassword(org.apache.airavata.model.security.AuthzToken authzToken, String tenantId, String username, String newPassword) throws org.apache.thrift.TException
     {
       resetUserPassword_args args = new resetUserPassword_args();
       args.setAuthzToken(authzToken);
-      args.setUserDetails(userDetails);
-      args.setIsRealmAdminCredentials(isRealmAdminCredentials);
+      args.setTenantId(tenantId);
+      args.setUsername(username);
       args.setNewPassword(newPassword);
       sendBase("resetUserPassword", args);
     }
@@ -460,23 +460,23 @@ public class IamAdminServices {
       }
     }
 
-    public void resetUserPassword(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.user.UserProfile userDetails, org.apache.airavata.model.credential.store.PasswordCredential isRealmAdminCredentials, String newPassword, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void resetUserPassword(org.apache.airavata.model.security.AuthzToken authzToken, String tenantId, String username, String newPassword, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      resetUserPassword_call method_call = new resetUserPassword_call(authzToken, userDetails, isRealmAdminCredentials, newPassword, resultHandler, this, ___protocolFactory, ___transport);
+      resetUserPassword_call method_call = new resetUserPassword_call(authzToken, tenantId, username, newPassword, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class resetUserPassword_call extends org.apache.thrift.async.TAsyncMethodCall {
       private org.apache.airavata.model.security.AuthzToken authzToken;
-      private org.apache.airavata.model.user.UserProfile userDetails;
-      private org.apache.airavata.model.credential.store.PasswordCredential isRealmAdminCredentials;
+      private String tenantId;
+      private String username;
       private String newPassword;
-      public resetUserPassword_call(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.user.UserProfile userDetails, org.apache.airavata.model.credential.store.PasswordCredential isRealmAdminCredentials, String newPassword, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      public resetUserPassword_call(org.apache.airavata.model.security.AuthzToken authzToken, String tenantId, String username, String newPassword, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
         this.authzToken = authzToken;
-        this.userDetails = userDetails;
-        this.isRealmAdminCredentials = isRealmAdminCredentials;
+        this.tenantId = tenantId;
+        this.username = username;
         this.newPassword = newPassword;
       }
 
@@ -484,8 +484,8 @@ public class IamAdminServices {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("resetUserPassword", org.apache.thrift.protocol.TMessageType.CALL, 0));
         resetUserPassword_args args = new resetUserPassword_args();
         args.setAuthzToken(authzToken);
-        args.setUserDetails(userDetails);
-        args.setIsRealmAdminCredentials(isRealmAdminCredentials);
+        args.setTenantId(tenantId);
+        args.setUsername(username);
         args.setNewPassword(newPassword);
         args.write(prot);
         prot.writeMessageEnd();
@@ -689,7 +689,7 @@ public class IamAdminServices {
       public resetUserPassword_result getResult(I iface, resetUserPassword_args args) throws org.apache.thrift.TException {
         resetUserPassword_result result = new resetUserPassword_result();
         try {
-          result.success = iface.resetUserPassword(args.authzToken, args.userDetails, args.isRealmAdminCredentials, args.newPassword);
+          result.success = iface.resetUserPassword(args.authzToken, args.tenantId, args.username, args.newPassword);
           result.setSuccessIsSet(true);
         } catch (org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException Idse) {
           result.Idse = Idse;
@@ -1057,7 +1057,7 @@ public class IamAdminServices {
       }
 
       public void start(I iface, resetUserPassword_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
-        iface.resetUserPassword(args.authzToken, args.userDetails, args.isRealmAdminCredentials, args.newPassword,resultHandler);
+        iface.resetUserPassword(args.authzToken, args.tenantId, args.username, args.newPassword,resultHandler);
       }
     }
 
@@ -5607,8 +5607,8 @@ public class IamAdminServices {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("resetUserPassword_args");
 
     private static final org.apache.thrift.protocol.TField AUTHZ_TOKEN_FIELD_DESC = new org.apache.thrift.protocol.TField("authzToken", org.apache.thrift.protocol.TType.STRUCT, (short)1);
-    private static final org.apache.thrift.protocol.TField USER_DETAILS_FIELD_DESC = new org.apache.thrift.protocol.TField("userDetails", org.apache.thrift.protocol.TType.STRUCT, (short)2);
-    private static final org.apache.thrift.protocol.TField IS_REALM_ADMIN_CREDENTIALS_FIELD_DESC = new org.apache.thrift.protocol.TField("isRealmAdminCredentials", org.apache.thrift.protocol.TType.STRUCT, (short)3);
+    private static final org.apache.thrift.protocol.TField TENANT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("tenantId", org.apache.thrift.protocol.TType.STRING, (short)2);
+    private static final org.apache.thrift.protocol.TField USERNAME_FIELD_DESC = new org.apache.thrift.protocol.TField("username", org.apache.thrift.protocol.TType.STRING, (short)3);
     private static final org.apache.thrift.protocol.TField NEW_PASSWORD_FIELD_DESC = new org.apache.thrift.protocol.TField("newPassword", org.apache.thrift.protocol.TType.STRING, (short)4);
 
     private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
@@ -5618,15 +5618,15 @@ public class IamAdminServices {
     }
 
     public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public org.apache.airavata.model.user.UserProfile userDetails; // required
-    public org.apache.airavata.model.credential.store.PasswordCredential isRealmAdminCredentials; // required
+    public String tenantId; // required
+    public String username; // required
     public String newPassword; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
       AUTHZ_TOKEN((short)1, "authzToken"),
-      USER_DETAILS((short)2, "userDetails"),
-      IS_REALM_ADMIN_CREDENTIALS((short)3, "isRealmAdminCredentials"),
+      TENANT_ID((short)2, "tenantId"),
+      USERNAME((short)3, "username"),
       NEW_PASSWORD((short)4, "newPassword");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
@@ -5644,10 +5644,10 @@ public class IamAdminServices {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
             return AUTHZ_TOKEN;
-          case 2: // USER_DETAILS
-            return USER_DETAILS;
-          case 3: // IS_REALM_ADMIN_CREDENTIALS
-            return IS_REALM_ADMIN_CREDENTIALS;
+          case 2: // TENANT_ID
+            return TENANT_ID;
+          case 3: // USERNAME
+            return USERNAME;
           case 4: // NEW_PASSWORD
             return NEW_PASSWORD;
           default:
@@ -5695,10 +5695,10 @@ public class IamAdminServices {
       Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
       tmpMap.put(_Fields.AUTHZ_TOKEN, new org.apache.thrift.meta_data.FieldMetaData("authzToken", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.security.AuthzToken.class)));
-      tmpMap.put(_Fields.USER_DETAILS, new org.apache.thrift.meta_data.FieldMetaData("userDetails", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.user.UserProfile.class)));
-      tmpMap.put(_Fields.IS_REALM_ADMIN_CREDENTIALS, new org.apache.thrift.meta_data.FieldMetaData("isRealmAdminCredentials", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.credential.store.PasswordCredential.class)));
+      tmpMap.put(_Fields.TENANT_ID, new org.apache.thrift.meta_data.FieldMetaData("tenantId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+      tmpMap.put(_Fields.USERNAME, new org.apache.thrift.meta_data.FieldMetaData("username", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
       tmpMap.put(_Fields.NEW_PASSWORD, new org.apache.thrift.meta_data.FieldMetaData("newPassword", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
       metaDataMap = Collections.unmodifiableMap(tmpMap);
@@ -5710,14 +5710,14 @@ public class IamAdminServices {
 
     public resetUserPassword_args(
       org.apache.airavata.model.security.AuthzToken authzToken,
-      org.apache.airavata.model.user.UserProfile userDetails,
-      org.apache.airavata.model.credential.store.PasswordCredential isRealmAdminCredentials,
+      String tenantId,
+      String username,
       String newPassword)
     {
       this();
       this.authzToken = authzToken;
-      this.userDetails = userDetails;
-      this.isRealmAdminCredentials = isRealmAdminCredentials;
+      this.tenantId = tenantId;
+      this.username = username;
       this.newPassword = newPassword;
     }
 
@@ -5728,11 +5728,11 @@ public class IamAdminServices {
       if (other.isSetAuthzToken()) {
         this.authzToken = new org.apache.airavata.model.security.AuthzToken(other.authzToken);
       }
-      if (other.isSetUserDetails()) {
-        this.userDetails = new org.apache.airavata.model.user.UserProfile(other.userDetails);
+      if (other.isSetTenantId()) {
+        this.tenantId = other.tenantId;
       }
-      if (other.isSetIsRealmAdminCredentials()) {
-        this.isRealmAdminCredentials = new org.apache.airavata.model.credential.store.PasswordCredential(other.isRealmAdminCredentials);
+      if (other.isSetUsername()) {
+        this.username = other.username;
       }
       if (other.isSetNewPassword()) {
         this.newPassword = other.newPassword;
@@ -5746,8 +5746,8 @@ public class IamAdminServices {
     @Override
     public void clear() {
       this.authzToken = null;
-      this.userDetails = null;
-      this.isRealmAdminCredentials = null;
+      this.tenantId = null;
+      this.username = null;
       this.newPassword = null;
     }
 
@@ -5775,51 +5775,51 @@ public class IamAdminServices {
       }
     }
 
-    public org.apache.airavata.model.user.UserProfile getUserDetails() {
-      return this.userDetails;
+    public String getTenantId() {
+      return this.tenantId;
     }
 
-    public resetUserPassword_args setUserDetails(org.apache.airavata.model.user.UserProfile userDetails) {
-      this.userDetails = userDetails;
+    public resetUserPassword_args setTenantId(String tenantId) {
+      this.tenantId = tenantId;
       return this;
     }
 
-    public void unsetUserDetails() {
-      this.userDetails = null;
+    public void unsetTenantId() {
+      this.tenantId = null;
     }
 
-    /** Returns true if field userDetails is set (has been assigned a value) and false otherwise */
-    public boolean isSetUserDetails() {
-      return this.userDetails != null;
+    /** Returns true if field tenantId is set (has been assigned a value) and false otherwise */
+    public boolean isSetTenantId() {
+      return this.tenantId != null;
     }
 
-    public void setUserDetailsIsSet(boolean value) {
+    public void setTenantIdIsSet(boolean value) {
       if (!value) {
-        this.userDetails = null;
+        this.tenantId = null;
       }
     }
 
-    public org.apache.airavata.model.credential.store.PasswordCredential getIsRealmAdminCredentials() {
-      return this.isRealmAdminCredentials;
+    public String getUsername() {
+      return this.username;
     }
 
-    public resetUserPassword_args setIsRealmAdminCredentials(org.apache.airavata.model.credential.store.PasswordCredential isRealmAdminCredentials) {
-      this.isRealmAdminCredentials = isRealmAdminCredentials;
+    public resetUserPassword_args setUsername(String username) {
+      this.username = username;
       return this;
     }
 
-    public void unsetIsRealmAdminCredentials() {
-      this.isRealmAdminCredentials = null;
+    public void unsetUsername() {
+      this.username = null;
     }
 
-    /** Returns true if field isRealmAdminCredentials is set (has been assigned a value) and false otherwise */
-    public boolean isSetIsRealmAdminCredentials() {
-      return this.isRealmAdminCredentials != null;
+    /** Returns true if field username is set (has been assigned a value) and false otherwise */
+    public boolean isSetUsername() {
+      return this.username != null;
     }
 
-    public void setIsRealmAdminCredentialsIsSet(boolean value) {
+    public void setUsernameIsSet(boolean value) {
       if (!value) {
-        this.isRealmAdminCredentials = null;
+        this.username = null;
       }
     }
 
@@ -5857,19 +5857,19 @@ public class IamAdminServices {
         }
         break;
 
-      case USER_DETAILS:
+      case TENANT_ID:
         if (value == null) {
-          unsetUserDetails();
+          unsetTenantId();
         } else {
-          setUserDetails((org.apache.airavata.model.user.UserProfile)value);
+          setTenantId((String)value);
         }
         break;
 
-      case IS_REALM_ADMIN_CREDENTIALS:
+      case USERNAME:
         if (value == null) {
-          unsetIsRealmAdminCredentials();
+          unsetUsername();
         } else {
-          setIsRealmAdminCredentials((org.apache.airavata.model.credential.store.PasswordCredential)value);
+          setUsername((String)value);
         }
         break;
 
@@ -5889,11 +5889,11 @@ public class IamAdminServices {
       case AUTHZ_TOKEN:
         return getAuthzToken();
 
-      case USER_DETAILS:
-        return getUserDetails();
+      case TENANT_ID:
+        return getTenantId();
 
-      case IS_REALM_ADMIN_CREDENTIALS:
-        return getIsRealmAdminCredentials();
+      case USERNAME:
+        return getUsername();
 
       case NEW_PASSWORD:
         return getNewPassword();
@@ -5911,10 +5911,10 @@ public class IamAdminServices {
       switch (field) {
       case AUTHZ_TOKEN:
         return isSetAuthzToken();
-      case USER_DETAILS:
-        return isSetUserDetails();
-      case IS_REALM_ADMIN_CREDENTIALS:
-        return isSetIsRealmAdminCredentials();
+      case TENANT_ID:
+        return isSetTenantId();
+      case USERNAME:
+        return isSetUsername();
       case NEW_PASSWORD:
         return isSetNewPassword();
       }
@@ -5943,21 +5943,21 @@ public class IamAdminServices {
           return false;
       }
 
-      boolean this_present_userDetails = true && this.isSetUserDetails();
-      boolean that_present_userDetails = true && that.isSetUserDetails();
-      if (this_present_userDetails || that_present_userDetails) {
-        if (!(this_present_userDetails && that_present_userDetails))
+      boolean this_present_tenantId = true && this.isSetTenantId();
+      boolean that_present_tenantId = true && that.isSetTenantId();
+      if (this_present_tenantId || that_present_tenantId) {
+        if (!(this_present_tenantId && that_present_tenantId))
           return false;
-        if (!this.userDetails.equals(that.userDetails))
+        if (!this.tenantId.equals(that.tenantId))
           return false;
       }
 
-      boolean this_present_isRealmAdminCredentials = true && this.isSetIsRealmAdminCredentials();
-      boolean that_present_isRealmAdminCredentials = true && that.isSetIsRealmAdminCredentials();
-      if (this_present_isRealmAdminCredentials || that_present_isRealmAdminCredentials) {
-        if (!(this_present_isRealmAdminCredentials && that_present_isRealmAdminCredentials))
+      boolean this_present_username = true && this.isSetUsername();
+      boolean that_present_username = true && that.isSetUsername();
+      if (this_present_username || that_present_username) {
+        if (!(this_present_username && that_present_username))
           return false;
-        if (!this.isRealmAdminCredentials.equals(that.isRealmAdminCredentials))
+        if (!this.username.equals(that.username))
           return false;
       }
 
@@ -5982,15 +5982,15 @@ public class IamAdminServices {
       if (present_authzToken)
         list.add(authzToken);
 
-      boolean present_userDetails = true && (isSetUserDetails());
-      list.add(present_userDetails);
-      if (present_userDetails)
-        list.add(userDetails);
+      boolean present_tenantId = true && (isSetTenantId());
+      list.add(present_tenantId);
+      if (present_tenantId)
+        list.add(tenantId);
 
-      boolean present_isRealmAdminCredentials = true && (isSetIsRealmAdminCredentials());
-      list.add(present_isRealmAdminCredentials);
-      if (present_isRealmAdminCredentials)
-        list.add(isRealmAdminCredentials);
+      boolean present_username = true && (isSetUsername());
+      list.add(present_username);
+      if (present_username)
+        list.add(username);
 
       boolean present_newPassword = true && (isSetNewPassword());
       list.add(present_newPassword);
@@ -6018,22 +6018,22 @@ public class IamAdminServices {
           return lastComparison;
         }
       }
-      lastComparison = Boolean.valueOf(isSetUserDetails()).compareTo(other.isSetUserDetails());
+      lastComparison = Boolean.valueOf(isSetTenantId()).compareTo(other.isSetTenantId());
       if (lastComparison != 0) {
         return lastComparison;
       }
-      if (isSetUserDetails()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.userDetails, other.userDetails);
+      if (isSetTenantId()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.tenantId, other.tenantId);
         if (lastComparison != 0) {
           return lastComparison;
         }
       }
-      lastComparison = Boolean.valueOf(isSetIsRealmAdminCredentials()).compareTo(other.isSetIsRealmAdminCredentials());
+      lastComparison = Boolean.valueOf(isSetUsername()).compareTo(other.isSetUsername());
       if (lastComparison != 0) {
         return lastComparison;
       }
-      if (isSetIsRealmAdminCredentials()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.isRealmAdminCredentials, other.isRealmAdminCredentials);
+      if (isSetUsername()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.username, other.username);
         if (lastComparison != 0) {
           return lastComparison;
         }
@@ -6076,19 +6076,19 @@ public class IamAdminServices {
       }
       first = false;
       if (!first) sb.append(", ");
-      sb.append("userDetails:");
-      if (this.userDetails == null) {
+      sb.append("tenantId:");
+      if (this.tenantId == null) {
         sb.append("null");
       } else {
-        sb.append(this.userDetails);
+        sb.append(this.tenantId);
       }
       first = false;
       if (!first) sb.append(", ");
-      sb.append("isRealmAdminCredentials:");
-      if (this.isRealmAdminCredentials == null) {
+      sb.append("username:");
+      if (this.username == null) {
         sb.append("null");
       } else {
-        sb.append(this.isRealmAdminCredentials);
+        sb.append(this.username);
       }
       first = false;
       if (!first) sb.append(", ");
@@ -6108,11 +6108,11 @@ public class IamAdminServices {
       if (authzToken == null) {
         throw new org.apache.thrift.protocol.TProtocolException("Required field 'authzToken' was not present! Struct: " + toString());
       }
-      if (userDetails == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'userDetails' was not present! Struct: " + toString());
+      if (tenantId == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'tenantId' was not present! Struct: " + toString());
       }
-      if (isRealmAdminCredentials == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'isRealmAdminCredentials' was not present! Struct: " + toString());
+      if (username == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'username' was not present! Struct: " + toString());
       }
       if (newPassword == null) {
         throw new org.apache.thrift.protocol.TProtocolException("Required field 'newPassword' was not present! Struct: " + toString());
@@ -6121,12 +6121,6 @@ public class IamAdminServices {
       if (authzToken != null) {
         authzToken.validate();
       }
-      if (userDetails != null) {
-        userDetails.validate();
-      }
-      if (isRealmAdminCredentials != null) {
-        isRealmAdminCredentials.validate();
-      }
     }
 
     private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
@@ -6172,20 +6166,18 @@ public class IamAdminServices {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 2: // USER_DETAILS
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.userDetails = new org.apache.airavata.model.user.UserProfile();
-                struct.userDetails.read(iprot);
-                struct.setUserDetailsIsSet(true);
+            case 2: // TENANT_ID
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                struct.tenantId = iprot.readString();
+                struct.setTenantIdIsSet(true);
               } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 3: // IS_REALM_ADMIN_CREDENTIALS
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.isRealmAdminCredentials = new org.apache.airavata.model.credential.store.PasswordCredential();
-                struct.isRealmAdminCredentials.read(iprot);
-                struct.setIsRealmAdminCredentialsIsSet(true);
+            case 3: // USERNAME
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                struct.username = iprot.readString();
+                struct.setUsernameIsSet(true);
               } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
@@ -6218,14 +6210,14 @@ public class IamAdminServices {
           struct.authzToken.write(oprot);
           oprot.writeFieldEnd();
         }
-        if (struct.userDetails != null) {
-          oprot.writeFieldBegin(USER_DETAILS_FIELD_DESC);
-          struct.userDetails.write(oprot);
+        if (struct.tenantId != null) {
+          oprot.writeFieldBegin(TENANT_ID_FIELD_DESC);
+          oprot.writeString(struct.tenantId);
           oprot.writeFieldEnd();
         }
-        if (struct.isRealmAdminCredentials != null) {
-          oprot.writeFieldBegin(IS_REALM_ADMIN_CREDENTIALS_FIELD_DESC);
-          struct.isRealmAdminCredentials.write(oprot);
+        if (struct.username != null) {
+          oprot.writeFieldBegin(USERNAME_FIELD_DESC);
+          oprot.writeString(struct.username);
           oprot.writeFieldEnd();
         }
         if (struct.newPassword != null) {
@@ -6251,8 +6243,8 @@ public class IamAdminServices {
       public void write(org.apache.thrift.protocol.TProtocol prot, resetUserPassword_args struct) throws org.apache.thrift.TException {
         TTupleProtocol oprot = (TTupleProtocol) prot;
         struct.authzToken.write(oprot);
-        struct.userDetails.write(oprot);
-        struct.isRealmAdminCredentials.write(oprot);
+        oprot.writeString(struct.tenantId);
+        oprot.writeString(struct.username);
         oprot.writeString(struct.newPassword);
       }
 
@@ -6262,12 +6254,10 @@ public class IamAdminServices {
         struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
         struct.authzToken.read(iprot);
         struct.setAuthzTokenIsSet(true);
-        struct.userDetails = new org.apache.airavata.model.user.UserProfile();
-        struct.userDetails.read(iprot);
-        struct.setUserDetailsIsSet(true);
-        struct.isRealmAdminCredentials = new org.apache.airavata.model.credential.store.PasswordCredential();
-        struct.isRealmAdminCredentials.read(iprot);
-        struct.setIsRealmAdminCredentialsIsSet(true);
+        struct.tenantId = iprot.readString();
+        struct.setTenantIdIsSet(true);
+        struct.username = iprot.readString();
+        struct.setUsernameIsSet(true);
         struct.newPassword = iprot.readString();
         struct.setNewPasswordIsSet(true);
       }

http://git-wip-us.apache.org/repos/asf/airavata/blob/58ea1bfe/thrift-interface-descriptions/service-cpis/profile-service/iam-admin-services/iam-admin-services-cpi.thrift
----------------------------------------------------------------------
diff --git a/thrift-interface-descriptions/service-cpis/profile-service/iam-admin-services/iam-admin-services-cpi.thrift b/thrift-interface-descriptions/service-cpis/profile-service/iam-admin-services/iam-admin-services-cpi.thrift
index 6803f16..fdb5493 100644
--- a/thrift-interface-descriptions/service-cpis/profile-service/iam-admin-services/iam-admin-services-cpi.thrift
+++ b/thrift-interface-descriptions/service-cpis/profile-service/iam-admin-services/iam-admin-services-cpi.thrift
@@ -62,10 +62,9 @@ service IamAdminServices {
                             throws (1: iam_admin_services_cpi_errors.IamAdminServicesException Idse,
                                                         2: airavata_errors.AuthorizationException ae)
 
-    /* set only available data in userProfile, ex: gatewayID (required), userId(optional) and email(required). */
     bool resetUserPassword(1: required security_model.AuthzToken authzToken,
-                            2: required user_profile_model.UserProfile userDetails
-                            3: required credential_store_data_models.PasswordCredential isRealmAdminCredentials
+                            2: required string tenantId,
+                            3: required string username,
                             4: required string newPassword)
                             throws (1: iam_admin_services_cpi_errors.IamAdminServicesException Idse,
                                                         2: airavata_errors.AuthorizationException ae)


[47/50] [abbrv] airavata git commit: making database level changes for supporting custom node/cpu/walltime configurations

Posted by sm...@apache.org.
making database level changes for supporting custom node/cpu/walltime configurations


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

Branch: refs/heads/registry-refactoring
Commit: 56bc4bee230fb3ba84d26d8965190c5ecfe1c66f
Parents: 58ea1bf
Author: scnakandala <su...@gmail.com>
Authored: Mon May 15 01:31:44 2017 -0400
Committer: scnakandala <su...@gmail.com>
Committed: Mon May 15 01:31:44 2017 -0400

----------------------------------------------------------------------
 .../main/resources/lib/airavata/Airavata.cpp    | 582 +------------------
 .../src/main/resources/lib/airavata/Airavata.h  | 192 +-----
 .../lib/airavata/Airavata_server.skeleton.cpp   |   7 +-
 .../application_deployment_model_types.cpp      |  24 +-
 .../application_deployment_model_types.h        |  12 +-
 .../airavata/compute_resource_model_types.cpp   |  88 +++
 .../lib/airavata/compute_resource_model_types.h |  36 +-
 .../lib/airavata/user_profile_model_types.cpp   |  80 +--
 .../lib/airavata/user_profile_model_types.h     |  12 +-
 .../resources/lib/Airavata/API/Airavata.php     | 466 +--------------
 .../Model/AppCatalog/AppDeployment/Types.php    |  25 +-
 .../Model/AppCatalog/ComputeResource/Types.php  |  92 +++
 .../resources/lib/Airavata/Model/User/Types.php | 109 ++--
 .../src/main/resources/lib/Types.php            |  13 +
 .../lib/apache/airavata/api/Airavata-remote     |   9 +-
 .../lib/apache/airavata/api/Airavata.py         | 341 +----------
 .../model/appcatalog/appdeployment/ttypes.py    |  19 +-
 .../model/appcatalog/computeresource/ttypes.py  |  54 +-
 .../lib/apache/airavata/model/user/ttypes.py    | 103 ++--
 .../ApplicationDeploymentDescription.java       | 117 +++-
 .../ComputeResourceDescription.java             | 404 ++++++++++++-
 .../catalog/model/ApplicationDeployment.java    |  10 +
 .../core/app/catalog/model/ComputeResource.java |  44 ++
 .../resources/AppDeploymentResource.java        |  11 +
 .../resources/ComputeResourceResource.java      |  42 +-
 .../src/main/resources/appcatalog-derby.sql     |   5 +
 .../src/main/resources/appcatalog-mysql.sql     |   5 +
 .../application_deployment_model.thrift         |   3 +-
 .../compute_resource_model.thrift               |   6 +-
 29 files changed, 1169 insertions(+), 1742 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/56bc4bee/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp
index 9e1f1da..32c0d51 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp
@@ -54404,314 +54404,6 @@ uint32_t Airavata_getAllUserProfilesInGateway_presult::read(::apache::thrift::pr
 }
 
 
-Airavata_getUserProfileByName_args::~Airavata_getUserProfileByName_args() throw() {
-}
-
-
-uint32_t Airavata_getUserProfileByName_args::read(::apache::thrift::protocol::TProtocol* iprot) {
-
-  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
-  uint32_t xfer = 0;
-  std::string fname;
-  ::apache::thrift::protocol::TType ftype;
-  int16_t fid;
-
-  xfer += iprot->readStructBegin(fname);
-
-  using ::apache::thrift::protocol::TProtocolException;
-
-  bool isset_authzToken = false;
-  bool isset_userName = false;
-  bool isset_gatewayId = false;
-
-  while (true)
-  {
-    xfer += iprot->readFieldBegin(fname, ftype, fid);
-    if (ftype == ::apache::thrift::protocol::T_STOP) {
-      break;
-    }
-    switch (fid)
-    {
-      case 1:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->authzToken.read(iprot);
-          isset_authzToken = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 2:
-        if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->userName);
-          isset_userName = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 3:
-        if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->gatewayId);
-          isset_gatewayId = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      default:
-        xfer += iprot->skip(ftype);
-        break;
-    }
-    xfer += iprot->readFieldEnd();
-  }
-
-  xfer += iprot->readStructEnd();
-
-  if (!isset_authzToken)
-    throw TProtocolException(TProtocolException::INVALID_DATA);
-  if (!isset_userName)
-    throw TProtocolException(TProtocolException::INVALID_DATA);
-  if (!isset_gatewayId)
-    throw TProtocolException(TProtocolException::INVALID_DATA);
-  return xfer;
-}
-
-uint32_t Airavata_getUserProfileByName_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
-  xfer += oprot->writeStructBegin("Airavata_getUserProfileByName_args");
-
-  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
-  xfer += this->authzToken.write(oprot);
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 2);
-  xfer += oprot->writeString(this->userName);
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 3);
-  xfer += oprot->writeString(this->gatewayId);
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-
-Airavata_getUserProfileByName_pargs::~Airavata_getUserProfileByName_pargs() throw() {
-}
-
-
-uint32_t Airavata_getUserProfileByName_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
-  xfer += oprot->writeStructBegin("Airavata_getUserProfileByName_pargs");
-
-  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
-  xfer += (*(this->authzToken)).write(oprot);
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 2);
-  xfer += oprot->writeString((*(this->userName)));
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 3);
-  xfer += oprot->writeString((*(this->gatewayId)));
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-
-Airavata_getUserProfileByName_result::~Airavata_getUserProfileByName_result() throw() {
-}
-
-
-uint32_t Airavata_getUserProfileByName_result::read(::apache::thrift::protocol::TProtocol* iprot) {
-
-  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
-  uint32_t xfer = 0;
-  std::string fname;
-  ::apache::thrift::protocol::TType ftype;
-  int16_t fid;
-
-  xfer += iprot->readStructBegin(fname);
-
-  using ::apache::thrift::protocol::TProtocolException;
-
-
-  while (true)
-  {
-    xfer += iprot->readFieldBegin(fname, ftype, fid);
-    if (ftype == ::apache::thrift::protocol::T_STOP) {
-      break;
-    }
-    switch (fid)
-    {
-      case 0:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->success.read(iprot);
-          this->__isset.success = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 1:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->ire.read(iprot);
-          this->__isset.ire = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 2:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->ace.read(iprot);
-          this->__isset.ace = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 3:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->ase.read(iprot);
-          this->__isset.ase = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 4:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->ae.read(iprot);
-          this->__isset.ae = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      default:
-        xfer += iprot->skip(ftype);
-        break;
-    }
-    xfer += iprot->readFieldEnd();
-  }
-
-  xfer += iprot->readStructEnd();
-
-  return xfer;
-}
-
-uint32_t Airavata_getUserProfileByName_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
-
-  uint32_t xfer = 0;
-
-  xfer += oprot->writeStructBegin("Airavata_getUserProfileByName_result");
-
-  if (this->__isset.success) {
-    xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_STRUCT, 0);
-    xfer += this->success.write(oprot);
-    xfer += oprot->writeFieldEnd();
-  } else if (this->__isset.ire) {
-    xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
-    xfer += this->ire.write(oprot);
-    xfer += oprot->writeFieldEnd();
-  } else if (this->__isset.ace) {
-    xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
-    xfer += this->ace.write(oprot);
-    xfer += oprot->writeFieldEnd();
-  } else if (this->__isset.ase) {
-    xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
-    xfer += this->ase.write(oprot);
-    xfer += oprot->writeFieldEnd();
-  } else if (this->__isset.ae) {
-    xfer += oprot->writeFieldBegin("ae", ::apache::thrift::protocol::T_STRUCT, 4);
-    xfer += this->ae.write(oprot);
-    xfer += oprot->writeFieldEnd();
-  }
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-
-Airavata_getUserProfileByName_presult::~Airavata_getUserProfileByName_presult() throw() {
-}
-
-
-uint32_t Airavata_getUserProfileByName_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
-
-  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
-  uint32_t xfer = 0;
-  std::string fname;
-  ::apache::thrift::protocol::TType ftype;
-  int16_t fid;
-
-  xfer += iprot->readStructBegin(fname);
-
-  using ::apache::thrift::protocol::TProtocolException;
-
-
-  while (true)
-  {
-    xfer += iprot->readFieldBegin(fname, ftype, fid);
-    if (ftype == ::apache::thrift::protocol::T_STOP) {
-      break;
-    }
-    switch (fid)
-    {
-      case 0:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += (*(this->success)).read(iprot);
-          this->__isset.success = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 1:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->ire.read(iprot);
-          this->__isset.ire = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 2:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->ace.read(iprot);
-          this->__isset.ace = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 3:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->ase.read(iprot);
-          this->__isset.ase = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 4:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->ae.read(iprot);
-          this->__isset.ae = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      default:
-        xfer += iprot->skip(ftype);
-        break;
-    }
-    xfer += iprot->readFieldEnd();
-  }
-
-  xfer += iprot->readStructEnd();
-
-  return xfer;
-}
-
-
 Airavata_doesUserProfileExist_args::~Airavata_doesUserProfileExist_args() throw() {
 }
 
@@ -54729,7 +54421,7 @@ uint32_t Airavata_doesUserProfileExist_args::read(::apache::thrift::protocol::TP
   using ::apache::thrift::protocol::TProtocolException;
 
   bool isset_authzToken = false;
-  bool isset_userName = false;
+  bool isset_userId = false;
   bool isset_gatewayId = false;
 
   while (true)
@@ -54750,8 +54442,8 @@ uint32_t Airavata_doesUserProfileExist_args::read(::apache::thrift::protocol::TP
         break;
       case 2:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->userName);
-          isset_userName = true;
+          xfer += iprot->readString(this->userId);
+          isset_userId = true;
         } else {
           xfer += iprot->skip(ftype);
         }
@@ -54775,7 +54467,7 @@ uint32_t Airavata_doesUserProfileExist_args::read(::apache::thrift::protocol::TP
 
   if (!isset_authzToken)
     throw TProtocolException(TProtocolException::INVALID_DATA);
-  if (!isset_userName)
+  if (!isset_userId)
     throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_gatewayId)
     throw TProtocolException(TProtocolException::INVALID_DATA);
@@ -54791,8 +54483,8 @@ uint32_t Airavata_doesUserProfileExist_args::write(::apache::thrift::protocol::T
   xfer += this->authzToken.write(oprot);
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 2);
-  xfer += oprot->writeString(this->userName);
+  xfer += oprot->writeFieldBegin("userId", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString(this->userId);
   xfer += oprot->writeFieldEnd();
 
   xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 3);
@@ -54818,8 +54510,8 @@ uint32_t Airavata_doesUserProfileExist_pargs::write(::apache::thrift::protocol::
   xfer += (*(this->authzToken)).write(oprot);
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 2);
-  xfer += oprot->writeString((*(this->userName)));
+  xfer += oprot->writeFieldBegin("userId", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString((*(this->userId)));
   xfer += oprot->writeFieldEnd();
 
   xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 3);
@@ -67491,92 +67183,20 @@ void AiravataClient::recv_getAllUserProfilesInGateway(std::vector< ::apache::air
   throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "getAllUserProfilesInGateway failed: unknown result");
 }
 
-void AiravataClient::getUserProfileByName( ::apache::airavata::model::user::UserProfile& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userName, const std::string& gatewayId)
-{
-  send_getUserProfileByName(authzToken, userName, gatewayId);
-  recv_getUserProfileByName(_return);
-}
-
-void AiravataClient::send_getUserProfileByName(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userName, const std::string& gatewayId)
-{
-  int32_t cseqid = 0;
-  oprot_->writeMessageBegin("getUserProfileByName", ::apache::thrift::protocol::T_CALL, cseqid);
-
-  Airavata_getUserProfileByName_pargs args;
-  args.authzToken = &authzToken;
-  args.userName = &userName;
-  args.gatewayId = &gatewayId;
-  args.write(oprot_);
-
-  oprot_->writeMessageEnd();
-  oprot_->getTransport()->writeEnd();
-  oprot_->getTransport()->flush();
-}
-
-void AiravataClient::recv_getUserProfileByName( ::apache::airavata::model::user::UserProfile& _return)
+bool AiravataClient::doesUserProfileExist(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userId, const std::string& gatewayId)
 {
-
-  int32_t rseqid = 0;
-  std::string fname;
-  ::apache::thrift::protocol::TMessageType mtype;
-
-  iprot_->readMessageBegin(fname, mtype, rseqid);
-  if (mtype == ::apache::thrift::protocol::T_EXCEPTION) {
-    ::apache::thrift::TApplicationException x;
-    x.read(iprot_);
-    iprot_->readMessageEnd();
-    iprot_->getTransport()->readEnd();
-    throw x;
-  }
-  if (mtype != ::apache::thrift::protocol::T_REPLY) {
-    iprot_->skip(::apache::thrift::protocol::T_STRUCT);
-    iprot_->readMessageEnd();
-    iprot_->getTransport()->readEnd();
-  }
-  if (fname.compare("getUserProfileByName") != 0) {
-    iprot_->skip(::apache::thrift::protocol::T_STRUCT);
-    iprot_->readMessageEnd();
-    iprot_->getTransport()->readEnd();
-  }
-  Airavata_getUserProfileByName_presult result;
-  result.success = &_return;
-  result.read(iprot_);
-  iprot_->readMessageEnd();
-  iprot_->getTransport()->readEnd();
-
-  if (result.__isset.success) {
-    // _return pointer has now been filled
-    return;
-  }
-  if (result.__isset.ire) {
-    throw result.ire;
-  }
-  if (result.__isset.ace) {
-    throw result.ace;
-  }
-  if (result.__isset.ase) {
-    throw result.ase;
-  }
-  if (result.__isset.ae) {
-    throw result.ae;
-  }
-  throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "getUserProfileByName failed: unknown result");
-}
-
-bool AiravataClient::doesUserProfileExist(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userName, const std::string& gatewayId)
-{
-  send_doesUserProfileExist(authzToken, userName, gatewayId);
+  send_doesUserProfileExist(authzToken, userId, gatewayId);
   return recv_doesUserProfileExist();
 }
 
-void AiravataClient::send_doesUserProfileExist(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userName, const std::string& gatewayId)
+void AiravataClient::send_doesUserProfileExist(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userId, const std::string& gatewayId)
 {
   int32_t cseqid = 0;
   oprot_->writeMessageBegin("doesUserProfileExist", ::apache::thrift::protocol::T_CALL, cseqid);
 
   Airavata_doesUserProfileExist_pargs args;
   args.authzToken = &authzToken;
-  args.userName = &userName;
+  args.userId = &userId;
   args.gatewayId = &gatewayId;
   args.write(oprot_);
 
@@ -79145,72 +78765,6 @@ void AiravataProcessor::process_getAllUserProfilesInGateway(int32_t seqid, ::apa
   }
 }
 
-void AiravataProcessor::process_getUserProfileByName(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext)
-{
-  void* ctx = NULL;
-  if (this->eventHandler_.get() != NULL) {
-    ctx = this->eventHandler_->getContext("Airavata.getUserProfileByName", callContext);
-  }
-  ::apache::thrift::TProcessorContextFreer freer(this->eventHandler_.get(), ctx, "Airavata.getUserProfileByName");
-
-  if (this->eventHandler_.get() != NULL) {
-    this->eventHandler_->preRead(ctx, "Airavata.getUserProfileByName");
-  }
-
-  Airavata_getUserProfileByName_args args;
-  args.read(iprot);
-  iprot->readMessageEnd();
-  uint32_t bytes = iprot->getTransport()->readEnd();
-
-  if (this->eventHandler_.get() != NULL) {
-    this->eventHandler_->postRead(ctx, "Airavata.getUserProfileByName", bytes);
-  }
-
-  Airavata_getUserProfileByName_result result;
-  try {
-    iface_->getUserProfileByName(result.success, args.authzToken, args.userName, args.gatewayId);
-    result.__isset.success = true;
-  } catch ( ::apache::airavata::api::error::InvalidRequestException &ire) {
-    result.ire = ire;
-    result.__isset.ire = true;
-  } catch ( ::apache::airavata::api::error::AiravataClientException &ace) {
-    result.ace = ace;
-    result.__isset.ace = true;
-  } catch ( ::apache::airavata::api::error::AiravataSystemException &ase) {
-    result.ase = ase;
-    result.__isset.ase = true;
-  } catch ( ::apache::airavata::api::error::AuthorizationException &ae) {
-    result.ae = ae;
-    result.__isset.ae = true;
-  } catch (const std::exception& e) {
-    if (this->eventHandler_.get() != NULL) {
-      this->eventHandler_->handlerError(ctx, "Airavata.getUserProfileByName");
-    }
-
-    ::apache::thrift::TApplicationException x(e.what());
-    oprot->writeMessageBegin("getUserProfileByName", ::apache::thrift::protocol::T_EXCEPTION, seqid);
-    x.write(oprot);
-    oprot->writeMessageEnd();
-    oprot->getTransport()->writeEnd();
-    oprot->getTransport()->flush();
-    return;
-  }
-
-  if (this->eventHandler_.get() != NULL) {
-    this->eventHandler_->preWrite(ctx, "Airavata.getUserProfileByName");
-  }
-
-  oprot->writeMessageBegin("getUserProfileByName", ::apache::thrift::protocol::T_REPLY, seqid);
-  result.write(oprot);
-  oprot->writeMessageEnd();
-  bytes = oprot->getTransport()->writeEnd();
-  oprot->getTransport()->flush();
-
-  if (this->eventHandler_.get() != NULL) {
-    this->eventHandler_->postWrite(ctx, "Airavata.getUserProfileByName", bytes);
-  }
-}
-
 void AiravataProcessor::process_doesUserProfileExist(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext)
 {
   void* ctx = NULL;
@@ -79234,7 +78788,7 @@ void AiravataProcessor::process_doesUserProfileExist(int32_t seqid, ::apache::th
 
   Airavata_doesUserProfileExist_result result;
   try {
-    result.success = iface_->doesUserProfileExist(args.authzToken, args.userName, args.gatewayId);
+    result.success = iface_->doesUserProfileExist(args.authzToken, args.userId, args.gatewayId);
     result.__isset.success = true;
   } catch ( ::apache::airavata::api::error::InvalidRequestException &ire) {
     result.ire = ire;
@@ -96973,115 +96527,13 @@ void AiravataConcurrentClient::recv_getAllUserProfilesInGateway(std::vector< ::a
   } // end while(true)
 }
 
-void AiravataConcurrentClient::getUserProfileByName( ::apache::airavata::model::user::UserProfile& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userName, const std::string& gatewayId)
-{
-  int32_t seqid = send_getUserProfileByName(authzToken, userName, gatewayId);
-  recv_getUserProfileByName(_return, seqid);
-}
-
-int32_t AiravataConcurrentClient::send_getUserProfileByName(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userName, const std::string& gatewayId)
-{
-  int32_t cseqid = this->sync_.generateSeqId();
-  ::apache::thrift::async::TConcurrentSendSentry sentry(&this->sync_);
-  oprot_->writeMessageBegin("getUserProfileByName", ::apache::thrift::protocol::T_CALL, cseqid);
-
-  Airavata_getUserProfileByName_pargs args;
-  args.authzToken = &authzToken;
-  args.userName = &userName;
-  args.gatewayId = &gatewayId;
-  args.write(oprot_);
-
-  oprot_->writeMessageEnd();
-  oprot_->getTransport()->writeEnd();
-  oprot_->getTransport()->flush();
-
-  sentry.commit();
-  return cseqid;
-}
-
-void AiravataConcurrentClient::recv_getUserProfileByName( ::apache::airavata::model::user::UserProfile& _return, const int32_t seqid)
-{
-
-  int32_t rseqid = 0;
-  std::string fname;
-  ::apache::thrift::protocol::TMessageType mtype;
-
-  // the read mutex gets dropped and reacquired as part of waitForWork()
-  // The destructor of this sentry wakes up other clients
-  ::apache::thrift::async::TConcurrentRecvSentry sentry(&this->sync_, seqid);
-
-  while(true) {
-    if(!this->sync_.getPending(fname, mtype, rseqid)) {
-      iprot_->readMessageBegin(fname, mtype, rseqid);
-    }
-    if(seqid == rseqid) {
-      if (mtype == ::apache::thrift::protocol::T_EXCEPTION) {
-        ::apache::thrift::TApplicationException x;
-        x.read(iprot_);
-        iprot_->readMessageEnd();
-        iprot_->getTransport()->readEnd();
-        sentry.commit();
-        throw x;
-      }
-      if (mtype != ::apache::thrift::protocol::T_REPLY) {
-        iprot_->skip(::apache::thrift::protocol::T_STRUCT);
-        iprot_->readMessageEnd();
-        iprot_->getTransport()->readEnd();
-      }
-      if (fname.compare("getUserProfileByName") != 0) {
-        iprot_->skip(::apache::thrift::protocol::T_STRUCT);
-        iprot_->readMessageEnd();
-        iprot_->getTransport()->readEnd();
-
-        // in a bad state, don't commit
-        using ::apache::thrift::protocol::TProtocolException;
-        throw TProtocolException(TProtocolException::INVALID_DATA);
-      }
-      Airavata_getUserProfileByName_presult result;
-      result.success = &_return;
-      result.read(iprot_);
-      iprot_->readMessageEnd();
-      iprot_->getTransport()->readEnd();
-
-      if (result.__isset.success) {
-        // _return pointer has now been filled
-        sentry.commit();
-        return;
-      }
-      if (result.__isset.ire) {
-        sentry.commit();
-        throw result.ire;
-      }
-      if (result.__isset.ace) {
-        sentry.commit();
-        throw result.ace;
-      }
-      if (result.__isset.ase) {
-        sentry.commit();
-        throw result.ase;
-      }
-      if (result.__isset.ae) {
-        sentry.commit();
-        throw result.ae;
-      }
-      // in a bad state, don't commit
-      throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "getUserProfileByName failed: unknown result");
-    }
-    // seqid != rseqid
-    this->sync_.updatePending(fname, mtype, rseqid);
-
-    // this will temporarily unlock the readMutex, and let other clients get work done
-    this->sync_.waitForWork(seqid);
-  } // end while(true)
-}
-
-bool AiravataConcurrentClient::doesUserProfileExist(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userName, const std::string& gatewayId)
+bool AiravataConcurrentClient::doesUserProfileExist(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userId, const std::string& gatewayId)
 {
-  int32_t seqid = send_doesUserProfileExist(authzToken, userName, gatewayId);
+  int32_t seqid = send_doesUserProfileExist(authzToken, userId, gatewayId);
   return recv_doesUserProfileExist(seqid);
 }
 
-int32_t AiravataConcurrentClient::send_doesUserProfileExist(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userName, const std::string& gatewayId)
+int32_t AiravataConcurrentClient::send_doesUserProfileExist(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userId, const std::string& gatewayId)
 {
   int32_t cseqid = this->sync_.generateSeqId();
   ::apache::thrift::async::TConcurrentSendSentry sentry(&this->sync_);
@@ -97089,7 +96541,7 @@ int32_t AiravataConcurrentClient::send_doesUserProfileExist(const  ::apache::air
 
   Airavata_doesUserProfileExist_pargs args;
   args.authzToken = &authzToken;
-  args.userName = &userName;
+  args.userId = &userId;
   args.gatewayId = &gatewayId;
   args.write(oprot_);
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/56bc4bee/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
index 1e19e96..7357df3 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
@@ -2978,8 +2978,7 @@ class AiravataIf {
   virtual void getUserProfileById( ::apache::airavata::model::user::UserProfile& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userId, const std::string& gatewayId) = 0;
   virtual bool deleteUserProfile(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userId) = 0;
   virtual void getAllUserProfilesInGateway(std::vector< ::apache::airavata::model::user::UserProfile> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const int32_t offset, const int32_t limit) = 0;
-  virtual void getUserProfileByName( ::apache::airavata::model::user::UserProfile& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userName, const std::string& gatewayId) = 0;
-  virtual bool doesUserProfileExist(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userName, const std::string& gatewayId) = 0;
+  virtual bool doesUserProfileExist(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userId, const std::string& gatewayId) = 0;
 };
 
 class AiravataIfFactory {
@@ -3593,10 +3592,7 @@ class AiravataNull : virtual public AiravataIf {
   void getAllUserProfilesInGateway(std::vector< ::apache::airavata::model::user::UserProfile> & /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* gatewayId */, const int32_t /* offset */, const int32_t /* limit */) {
     return;
   }
-  void getUserProfileByName( ::apache::airavata::model::user::UserProfile& /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* userName */, const std::string& /* gatewayId */) {
-    return;
-  }
-  bool doesUserProfileExist(const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* userName */, const std::string& /* gatewayId */) {
+  bool doesUserProfileExist(const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* userId */, const std::string& /* gatewayId */) {
     bool _return = false;
     return _return;
   }
@@ -28171,164 +28167,22 @@ class Airavata_getAllUserProfilesInGateway_presult {
 };
 
 
-class Airavata_getUserProfileByName_args {
- public:
-
-  Airavata_getUserProfileByName_args(const Airavata_getUserProfileByName_args&);
-  Airavata_getUserProfileByName_args& operator=(const Airavata_getUserProfileByName_args&);
-  Airavata_getUserProfileByName_args() : userName(), gatewayId() {
-  }
-
-  virtual ~Airavata_getUserProfileByName_args() throw();
-   ::apache::airavata::model::security::AuthzToken authzToken;
-  std::string userName;
-  std::string gatewayId;
-
-  void __set_authzToken(const  ::apache::airavata::model::security::AuthzToken& val);
-
-  void __set_userName(const std::string& val);
-
-  void __set_gatewayId(const std::string& val);
-
-  bool operator == (const Airavata_getUserProfileByName_args & rhs) const
-  {
-    if (!(authzToken == rhs.authzToken))
-      return false;
-    if (!(userName == rhs.userName))
-      return false;
-    if (!(gatewayId == rhs.gatewayId))
-      return false;
-    return true;
-  }
-  bool operator != (const Airavata_getUserProfileByName_args &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const Airavata_getUserProfileByName_args & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class Airavata_getUserProfileByName_pargs {
- public:
-
-
-  virtual ~Airavata_getUserProfileByName_pargs() throw();
-  const  ::apache::airavata::model::security::AuthzToken* authzToken;
-  const std::string* userName;
-  const std::string* gatewayId;
-
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_getUserProfileByName_result__isset {
-  _Airavata_getUserProfileByName_result__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
-  bool success :1;
-  bool ire :1;
-  bool ace :1;
-  bool ase :1;
-  bool ae :1;
-} _Airavata_getUserProfileByName_result__isset;
-
-class Airavata_getUserProfileByName_result {
- public:
-
-  Airavata_getUserProfileByName_result(const Airavata_getUserProfileByName_result&);
-  Airavata_getUserProfileByName_result& operator=(const Airavata_getUserProfileByName_result&);
-  Airavata_getUserProfileByName_result() {
-  }
-
-  virtual ~Airavata_getUserProfileByName_result() throw();
-   ::apache::airavata::model::user::UserProfile success;
-   ::apache::airavata::api::error::InvalidRequestException ire;
-   ::apache::airavata::api::error::AiravataClientException ace;
-   ::apache::airavata::api::error::AiravataSystemException ase;
-   ::apache::airavata::api::error::AuthorizationException ae;
-
-  _Airavata_getUserProfileByName_result__isset __isset;
-
-  void __set_success(const  ::apache::airavata::model::user::UserProfile& val);
-
-  void __set_ire(const  ::apache::airavata::api::error::InvalidRequestException& val);
-
-  void __set_ace(const  ::apache::airavata::api::error::AiravataClientException& val);
-
-  void __set_ase(const  ::apache::airavata::api::error::AiravataSystemException& val);
-
-  void __set_ae(const  ::apache::airavata::api::error::AuthorizationException& val);
-
-  bool operator == (const Airavata_getUserProfileByName_result & rhs) const
-  {
-    if (!(success == rhs.success))
-      return false;
-    if (!(ire == rhs.ire))
-      return false;
-    if (!(ace == rhs.ace))
-      return false;
-    if (!(ase == rhs.ase))
-      return false;
-    if (!(ae == rhs.ae))
-      return false;
-    return true;
-  }
-  bool operator != (const Airavata_getUserProfileByName_result &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const Airavata_getUserProfileByName_result & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_getUserProfileByName_presult__isset {
-  _Airavata_getUserProfileByName_presult__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
-  bool success :1;
-  bool ire :1;
-  bool ace :1;
-  bool ase :1;
-  bool ae :1;
-} _Airavata_getUserProfileByName_presult__isset;
-
-class Airavata_getUserProfileByName_presult {
- public:
-
-
-  virtual ~Airavata_getUserProfileByName_presult() throw();
-   ::apache::airavata::model::user::UserProfile* success;
-   ::apache::airavata::api::error::InvalidRequestException ire;
-   ::apache::airavata::api::error::AiravataClientException ace;
-   ::apache::airavata::api::error::AiravataSystemException ase;
-   ::apache::airavata::api::error::AuthorizationException ae;
-
-  _Airavata_getUserProfileByName_presult__isset __isset;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-
 class Airavata_doesUserProfileExist_args {
  public:
 
   Airavata_doesUserProfileExist_args(const Airavata_doesUserProfileExist_args&);
   Airavata_doesUserProfileExist_args& operator=(const Airavata_doesUserProfileExist_args&);
-  Airavata_doesUserProfileExist_args() : userName(), gatewayId() {
+  Airavata_doesUserProfileExist_args() : userId(), gatewayId() {
   }
 
   virtual ~Airavata_doesUserProfileExist_args() throw();
    ::apache::airavata::model::security::AuthzToken authzToken;
-  std::string userName;
+  std::string userId;
   std::string gatewayId;
 
   void __set_authzToken(const  ::apache::airavata::model::security::AuthzToken& val);
 
-  void __set_userName(const std::string& val);
+  void __set_userId(const std::string& val);
 
   void __set_gatewayId(const std::string& val);
 
@@ -28336,7 +28190,7 @@ class Airavata_doesUserProfileExist_args {
   {
     if (!(authzToken == rhs.authzToken))
       return false;
-    if (!(userName == rhs.userName))
+    if (!(userId == rhs.userId))
       return false;
     if (!(gatewayId == rhs.gatewayId))
       return false;
@@ -28360,7 +28214,7 @@ class Airavata_doesUserProfileExist_pargs {
 
   virtual ~Airavata_doesUserProfileExist_pargs() throw();
   const  ::apache::airavata::model::security::AuthzToken* authzToken;
-  const std::string* userName;
+  const std::string* userId;
   const std::string* gatewayId;
 
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
@@ -29001,11 +28855,8 @@ class AiravataClient : virtual public AiravataIf {
   void getAllUserProfilesInGateway(std::vector< ::apache::airavata::model::user::UserProfile> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const int32_t offset, const int32_t limit);
   void send_getAllUserProfilesInGateway(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const int32_t offset, const int32_t limit);
   void recv_getAllUserProfilesInGateway(std::vector< ::apache::airavata::model::user::UserProfile> & _return);
-  void getUserProfileByName( ::apache::airavata::model::user::UserProfile& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userName, const std::string& gatewayId);
-  void send_getUserProfileByName(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userName, const std::string& gatewayId);
-  void recv_getUserProfileByName( ::apache::airavata::model::user::UserProfile& _return);
-  bool doesUserProfileExist(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userName, const std::string& gatewayId);
-  void send_doesUserProfileExist(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userName, const std::string& gatewayId);
+  bool doesUserProfileExist(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userId, const std::string& gatewayId);
+  void send_doesUserProfileExist(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userId, const std::string& gatewayId);
   bool recv_doesUserProfileExist();
  protected:
   boost::shared_ptr< ::apache::thrift::protocol::TProtocol> piprot_;
@@ -29196,7 +29047,6 @@ class AiravataProcessor : public ::apache::thrift::TDispatchProcessor {
   void process_getUserProfileById(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
   void process_deleteUserProfile(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
   void process_getAllUserProfilesInGateway(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
-  void process_getUserProfileByName(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
   void process_doesUserProfileExist(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
  public:
   AiravataProcessor(boost::shared_ptr<AiravataIf> iface) :
@@ -29375,7 +29225,6 @@ class AiravataProcessor : public ::apache::thrift::TDispatchProcessor {
     processMap_["getUserProfileById"] = &AiravataProcessor::process_getUserProfileById;
     processMap_["deleteUserProfile"] = &AiravataProcessor::process_deleteUserProfile;
     processMap_["getAllUserProfilesInGateway"] = &AiravataProcessor::process_getAllUserProfilesInGateway;
-    processMap_["getUserProfileByName"] = &AiravataProcessor::process_getUserProfileByName;
     processMap_["doesUserProfileExist"] = &AiravataProcessor::process_doesUserProfileExist;
   }
 
@@ -31075,23 +30924,13 @@ class AiravataMultiface : virtual public AiravataIf {
     return;
   }
 
-  void getUserProfileByName( ::apache::airavata::model::user::UserProfile& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userName, const std::string& gatewayId) {
-    size_t sz = ifaces_.size();
-    size_t i = 0;
-    for (; i < (sz - 1); ++i) {
-      ifaces_[i]->getUserProfileByName(_return, authzToken, userName, gatewayId);
-    }
-    ifaces_[i]->getUserProfileByName(_return, authzToken, userName, gatewayId);
-    return;
-  }
-
-  bool doesUserProfileExist(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userName, const std::string& gatewayId) {
+  bool doesUserProfileExist(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userId, const std::string& gatewayId) {
     size_t sz = ifaces_.size();
     size_t i = 0;
     for (; i < (sz - 1); ++i) {
-      ifaces_[i]->doesUserProfileExist(authzToken, userName, gatewayId);
+      ifaces_[i]->doesUserProfileExist(authzToken, userId, gatewayId);
     }
-    return ifaces_[i]->doesUserProfileExist(authzToken, userName, gatewayId);
+    return ifaces_[i]->doesUserProfileExist(authzToken, userId, gatewayId);
   }
 
 };
@@ -31646,11 +31485,8 @@ class AiravataConcurrentClient : virtual public AiravataIf {
   void getAllUserProfilesInGateway(std::vector< ::apache::airavata::model::user::UserProfile> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const int32_t offset, const int32_t limit);
   int32_t send_getAllUserProfilesInGateway(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const int32_t offset, const int32_t limit);
   void recv_getAllUserProfilesInGateway(std::vector< ::apache::airavata::model::user::UserProfile> & _return, const int32_t seqid);
-  void getUserProfileByName( ::apache::airavata::model::user::UserProfile& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userName, const std::string& gatewayId);
-  int32_t send_getUserProfileByName(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userName, const std::string& gatewayId);
-  void recv_getUserProfileByName( ::apache::airavata::model::user::UserProfile& _return, const int32_t seqid);
-  bool doesUserProfileExist(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userName, const std::string& gatewayId);
-  int32_t send_doesUserProfileExist(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userName, const std::string& gatewayId);
+  bool doesUserProfileExist(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userId, const std::string& gatewayId);
+  int32_t send_doesUserProfileExist(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userId, const std::string& gatewayId);
   bool recv_doesUserProfileExist(const int32_t seqid);
  protected:
   boost::shared_ptr< ::apache::thrift::protocol::TProtocol> piprot_;

http://git-wip-us.apache.org/repos/asf/airavata/blob/56bc4bee/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp
index 4c913bb..d0321c7 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp
@@ -3536,12 +3536,7 @@ class AiravataHandler : virtual public AiravataIf {
     printf("getAllUserProfilesInGateway\n");
   }
 
-  void getUserProfileByName( ::apache::airavata::model::user::UserProfile& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userName, const std::string& gatewayId) {
-    // Your implementation goes here
-    printf("getUserProfileByName\n");
-  }
-
-  bool doesUserProfileExist(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userName, const std::string& gatewayId) {
+  bool doesUserProfileExist(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userId, const std::string& gatewayId) {
     // Your implementation goes here
     printf("doesUserProfileExist\n");
   }

http://git-wip-us.apache.org/repos/asf/airavata/blob/56bc4bee/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_deployment_model_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_deployment_model_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_deployment_model_types.cpp
index 52598ef..852a9d0 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_deployment_model_types.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_deployment_model_types.cpp
@@ -506,6 +506,11 @@ void ApplicationDeploymentDescription::__set_defaultCPUCount(const int32_t val)
 __isset.defaultCPUCount = true;
 }
 
+void ApplicationDeploymentDescription::__set_defaultWalltime(const int32_t val) {
+  this->defaultWalltime = val;
+__isset.defaultWalltime = true;
+}
+
 void ApplicationDeploymentDescription::__set_editableByUser(const bool val) {
   this->editableByUser = val;
 __isset.editableByUser = true;
@@ -732,6 +737,14 @@ uint32_t ApplicationDeploymentDescription::read(::apache::thrift::protocol::TPro
         }
         break;
       case 16:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          xfer += iprot->readI32(this->defaultWalltime);
+          this->__isset.defaultWalltime = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 17:
         if (ftype == ::apache::thrift::protocol::T_BOOL) {
           xfer += iprot->readBool(this->editableByUser);
           this->__isset.editableByUser = true;
@@ -884,8 +897,13 @@ uint32_t ApplicationDeploymentDescription::write(::apache::thrift::protocol::TPr
     xfer += oprot->writeI32(this->defaultCPUCount);
     xfer += oprot->writeFieldEnd();
   }
+  if (this->__isset.defaultWalltime) {
+    xfer += oprot->writeFieldBegin("defaultWalltime", ::apache::thrift::protocol::T_I32, 16);
+    xfer += oprot->writeI32(this->defaultWalltime);
+    xfer += oprot->writeFieldEnd();
+  }
   if (this->__isset.editableByUser) {
-    xfer += oprot->writeFieldBegin("editableByUser", ::apache::thrift::protocol::T_BOOL, 16);
+    xfer += oprot->writeFieldBegin("editableByUser", ::apache::thrift::protocol::T_BOOL, 17);
     xfer += oprot->writeBool(this->editableByUser);
     xfer += oprot->writeFieldEnd();
   }
@@ -911,6 +929,7 @@ void swap(ApplicationDeploymentDescription &a, ApplicationDeploymentDescription
   swap(a.defaultQueueName, b.defaultQueueName);
   swap(a.defaultNodeCount, b.defaultNodeCount);
   swap(a.defaultCPUCount, b.defaultCPUCount);
+  swap(a.defaultWalltime, b.defaultWalltime);
   swap(a.editableByUser, b.editableByUser);
   swap(a.__isset, b.__isset);
 }
@@ -931,6 +950,7 @@ ApplicationDeploymentDescription::ApplicationDeploymentDescription(const Applica
   defaultQueueName = other43.defaultQueueName;
   defaultNodeCount = other43.defaultNodeCount;
   defaultCPUCount = other43.defaultCPUCount;
+  defaultWalltime = other43.defaultWalltime;
   editableByUser = other43.editableByUser;
   __isset = other43.__isset;
 }
@@ -950,6 +970,7 @@ ApplicationDeploymentDescription& ApplicationDeploymentDescription::operator=(co
   defaultQueueName = other44.defaultQueueName;
   defaultNodeCount = other44.defaultNodeCount;
   defaultCPUCount = other44.defaultCPUCount;
+  defaultWalltime = other44.defaultWalltime;
   editableByUser = other44.editableByUser;
   __isset = other44.__isset;
   return *this;
@@ -972,6 +993,7 @@ void ApplicationDeploymentDescription::printTo(std::ostream& out) const {
   out << ", " << "defaultQueueName="; (__isset.defaultQueueName ? (out << to_string(defaultQueueName)) : (out << "<null>"));
   out << ", " << "defaultNodeCount="; (__isset.defaultNodeCount ? (out << to_string(defaultNodeCount)) : (out << "<null>"));
   out << ", " << "defaultCPUCount="; (__isset.defaultCPUCount ? (out << to_string(defaultCPUCount)) : (out << "<null>"));
+  out << ", " << "defaultWalltime="; (__isset.defaultWalltime ? (out << to_string(defaultWalltime)) : (out << "<null>"));
   out << ", " << "editableByUser="; (__isset.editableByUser ? (out << to_string(editableByUser)) : (out << "<null>"));
   out << ")";
 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/56bc4bee/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_deployment_model_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_deployment_model_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_deployment_model_types.h
index 42599df..c2875bd 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_deployment_model_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_deployment_model_types.h
@@ -224,7 +224,7 @@ inline std::ostream& operator<<(std::ostream& out, const ApplicationModule& obj)
 }
 
 typedef struct _ApplicationDeploymentDescription__isset {
-  _ApplicationDeploymentDescription__isset() : appDeploymentDescription(false), moduleLoadCmds(false), libPrependPaths(false), libAppendPaths(false), setEnvironment(false), preJobCommands(false), postJobCommands(false), defaultQueueName(false), defaultNodeCount(false), defaultCPUCount(false), editableByUser(false) {}
+  _ApplicationDeploymentDescription__isset() : appDeploymentDescription(false), moduleLoadCmds(false), libPrependPaths(false), libAppendPaths(false), setEnvironment(false), preJobCommands(false), postJobCommands(false), defaultQueueName(false), defaultNodeCount(false), defaultCPUCount(false), defaultWalltime(false), editableByUser(false) {}
   bool appDeploymentDescription :1;
   bool moduleLoadCmds :1;
   bool libPrependPaths :1;
@@ -235,6 +235,7 @@ typedef struct _ApplicationDeploymentDescription__isset {
   bool defaultQueueName :1;
   bool defaultNodeCount :1;
   bool defaultCPUCount :1;
+  bool defaultWalltime :1;
   bool editableByUser :1;
 } _ApplicationDeploymentDescription__isset;
 
@@ -243,7 +244,7 @@ class ApplicationDeploymentDescription {
 
   ApplicationDeploymentDescription(const ApplicationDeploymentDescription&);
   ApplicationDeploymentDescription& operator=(const ApplicationDeploymentDescription&);
-  ApplicationDeploymentDescription() : appDeploymentId("DO_NOT_SET_AT_CLIENTS"), appModuleId(), computeHostId(), executablePath(), parallelism(( ::apache::airavata::model::appcatalog::parallelism::ApplicationParallelismType::type)0), appDeploymentDescription(), defaultQueueName(), defaultNodeCount(0), defaultCPUCount(0), editableByUser(0) {
+  ApplicationDeploymentDescription() : appDeploymentId("DO_NOT_SET_AT_CLIENTS"), appModuleId(), computeHostId(), executablePath(), parallelism(( ::apache::airavata::model::appcatalog::parallelism::ApplicationParallelismType::type)0), appDeploymentDescription(), defaultQueueName(), defaultNodeCount(0), defaultCPUCount(0), defaultWalltime(0), editableByUser(0) {
     parallelism = ( ::apache::airavata::model::appcatalog::parallelism::ApplicationParallelismType::type)0;
 
   }
@@ -264,6 +265,7 @@ class ApplicationDeploymentDescription {
   std::string defaultQueueName;
   int32_t defaultNodeCount;
   int32_t defaultCPUCount;
+  int32_t defaultWalltime;
   bool editableByUser;
 
   _ApplicationDeploymentDescription__isset __isset;
@@ -298,6 +300,8 @@ class ApplicationDeploymentDescription {
 
   void __set_defaultCPUCount(const int32_t val);
 
+  void __set_defaultWalltime(const int32_t val);
+
   void __set_editableByUser(const bool val);
 
   bool operator == (const ApplicationDeploymentDescription & rhs) const
@@ -352,6 +356,10 @@ class ApplicationDeploymentDescription {
       return false;
     else if (__isset.defaultCPUCount && !(defaultCPUCount == rhs.defaultCPUCount))
       return false;
+    if (__isset.defaultWalltime != rhs.__isset.defaultWalltime)
+      return false;
+    else if (__isset.defaultWalltime && !(defaultWalltime == rhs.defaultWalltime))
+      return false;
     if (__isset.editableByUser != rhs.__isset.editableByUser)
       return false;
     else if (__isset.editableByUser && !(editableByUser == rhs.editableByUser))

http://git-wip-us.apache.org/repos/asf/airavata/blob/56bc4bee/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.cpp
index 1f6cb42..7921ef3 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.cpp
@@ -1792,6 +1792,26 @@ void ComputeResourceDescription::__set_gatewayUsageExecutable(const std::string&
 __isset.gatewayUsageExecutable = true;
 }
 
+void ComputeResourceDescription::__set_cpusPerNode(const int32_t val) {
+  this->cpusPerNode = val;
+__isset.cpusPerNode = true;
+}
+
+void ComputeResourceDescription::__set_defaultNodeCount(const int32_t val) {
+  this->defaultNodeCount = val;
+__isset.defaultNodeCount = true;
+}
+
+void ComputeResourceDescription::__set_defaultCPUCount(const int32_t val) {
+  this->defaultCPUCount = val;
+__isset.defaultCPUCount = true;
+}
+
+void ComputeResourceDescription::__set_defaultWallltime(const int32_t val) {
+  this->defaultWallltime = val;
+__isset.defaultWallltime = true;
+}
+
 uint32_t ComputeResourceDescription::read(::apache::thrift::protocol::TProtocol* iprot) {
 
   apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
@@ -2004,6 +2024,38 @@ uint32_t ComputeResourceDescription::read(::apache::thrift::protocol::TProtocol*
           xfer += iprot->skip(ftype);
         }
         break;
+      case 15:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          xfer += iprot->readI32(this->cpusPerNode);
+          this->__isset.cpusPerNode = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 16:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          xfer += iprot->readI32(this->defaultNodeCount);
+          this->__isset.defaultNodeCount = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 17:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          xfer += iprot->readI32(this->defaultCPUCount);
+          this->__isset.defaultCPUCount = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 18:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          xfer += iprot->readI32(this->defaultWallltime);
+          this->__isset.defaultWallltime = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -2142,6 +2194,26 @@ uint32_t ComputeResourceDescription::write(::apache::thrift::protocol::TProtocol
     xfer += oprot->writeString(this->gatewayUsageExecutable);
     xfer += oprot->writeFieldEnd();
   }
+  if (this->__isset.cpusPerNode) {
+    xfer += oprot->writeFieldBegin("cpusPerNode", ::apache::thrift::protocol::T_I32, 15);
+    xfer += oprot->writeI32(this->cpusPerNode);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.defaultNodeCount) {
+    xfer += oprot->writeFieldBegin("defaultNodeCount", ::apache::thrift::protocol::T_I32, 16);
+    xfer += oprot->writeI32(this->defaultNodeCount);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.defaultCPUCount) {
+    xfer += oprot->writeFieldBegin("defaultCPUCount", ::apache::thrift::protocol::T_I32, 17);
+    xfer += oprot->writeI32(this->defaultCPUCount);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.defaultWallltime) {
+    xfer += oprot->writeFieldBegin("defaultWallltime", ::apache::thrift::protocol::T_I32, 18);
+    xfer += oprot->writeI32(this->defaultWallltime);
+    xfer += oprot->writeFieldEnd();
+  }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
   return xfer;
@@ -2163,6 +2235,10 @@ void swap(ComputeResourceDescription &a, ComputeResourceDescription &b) {
   swap(a.gatewayUsageReporting, b.gatewayUsageReporting);
   swap(a.gatewayUsageModuleLoadCommand, b.gatewayUsageModuleLoadCommand);
   swap(a.gatewayUsageExecutable, b.gatewayUsageExecutable);
+  swap(a.cpusPerNode, b.cpusPerNode);
+  swap(a.defaultNodeCount, b.defaultNodeCount);
+  swap(a.defaultCPUCount, b.defaultCPUCount);
+  swap(a.defaultWallltime, b.defaultWallltime);
   swap(a.__isset, b.__isset);
 }
 
@@ -2181,6 +2257,10 @@ ComputeResourceDescription::ComputeResourceDescription(const ComputeResourceDesc
   gatewayUsageReporting = other94.gatewayUsageReporting;
   gatewayUsageModuleLoadCommand = other94.gatewayUsageModuleLoadCommand;
   gatewayUsageExecutable = other94.gatewayUsageExecutable;
+  cpusPerNode = other94.cpusPerNode;
+  defaultNodeCount = other94.defaultNodeCount;
+  defaultCPUCount = other94.defaultCPUCount;
+  defaultWallltime = other94.defaultWallltime;
   __isset = other94.__isset;
 }
 ComputeResourceDescription& ComputeResourceDescription::operator=(const ComputeResourceDescription& other95) {
@@ -2198,6 +2278,10 @@ ComputeResourceDescription& ComputeResourceDescription::operator=(const ComputeR
   gatewayUsageReporting = other95.gatewayUsageReporting;
   gatewayUsageModuleLoadCommand = other95.gatewayUsageModuleLoadCommand;
   gatewayUsageExecutable = other95.gatewayUsageExecutable;
+  cpusPerNode = other95.cpusPerNode;
+  defaultNodeCount = other95.defaultNodeCount;
+  defaultCPUCount = other95.defaultCPUCount;
+  defaultWallltime = other95.defaultWallltime;
   __isset = other95.__isset;
   return *this;
 }
@@ -2218,6 +2302,10 @@ void ComputeResourceDescription::printTo(std::ostream& out) const {
   out << ", " << "gatewayUsageReporting="; (__isset.gatewayUsageReporting ? (out << to_string(gatewayUsageReporting)) : (out << "<null>"));
   out << ", " << "gatewayUsageModuleLoadCommand="; (__isset.gatewayUsageModuleLoadCommand ? (out << to_string(gatewayUsageModuleLoadCommand)) : (out << "<null>"));
   out << ", " << "gatewayUsageExecutable="; (__isset.gatewayUsageExecutable ? (out << to_string(gatewayUsageExecutable)) : (out << "<null>"));
+  out << ", " << "cpusPerNode="; (__isset.cpusPerNode ? (out << to_string(cpusPerNode)) : (out << "<null>"));
+  out << ", " << "defaultNodeCount="; (__isset.defaultNodeCount ? (out << to_string(defaultNodeCount)) : (out << "<null>"));
+  out << ", " << "defaultCPUCount="; (__isset.defaultCPUCount ? (out << to_string(defaultCPUCount)) : (out << "<null>"));
+  out << ", " << "defaultWallltime="; (__isset.defaultWallltime ? (out << to_string(defaultWallltime)) : (out << "<null>"));
   out << ")";
 }
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/56bc4bee/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.h
index d611b52..997c2cb 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.h
@@ -711,7 +711,7 @@ inline std::ostream& operator<<(std::ostream& out, const JobSubmissionInterface&
 }
 
 typedef struct _ComputeResourceDescription__isset {
-  _ComputeResourceDescription__isset() : hostAliases(false), ipAddresses(false), resourceDescription(false), enabled(false), batchQueues(false), fileSystems(false), jobSubmissionInterfaces(false), dataMovementInterfaces(false), maxMemoryPerNode(false), gatewayUsageReporting(false), gatewayUsageModuleLoadCommand(false), gatewayUsageExecutable(false) {}
+  _ComputeResourceDescription__isset() : hostAliases(false), ipAddresses(false), resourceDescription(false), enabled(false), batchQueues(false), fileSystems(false), jobSubmissionInterfaces(false), dataMovementInterfaces(false), maxMemoryPerNode(false), gatewayUsageReporting(false), gatewayUsageModuleLoadCommand(false), gatewayUsageExecutable(false), cpusPerNode(false), defaultNodeCount(false), defaultCPUCount(false), defaultWallltime(false) {}
   bool hostAliases :1;
   bool ipAddresses :1;
   bool resourceDescription :1;
@@ -724,6 +724,10 @@ typedef struct _ComputeResourceDescription__isset {
   bool gatewayUsageReporting :1;
   bool gatewayUsageModuleLoadCommand :1;
   bool gatewayUsageExecutable :1;
+  bool cpusPerNode :1;
+  bool defaultNodeCount :1;
+  bool defaultCPUCount :1;
+  bool defaultWallltime :1;
 } _ComputeResourceDescription__isset;
 
 class ComputeResourceDescription {
@@ -731,7 +735,7 @@ class ComputeResourceDescription {
 
   ComputeResourceDescription(const ComputeResourceDescription&);
   ComputeResourceDescription& operator=(const ComputeResourceDescription&);
-  ComputeResourceDescription() : computeResourceId("DO_NOT_SET_AT_CLIENTS"), hostName(), resourceDescription(), enabled(0), maxMemoryPerNode(0), gatewayUsageReporting(0), gatewayUsageModuleLoadCommand(), gatewayUsageExecutable() {
+  ComputeResourceDescription() : computeResourceId("DO_NOT_SET_AT_CLIENTS"), hostName(), resourceDescription(), enabled(0), maxMemoryPerNode(0), gatewayUsageReporting(0), gatewayUsageModuleLoadCommand(), gatewayUsageExecutable(), cpusPerNode(0), defaultNodeCount(0), defaultCPUCount(0), defaultWallltime(0) {
   }
 
   virtual ~ComputeResourceDescription() throw();
@@ -749,6 +753,10 @@ class ComputeResourceDescription {
   bool gatewayUsageReporting;
   std::string gatewayUsageModuleLoadCommand;
   std::string gatewayUsageExecutable;
+  int32_t cpusPerNode;
+  int32_t defaultNodeCount;
+  int32_t defaultCPUCount;
+  int32_t defaultWallltime;
 
   _ComputeResourceDescription__isset __isset;
 
@@ -780,6 +788,14 @@ class ComputeResourceDescription {
 
   void __set_gatewayUsageExecutable(const std::string& val);
 
+  void __set_cpusPerNode(const int32_t val);
+
+  void __set_defaultNodeCount(const int32_t val);
+
+  void __set_defaultCPUCount(const int32_t val);
+
+  void __set_defaultWallltime(const int32_t val);
+
   bool operator == (const ComputeResourceDescription & rhs) const
   {
     if (!(computeResourceId == rhs.computeResourceId))
@@ -834,6 +850,22 @@ class ComputeResourceDescription {
       return false;
     else if (__isset.gatewayUsageExecutable && !(gatewayUsageExecutable == rhs.gatewayUsageExecutable))
       return false;
+    if (__isset.cpusPerNode != rhs.__isset.cpusPerNode)
+      return false;
+    else if (__isset.cpusPerNode && !(cpusPerNode == rhs.cpusPerNode))
+      return false;
+    if (__isset.defaultNodeCount != rhs.__isset.defaultNodeCount)
+      return false;
+    else if (__isset.defaultNodeCount && !(defaultNodeCount == rhs.defaultNodeCount))
+      return false;
+    if (__isset.defaultCPUCount != rhs.__isset.defaultCPUCount)
+      return false;
+    else if (__isset.defaultCPUCount && !(defaultCPUCount == rhs.defaultCPUCount))
+      return false;
+    if (__isset.defaultWallltime != rhs.__isset.defaultWallltime)
+      return false;
+    else if (__isset.defaultWallltime && !(defaultWallltime == rhs.defaultWallltime))
+      return false;
     return true;
   }
   bool operator != (const ComputeResourceDescription &rhs) const {

http://git-wip-us.apache.org/repos/asf/airavata/blob/56bc4bee/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/user_profile_model_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/user_profile_model_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/user_profile_model_types.cpp
index a7b968a..a3870cd 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/user_profile_model_types.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/user_profile_model_types.cpp
@@ -431,11 +431,6 @@ void UserProfile::__set_nameSuffix(const std::string& val) {
 __isset.nameSuffix = true;
 }
 
-void UserProfile::__set_userName(const std::string& val) {
-  this->userName = val;
-__isset.userName = true;
-}
-
 void UserProfile::__set_orcidId(const std::string& val) {
   this->orcidId = val;
 __isset.orcidId = true;
@@ -633,21 +628,13 @@ uint32_t UserProfile::read(::apache::thrift::protocol::TProtocol* iprot) {
         break;
       case 11:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->userName);
-          this->__isset.userName = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 12:
-        if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->orcidId);
           this->__isset.orcidId = true;
         } else {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 13:
+      case 12:
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->phones.clear();
@@ -667,7 +654,7 @@ uint32_t UserProfile::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 14:
+      case 13:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->country);
           this->__isset.country = true;
@@ -675,7 +662,7 @@ uint32_t UserProfile::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 15:
+      case 14:
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->nationality.clear();
@@ -695,7 +682,7 @@ uint32_t UserProfile::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 16:
+      case 15:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->homeOrganization);
           this->__isset.homeOrganization = true;
@@ -703,7 +690,7 @@ uint32_t UserProfile::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 17:
+      case 16:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->orginationAffiliation);
           this->__isset.orginationAffiliation = true;
@@ -711,7 +698,7 @@ uint32_t UserProfile::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 18:
+      case 17:
         if (ftype == ::apache::thrift::protocol::T_I64) {
           xfer += iprot->readI64(this->creationTime);
           isset_creationTime = true;
@@ -719,7 +706,7 @@ uint32_t UserProfile::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 19:
+      case 18:
         if (ftype == ::apache::thrift::protocol::T_I64) {
           xfer += iprot->readI64(this->lastAccessTime);
           isset_lastAccessTime = true;
@@ -727,7 +714,7 @@ uint32_t UserProfile::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 20:
+      case 19:
         if (ftype == ::apache::thrift::protocol::T_I64) {
           xfer += iprot->readI64(this->validUntil);
           isset_validUntil = true;
@@ -735,7 +722,7 @@ uint32_t UserProfile::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 21:
+      case 20:
         if (ftype == ::apache::thrift::protocol::T_I32) {
           int32_t ecast39;
           xfer += iprot->readI32(ecast39);
@@ -745,7 +732,7 @@ uint32_t UserProfile::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 22:
+      case 21:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->comments);
           this->__isset.comments = true;
@@ -753,7 +740,7 @@ uint32_t UserProfile::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 23:
+      case 22:
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->labeledURI.clear();
@@ -773,7 +760,7 @@ uint32_t UserProfile::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 24:
+      case 23:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->gpgKey);
           this->__isset.gpgKey = true;
@@ -781,7 +768,7 @@ uint32_t UserProfile::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 25:
+      case 24:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->timeZone);
           this->__isset.timeZone = true;
@@ -789,7 +776,7 @@ uint32_t UserProfile::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 26:
+      case 25:
         if (ftype == ::apache::thrift::protocol::T_STRUCT) {
           xfer += this->nsfDemographics.read(iprot);
           this->__isset.nsfDemographics = true;
@@ -887,18 +874,13 @@ uint32_t UserProfile::write(::apache::thrift::protocol::TProtocol* oprot) const
     xfer += oprot->writeString(this->nameSuffix);
     xfer += oprot->writeFieldEnd();
   }
-  if (this->__isset.userName) {
-    xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 11);
-    xfer += oprot->writeString(this->userName);
-    xfer += oprot->writeFieldEnd();
-  }
   if (this->__isset.orcidId) {
-    xfer += oprot->writeFieldBegin("orcidId", ::apache::thrift::protocol::T_STRING, 12);
+    xfer += oprot->writeFieldBegin("orcidId", ::apache::thrift::protocol::T_STRING, 11);
     xfer += oprot->writeString(this->orcidId);
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.phones) {
-    xfer += oprot->writeFieldBegin("phones", ::apache::thrift::protocol::T_LIST, 13);
+    xfer += oprot->writeFieldBegin("phones", ::apache::thrift::protocol::T_LIST, 12);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->phones.size()));
       std::vector<std::string> ::const_iterator _iter46;
@@ -911,12 +893,12 @@ uint32_t UserProfile::write(::apache::thrift::protocol::TProtocol* oprot) const
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.country) {
-    xfer += oprot->writeFieldBegin("country", ::apache::thrift::protocol::T_STRING, 14);
+    xfer += oprot->writeFieldBegin("country", ::apache::thrift::protocol::T_STRING, 13);
     xfer += oprot->writeString(this->country);
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.nationality) {
-    xfer += oprot->writeFieldBegin("nationality", ::apache::thrift::protocol::T_LIST, 15);
+    xfer += oprot->writeFieldBegin("nationality", ::apache::thrift::protocol::T_LIST, 14);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->nationality.size()));
       std::vector<std::string> ::const_iterator _iter47;
@@ -929,38 +911,38 @@ uint32_t UserProfile::write(::apache::thrift::protocol::TProtocol* oprot) const
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.homeOrganization) {
-    xfer += oprot->writeFieldBegin("homeOrganization", ::apache::thrift::protocol::T_STRING, 16);
+    xfer += oprot->writeFieldBegin("homeOrganization", ::apache::thrift::protocol::T_STRING, 15);
     xfer += oprot->writeString(this->homeOrganization);
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.orginationAffiliation) {
-    xfer += oprot->writeFieldBegin("orginationAffiliation", ::apache::thrift::protocol::T_STRING, 17);
+    xfer += oprot->writeFieldBegin("orginationAffiliation", ::apache::thrift::protocol::T_STRING, 16);
     xfer += oprot->writeString(this->orginationAffiliation);
     xfer += oprot->writeFieldEnd();
   }
-  xfer += oprot->writeFieldBegin("creationTime", ::apache::thrift::protocol::T_I64, 18);
+  xfer += oprot->writeFieldBegin("creationTime", ::apache::thrift::protocol::T_I64, 17);
   xfer += oprot->writeI64(this->creationTime);
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("lastAccessTime", ::apache::thrift::protocol::T_I64, 19);
+  xfer += oprot->writeFieldBegin("lastAccessTime", ::apache::thrift::protocol::T_I64, 18);
   xfer += oprot->writeI64(this->lastAccessTime);
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("validUntil", ::apache::thrift::protocol::T_I64, 20);
+  xfer += oprot->writeFieldBegin("validUntil", ::apache::thrift::protocol::T_I64, 19);
   xfer += oprot->writeI64(this->validUntil);
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("State", ::apache::thrift::protocol::T_I32, 21);
+  xfer += oprot->writeFieldBegin("State", ::apache::thrift::protocol::T_I32, 20);
   xfer += oprot->writeI32((int32_t)this->State);
   xfer += oprot->writeFieldEnd();
 
   if (this->__isset.comments) {
-    xfer += oprot->writeFieldBegin("comments", ::apache::thrift::protocol::T_STRING, 22);
+    xfer += oprot->writeFieldBegin("comments", ::apache::thrift::protocol::T_STRING, 21);
     xfer += oprot->writeString(this->comments);
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.labeledURI) {
-    xfer += oprot->writeFieldBegin("labeledURI", ::apache::thrift::protocol::T_LIST, 23);
+    xfer += oprot->writeFieldBegin("labeledURI", ::apache::thrift::protocol::T_LIST, 22);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->labeledURI.size()));
       std::vector<std::string> ::const_iterator _iter48;
@@ -973,17 +955,17 @@ uint32_t UserProfile::write(::apache::thrift::protocol::TProtocol* oprot) const
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.gpgKey) {
-    xfer += oprot->writeFieldBegin("gpgKey", ::apache::thrift::protocol::T_STRING, 24);
+    xfer += oprot->writeFieldBegin("gpgKey", ::apache::thrift::protocol::T_STRING, 23);
     xfer += oprot->writeString(this->gpgKey);
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.timeZone) {
-    xfer += oprot->writeFieldBegin("timeZone", ::apache::thrift::protocol::T_STRING, 25);
+    xfer += oprot->writeFieldBegin("timeZone", ::apache::thrift::protocol::T_STRING, 24);
     xfer += oprot->writeString(this->timeZone);
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.nsfDemographics) {
-    xfer += oprot->writeFieldBegin("nsfDemographics", ::apache::thrift::protocol::T_STRUCT, 26);
+    xfer += oprot->writeFieldBegin("nsfDemographics", ::apache::thrift::protocol::T_STRUCT, 25);
     xfer += this->nsfDemographics.write(oprot);
     xfer += oprot->writeFieldEnd();
   }
@@ -1004,7 +986,6 @@ void swap(UserProfile &a, UserProfile &b) {
   swap(a.middleName, b.middleName);
   swap(a.namePrefix, b.namePrefix);
   swap(a.nameSuffix, b.nameSuffix);
-  swap(a.userName, b.userName);
   swap(a.orcidId, b.orcidId);
   swap(a.phones, b.phones);
   swap(a.country, b.country);
@@ -1034,7 +1015,6 @@ UserProfile::UserProfile(const UserProfile& other49) {
   middleName = other49.middleName;
   namePrefix = other49.namePrefix;
   nameSuffix = other49.nameSuffix;
-  userName = other49.userName;
   orcidId = other49.orcidId;
   phones = other49.phones;
   country = other49.country;
@@ -1063,7 +1043,6 @@ UserProfile& UserProfile::operator=(const UserProfile& other50) {
   middleName = other50.middleName;
   namePrefix = other50.namePrefix;
   nameSuffix = other50.nameSuffix;
-  userName = other50.userName;
   orcidId = other50.orcidId;
   phones = other50.phones;
   country = other50.country;
@@ -1095,7 +1074,6 @@ void UserProfile::printTo(std::ostream& out) const {
   out << ", " << "middleName="; (__isset.middleName ? (out << to_string(middleName)) : (out << "<null>"));
   out << ", " << "namePrefix="; (__isset.namePrefix ? (out << to_string(namePrefix)) : (out << "<null>"));
   out << ", " << "nameSuffix="; (__isset.nameSuffix ? (out << to_string(nameSuffix)) : (out << "<null>"));
-  out << ", " << "userName="; (__isset.userName ? (out << to_string(userName)) : (out << "<null>"));
   out << ", " << "orcidId="; (__isset.orcidId ? (out << to_string(orcidId)) : (out << "<null>"));
   out << ", " << "phones="; (__isset.phones ? (out << to_string(phones)) : (out << "<null>"));
   out << ", " << "country="; (__isset.country ? (out << to_string(country)) : (out << "<null>"));

http://git-wip-us.apache.org/repos/asf/airavata/blob/56bc4bee/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/user_profile_model_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/user_profile_model_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/user_profile_model_types.h
index 1d5b3be..8f9181b 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/user_profile_model_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/user_profile_model_types.h
@@ -190,11 +190,10 @@ inline std::ostream& operator<<(std::ostream& out, const NSFDemographics& obj)
 }
 
 typedef struct _UserProfile__isset {
-  _UserProfile__isset() : middleName(false), namePrefix(false), nameSuffix(false), userName(false), orcidId(false), phones(false), country(false), nationality(false), homeOrganization(false), orginationAffiliation(false), comments(false), labeledURI(false), gpgKey(false), timeZone(false), nsfDemographics(false) {}
+  _UserProfile__isset() : middleName(false), namePrefix(false), nameSuffix(false), orcidId(false), phones(false), country(false), nationality(false), homeOrganization(false), orginationAffiliation(false), comments(false), labeledURI(false), gpgKey(false), timeZone(false), nsfDemographics(false) {}
   bool middleName :1;
   bool namePrefix :1;
   bool nameSuffix :1;
-  bool userName :1;
   bool orcidId :1;
   bool phones :1;
   bool country :1;
@@ -213,7 +212,7 @@ class UserProfile {
 
   UserProfile(const UserProfile&);
   UserProfile& operator=(const UserProfile&);
-  UserProfile() : userModelVersion("1.0"), airavataInternalUserId("DO_NOT_SET_AT_CLIENTS"), userId(), gatewayId(), firstName(), lastName(), middleName(), namePrefix(), nameSuffix(), userName(), orcidId(), country(), homeOrganization(), orginationAffiliation(), creationTime(0), lastAccessTime(0), validUntil(0), State((Status::type)0), comments(), gpgKey(), timeZone() {
+  UserProfile() : userModelVersion("1.0"), airavataInternalUserId("DO_NOT_SET_AT_CLIENTS"), userId(), gatewayId(), firstName(), lastName(), middleName(), namePrefix(), nameSuffix(), orcidId(), country(), homeOrganization(), orginationAffiliation(), creationTime(0), lastAccessTime(0), validUntil(0), State((Status::type)0), comments(), gpgKey(), timeZone() {
   }
 
   virtual ~UserProfile() throw();
@@ -227,7 +226,6 @@ class UserProfile {
   std::string middleName;
   std::string namePrefix;
   std::string nameSuffix;
-  std::string userName;
   std::string orcidId;
   std::vector<std::string>  phones;
   std::string country;
@@ -266,8 +264,6 @@ class UserProfile {
 
   void __set_nameSuffix(const std::string& val);
 
-  void __set_userName(const std::string& val);
-
   void __set_orcidId(const std::string& val);
 
   void __set_phones(const std::vector<std::string> & val);
@@ -326,10 +322,6 @@ class UserProfile {
       return false;
     else if (__isset.nameSuffix && !(nameSuffix == rhs.nameSuffix))
       return false;
-    if (__isset.userName != rhs.__isset.userName)
-      return false;
-    else if (__isset.userName && !(userName == rhs.userName))
-      return false;
     if (__isset.orcidId != rhs.__isset.orcidId)
       return false;
     else if (__isset.orcidId && !(orcidId == rhs.orcidId))


[17/50] [abbrv] airavata git commit: Add Tenant Profile Thrift Model

Posted by sm...@apache.org.
Add Tenant Profile Thrift Model


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

Branch: refs/heads/registry-refactoring
Commit: ddb95c1222247e5dbeebd1dff1335cd5228b9b96
Parents: 81a5f2b
Author: Gourav Shenoy <go...@apache.org>
Authored: Tue May 2 15:58:25 2017 -0400
Committer: Gourav Shenoy <go...@apache.org>
Committed: Tue May 2 15:58:25 2017 -0400

----------------------------------------------------------------------
 .../java/org/apache/airavata/api/Airavata.java  |    28 +-
 .../airavata/api/airavata_apiConstants.java     |    28 +-
 .../main/resources/lib/airavata/Airavata.cpp    | 18316 ++++++++++-------
 .../src/main/resources/lib/airavata/Airavata.h  |  1390 +-
 .../lib/airavata/Airavata_server.skeleton.cpp   |    35 +
 .../resources/lib/airavata/airavata_api_types.h |     1 +
 .../lib/airavata/airavata_data_models_types.h   |     2 +
 .../lib/airavata/airavata_errors_types.cpp      |   205 +-
 .../lib/airavata/airavata_errors_types.h        |    44 +
 .../lib/airavata/db_event_model_constants.cpp   |    34 +
 .../lib/airavata/db_event_model_constants.h     |    41 +
 .../lib/airavata/db_event_model_types.cpp       |   627 +
 .../lib/airavata/db_event_model_types.h         |   318 +
 .../lib/airavata/messaging_events_types.cpp     |     8 +-
 .../lib/airavata/messaging_events_types.h       |     3 +-
 .../airavata/replica_catalog_models_types.cpp   |   726 +-
 .../lib/airavata/replica_catalog_models_types.h |   274 +-
 .../airavata/tenant_profile_model_constants.cpp |    34 +
 .../airavata/tenant_profile_model_constants.h   |    41 +
 .../lib/airavata/tenant_profile_model_types.cpp |   541 +
 .../lib/airavata/tenant_profile_model_types.h   |   244 +
 .../lib/airavata/user_profile_model_types.cpp   |   241 +-
 .../lib/airavata/user_profile_model_types.h     |    57 +-
 .../resources/lib/Airavata/API/Airavata.php     |    12 +
 .../resources/lib/Airavata/API/Error/Types.php  |    82 +
 .../Model/AppCatalog/ComputeResource/Types.php  |     2 +-
 .../lib/Airavata/Model/Application/Io/Types.php |     6 +-
 .../lib/Airavata/Model/Data/Replica/Types.php   |   572 +-
 .../lib/Airavata/Model/Dbevent/Types.php        |   573 +
 .../Airavata/Model/Messaging/Event/Types.php    |     2 +
 .../lib/Airavata/Model/Tenant/Types.php         |   528 +
 .../resources/lib/Airavata/Model/User/Types.php |   292 +-
 .../lib/apache/airavata/api/Airavata-remote     |    49 +
 .../lib/apache/airavata/api/Airavata.py         |  8167 +++++---
 .../lib/apache/airavata/api/error/ttypes.py     |    76 +
 .../resources/lib/apache/airavata/api/ttypes.py |     1 +
 .../airavata/model/data/replica/ttypes.py       |   430 +-
 .../apache/airavata/model/dbevent/__init__.py   |     1 +
 .../apache/airavata/model/dbevent/constants.py  |    11 +
 .../lib/apache/airavata/model/dbevent/ttypes.py |   494 +
 .../airavata/model/messaging/event/ttypes.py    |     3 +
 .../apache/airavata/model/tenant/__init__.py    |     1 +
 .../apache/airavata/model/tenant/constants.py   |    11 +
 .../lib/apache/airavata/model/tenant/ttypes.py  |   352 +
 .../lib/apache/airavata/model/ttypes.py         |     2 +
 .../lib/apache/airavata/model/user/ttypes.py    |   234 +-
 .../apache/airavata/model/ComponentState.java   |    28 +-
 .../apache/airavata/model/ComponentStatus.java  |    28 +-
 .../org/apache/airavata/model/EdgeModel.java    |    28 +-
 .../org/apache/airavata/model/NodeModel.java    |    28 +-
 .../org/apache/airavata/model/PortModel.java    |    28 +-
 .../apache/airavata/model/WorkflowModel.java    |    28 +-
 .../apache/airavata/model/WorkflowState.java    |    28 +-
 .../apache/airavata/model/WorkflowStatus.java   |    28 +-
 .../ApplicationDeploymentDescription.java       |    28 +-
 .../appdeployment/ApplicationModule.java        |    28 +-
 .../appcatalog/appdeployment/CommandObject.java |    28 +-
 .../appcatalog/appdeployment/SetEnvPaths.java   |    28 +-
 .../ApplicationInterfaceDescription.java        |    28 +-
 .../appcatalog/computeresource/BatchQueue.java  |    28 +-
 .../computeresource/CloudJobSubmission.java     |    28 +-
 .../ComputeResourceDescription.java             |    28 +-
 .../appcatalog/computeresource/DMType.java      |    28 +-
 .../appcatalog/computeresource/FileSystems.java |    28 +-
 .../computeresource/GlobusJobSubmission.java    |    28 +-
 .../computeresource/JobManagerCommand.java      |    28 +-
 .../computeresource/JobSubmissionInterface.java |    28 +-
 .../computeresource/JobSubmissionProtocol.java  |    28 +-
 .../computeresource/LOCALSubmission.java        |    28 +-
 .../appcatalog/computeresource/MonitorMode.java |    28 +-
 .../computeresource/ProviderName.java           |    28 +-
 .../computeresource/ResourceJobManager.java     |    28 +-
 .../computeresource/ResourceJobManagerType.java |    32 +-
 .../computeresource/SSHJobSubmission.java       |    28 +-
 .../computeresource/UnicoreJobSubmission.java   |    28 +-
 .../ComputeResourcePreference.java              |    28 +-
 .../gatewayprofile/GatewayResourceProfile.java  |    28 +-
 .../gatewayprofile/StoragePreference.java       |    28 +-
 .../StorageResourceDescription.java             |    28 +-
 .../UserComputeResourcePreference.java          |    28 +-
 .../UserResourceProfile.java                    |    28 +-
 .../UserStoragePreference.java                  |    28 +-
 .../airavata/model/application/io/DataType.java |    28 +-
 .../application/io/InputDataObjectType.java     |    28 +-
 .../application/io/OutputDataObjectType.java    |    28 +-
 .../airavata/model/commons/ErrorModel.java      |    28 +-
 .../model/commons/ValidationResults.java        |    28 +-
 .../airavata/model/commons/ValidatorResult.java |    28 +-
 .../commons/airavata_commonsConstants.java      |    28 +-
 .../credential/store/CertificateCredential.java |    28 +-
 .../model/credential/store/CommunityUser.java   |    28 +-
 .../credential/store/CredentialOwnerType.java   |    28 +-
 .../credential/store/CredentialSummary.java     |    28 +-
 .../credential/store/PasswordCredential.java    |    28 +-
 .../model/credential/store/SSHCredential.java   |    28 +-
 .../model/credential/store/SummaryType.java     |    28 +-
 .../credential_store_data_modelsConstants.java  |    28 +-
 .../airavata/model/data/movement/DMType.java    |    28 +-
 .../data/movement/DataMovementInterface.java    |    28 +-
 .../data/movement/DataMovementProtocol.java     |    28 +-
 .../data/movement/GridFTPDataMovement.java      |    28 +-
 .../model/data/movement/LOCALDataMovement.java  |    28 +-
 .../model/data/movement/SCPDataMovement.java    |    28 +-
 .../model/data/movement/SecurityProtocol.java   |    28 +-
 .../data/movement/UnicoreDataMovement.java      |    28 +-
 .../model/data/replica/DataProductModel.java    |   112 +-
 .../model/data/replica/DataProductType.java     |    28 +-
 .../data/replica/DataReplicaLocationModel.java  |    72 +-
 .../data/replica/ReplicaLocationCategory.java   |    28 +-
 .../data/replica/ReplicaPersistentType.java     |    28 +-
 .../model/error/AiravataClientException.java    |    28 +-
 .../airavata/model/error/AiravataErrorType.java |    28 +-
 .../model/error/AiravataSystemException.java    |    28 +-
 .../model/error/AuthenticationException.java    |    28 +-
 .../model/error/AuthorizationException.java     |    28 +-
 .../error/ExperimentNotFoundException.java      |    28 +-
 .../model/error/InvalidRequestException.java    |    28 +-
 .../model/error/LaunchValidationException.java  |    28 +-
 .../model/error/ProjectNotFoundException.java   |    28 +-
 .../airavata/model/error/TimedOutException.java |    28 +-
 .../airavata/model/error/ValidationResults.java |    28 +-
 .../airavata/model/error/ValidatorResult.java   |    28 +-
 .../model/experiment/ExperimentModel.java       |    28 +-
 .../experiment/ExperimentSearchFields.java      |    28 +-
 .../model/experiment/ExperimentStatistics.java  |    28 +-
 .../experiment/ExperimentSummaryModel.java      |    28 +-
 .../model/experiment/ExperimentType.java        |    28 +-
 .../model/experiment/ProjectSearchFields.java   |    28 +-
 .../experiment/UserConfigurationDataModel.java  |    28 +-
 .../apache/airavata/model/group/GroupModel.java |    28 +-
 .../model/group/ResourcePermissionType.java     |    28 +-
 .../airavata/model/group/ResourceType.java      |    28 +-
 .../org/apache/airavata/model/job/JobModel.java |    28 +-
 .../event/ExperimentStatusChangeEvent.java      |    28 +-
 .../messaging/event/ExperimentSubmitEvent.java  |    28 +-
 .../model/messaging/event/JobIdentifier.java    |    28 +-
 .../messaging/event/JobStatusChangeEvent.java   |    28 +-
 .../event/JobStatusChangeRequestEvent.java      |    28 +-
 .../airavata/model/messaging/event/Message.java |    28 +-
 .../model/messaging/event/MessageLevel.java     |    28 +-
 .../model/messaging/event/MessageType.java      |    28 +-
 .../messaging/event/ProcessIdentifier.java      |    28 +-
 .../event/ProcessStatusChangeEvent.java         |    28 +-
 .../event/ProcessStatusChangeRequestEvent.java  |    28 +-
 .../messaging/event/ProcessSubmitEvent.java     |    28 +-
 .../messaging/event/ProcessTerminateEvent.java  |    28 +-
 .../model/messaging/event/TaskIdentifier.java   |    28 +-
 .../messaging/event/TaskOutputChangeEvent.java  |    28 +-
 .../messaging/event/TaskStatusChangeEvent.java  |    28 +-
 .../event/TaskStatusChangeRequestEvent.java     |    28 +-
 .../parallelism/ApplicationParallelismType.java |    28 +-
 .../airavata/model/process/ProcessModel.java    |    28 +-
 .../ComputationalResourceSchedulingModel.java   |    28 +-
 .../airavata/model/security/AuthzToken.java     |    28 +-
 .../airavata/model/status/ExperimentState.java  |    28 +-
 .../airavata/model/status/ExperimentStatus.java |    28 +-
 .../apache/airavata/model/status/JobState.java  |    28 +-
 .../apache/airavata/model/status/JobStatus.java |    28 +-
 .../airavata/model/status/ProcessState.java     |    28 +-
 .../airavata/model/status/ProcessStatus.java    |    28 +-
 .../airavata/model/status/QueueStatusModel.java |    28 +-
 .../apache/airavata/model/status/TaskState.java |    28 +-
 .../airavata/model/status/TaskStatus.java       |    28 +-
 .../airavata/model/task/DataStageType.java      |    28 +-
 .../model/task/DataStagingTaskModel.java        |    28 +-
 .../model/task/EnvironmentSetupTaskModel.java   |    28 +-
 .../model/task/JobSubmissionTaskModel.java      |    28 +-
 .../airavata/model/task/MonitorTaskModel.java   |    28 +-
 .../apache/airavata/model/task/TaskModel.java   |    28 +-
 .../apache/airavata/model/task/TaskTypes.java   |    28 +-
 .../apache/airavata/model/tenant/Tenant.java    |  2322 +++
 .../model/tenant/TenantApprovalStatus.java      |    77 +
 .../airavata/model/user/NSFDemographics.java    |    28 +-
 .../org/apache/airavata/model/user/Status.java  |    28 +-
 .../airavata/model/user/USCitizenship.java      |    28 +-
 .../apache/airavata/model/user/UserProfile.java |   734 +-
 .../apache/airavata/model/user/disability.java  |    28 +-
 .../apache/airavata/model/user/ethnicity.java   |    28 +-
 .../org/apache/airavata/model/user/race.java    |    28 +-
 .../model/user/user_profile_modelConstants.java |    28 +-
 .../airavata/model/workspace/Gateway.java       |    28 +-
 .../model/workspace/GatewayApprovalStatus.java  |    28 +-
 .../apache/airavata/model/workspace/Group.java  |    28 +-
 .../airavata/model/workspace/Notification.java  |    28 +-
 .../model/workspace/NotificationPriority.java   |    28 +-
 .../airavata/model/workspace/Project.java       |    28 +-
 .../apache/airavata/model/workspace/User.java   |    28 +-
 .../airavata-apis/airavata_api.thrift           |     4 +-
 .../component-cpis/registry-api.thrift          |     2 +-
 .../component-cpis/user-profile-cpi.thrift      |     2 +-
 .../data-models/airavata_data_models.thrift     |     5 +-
 .../user_resource_profile_model.thrift          |     2 +-
 .../group_manager_model.thrift                  |    48 -
 .../user-group-models/user_profile_model.thrift |   186 -
 .../group_manager_model.thrift                  |    48 +
 .../tenant_profile_model.thrift                 |    58 +
 .../user_profile_model.thrift                   |   197 +
 .../iam-admin-services-cpi.thrift               |     2 +-
 .../profile-user/profile-user-cpi.thrift        |     2 +-
 199 files changed, 28631 insertions(+), 14193 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/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 52d3683..14e75c4 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
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/airavata_apiConstants.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/airavata_apiConstants.java b/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/airavata_apiConstants.java
index ae8145d..f8e87d8 100644
--- a/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/airavata_apiConstants.java
+++ b/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/airavata_apiConstants.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *


[31/50] [abbrv] airavata git commit: Dependency tweaks for the IamAdminServices Keycloak client

Posted by sm...@apache.org.
Dependency tweaks for the IamAdminServices Keycloak client


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

Branch: refs/heads/registry-refactoring
Commit: d0f3f5c912e4ae78cf342f07d27401e9a060ee69
Parents: 3f40431
Author: Marcus Christie <ma...@apache.org>
Authored: Thu May 4 16:46:10 2017 -0400
Committer: Marcus Christie <ma...@apache.org>
Committed: Thu May 4 16:46:10 2017 -0400

----------------------------------------------------------------------
 modules/distribution/pom.xml | 13 +++++++++++++
 1 file changed, 13 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/d0f3f5c9/modules/distribution/pom.xml
----------------------------------------------------------------------
diff --git a/modules/distribution/pom.xml b/modules/distribution/pom.xml
index 16e4cfb..7eb50d0 100644
--- a/modules/distribution/pom.xml
+++ b/modules/distribution/pom.xml
@@ -243,6 +243,13 @@
             <groupId>org.apache.airavata</groupId>
             <artifactId>airavata-api-server</artifactId>
             <version>${project.version}</version>
+            <!-- This httpcore version prevents IamAdminServices Keycloak REST client from working -->
+            <exclusions>
+                <exclusion>
+                    <groupId>org.apache.httpcomponents.wso2</groupId>
+                    <artifactId>httpcore</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>org.apache.airavata</groupId>
@@ -509,6 +516,12 @@
             <artifactId>profile-service-server</artifactId>
             <version>${project.version}</version>
         </dependency>
+        <!-- Needed for IamAdminServices Keycloak client -->
+        <dependency>
+            <groupId>org.apache.httpcomponents</groupId>
+            <artifactId>httpclient</artifactId>
+            <version>4.5.2</version>
+        </dependency>
         <!-- ======================== Sample =================== -->
         <dependency>
             <groupId>org.apache.airavata</groupId>


[34/50] [abbrv] airavata git commit: Remove references to userName and instead use userId

Posted by sm...@apache.org.
Remove references to userName and instead use userId


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

Branch: refs/heads/registry-refactoring
Commit: f5a4e9dd574b2dafa6a070951f6f6cd5f3fa1b20
Parents: d0f3f5c
Author: Gourav Shenoy <go...@apache.org>
Authored: Mon May 8 13:58:26 2017 -0400
Committer: Gourav Shenoy <go...@apache.org>
Committed: Mon May 8 13:58:26 2017 -0400

----------------------------------------------------------------------
 .../server/handler/AiravataServerHandler.java   |   16 -
 .../java/org/apache/airavata/api/Airavata.java  | 1710 +-----------------
 .../apache/airavata/model/user/UserProfile.java |  274 +--
 .../core/impl/TenantManagementKeycloakImpl.java |    3 +-
 .../services/core/tests/SetupNewGateway.java    |    3 +-
 .../client/samples/UserProfileSample.java       |   18 +-
 .../profile/commons/utils/QueryConstants.java   |    4 -
 .../handlers/UserProfileServiceHandler.java     |   26 +-
 .../profile/user/cpi/UserProfileService.java    | 1500 +--------------
 .../repositories/UserProfileRepository.java     |   16 -
 .../service/handler/RegistryServerHandler.java  |    8 +-
 .../utils/ThriftDataModelConversion.java        |    2 +-
 .../org/apache/airavata/MigrationManager.java   |    3 +-
 .../airavata-apis/airavata_api.thrift           |    8 +-
 .../user_profile_model.thrift                   |   31 +-
 .../profile-user/profile-user-cpi.thrift        |    8 +-
 16 files changed, 306 insertions(+), 3324 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/f5a4e9dd/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 e69f773..14fc841 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
@@ -4871,22 +4871,6 @@ public class AiravataServerHandler implements Airavata.Iface {
 
     @Override
     @SecurityCheck
-    public UserProfile getUserProfileByName(AuthzToken authzToken, String userName, String gatewayId)
-            throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
-
-        try {
-            return getUserProfileServiceClient().getUserProfileByName(authzToken, userName, gatewayId);
-        } catch (Exception e) {
-            String msg = MessageFormat.format("Error getting user profile for [{0}] in [{1}]", userName, gatewayId);
-            logger.error(msg, e);
-            AiravataSystemException exception = new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
-            exception.setMessage(msg + " More info : " + e.getMessage());
-            throw exception;
-        }
-    }
-
-    @Override
-    @SecurityCheck
     public boolean doesUserProfileExist(AuthzToken authzToken, String userName, String gatewayId)
             throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/f5a4e9dd/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 14e75c4..cc00868 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
@@ -3031,9 +3031,7 @@ public class Airavata {
 
     public List<org.apache.airavata.model.user.UserProfile> getAllUserProfilesInGateway(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, int offset, int limit) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
-    public org.apache.airavata.model.user.UserProfile getUserProfileByName(org.apache.airavata.model.security.AuthzToken authzToken, String userName, String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
-
-    public boolean doesUserProfileExist(org.apache.airavata.model.security.AuthzToken authzToken, String userName, String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
+    public boolean doesUserProfileExist(org.apache.airavata.model.security.AuthzToken authzToken, String userId, String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
   }
 
@@ -3387,9 +3385,7 @@ public class Airavata {
 
     public void getAllUserProfilesInGateway(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, int offset, int limit, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void getUserProfileByName(org.apache.airavata.model.security.AuthzToken authzToken, String userName, String gatewayId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
-
-    public void doesUserProfileExist(org.apache.airavata.model.security.AuthzToken authzToken, String userName, String gatewayId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void doesUserProfileExist(org.apache.airavata.model.security.AuthzToken authzToken, String userId, String gatewayId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
   }
 
@@ -9811,54 +9807,17 @@ public class Airavata {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllUserProfilesInGateway failed: unknown result");
     }
 
-    public org.apache.airavata.model.user.UserProfile getUserProfileByName(org.apache.airavata.model.security.AuthzToken authzToken, String userName, String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
-    {
-      send_getUserProfileByName(authzToken, userName, gatewayId);
-      return recv_getUserProfileByName();
-    }
-
-    public void send_getUserProfileByName(org.apache.airavata.model.security.AuthzToken authzToken, String userName, String gatewayId) throws org.apache.thrift.TException
+    public boolean doesUserProfileExist(org.apache.airavata.model.security.AuthzToken authzToken, String userId, String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
-      getUserProfileByName_args args = new getUserProfileByName_args();
-      args.setAuthzToken(authzToken);
-      args.setUserName(userName);
-      args.setGatewayId(gatewayId);
-      sendBase("getUserProfileByName", args);
-    }
-
-    public org.apache.airavata.model.user.UserProfile recv_getUserProfileByName() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
-    {
-      getUserProfileByName_result result = new getUserProfileByName_result();
-      receiveBase(result, "getUserProfileByName");
-      if (result.isSetSuccess()) {
-        return result.success;
-      }
-      if (result.ire != null) {
-        throw result.ire;
-      }
-      if (result.ace != null) {
-        throw result.ace;
-      }
-      if (result.ase != null) {
-        throw result.ase;
-      }
-      if (result.ae != null) {
-        throw result.ae;
-      }
-      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getUserProfileByName failed: unknown result");
-    }
-
-    public boolean doesUserProfileExist(org.apache.airavata.model.security.AuthzToken authzToken, String userName, String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
-    {
-      send_doesUserProfileExist(authzToken, userName, gatewayId);
+      send_doesUserProfileExist(authzToken, userId, gatewayId);
       return recv_doesUserProfileExist();
     }
 
-    public void send_doesUserProfileExist(org.apache.airavata.model.security.AuthzToken authzToken, String userName, String gatewayId) throws org.apache.thrift.TException
+    public void send_doesUserProfileExist(org.apache.airavata.model.security.AuthzToken authzToken, String userId, String gatewayId) throws org.apache.thrift.TException
     {
       doesUserProfileExist_args args = new doesUserProfileExist_args();
       args.setAuthzToken(authzToken);
-      args.setUserName(userName);
+      args.setUserId(userId);
       args.setGatewayId(gatewayId);
       sendBase("doesUserProfileExist", args);
     }
@@ -16422,59 +16381,21 @@ public class Airavata {
       }
     }
 
-    public void getUserProfileByName(org.apache.airavata.model.security.AuthzToken authzToken, String userName, String gatewayId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void doesUserProfileExist(org.apache.airavata.model.security.AuthzToken authzToken, String userId, String gatewayId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      getUserProfileByName_call method_call = new getUserProfileByName_call(authzToken, userName, gatewayId, resultHandler, this, ___protocolFactory, ___transport);
-      this.___currentMethod = method_call;
-      ___manager.call(method_call);
-    }
-
-    public static class getUserProfileByName_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private org.apache.airavata.model.security.AuthzToken authzToken;
-      private String userName;
-      private String gatewayId;
-      public getUserProfileByName_call(org.apache.airavata.model.security.AuthzToken authzToken, String userName, String gatewayId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
-        super(client, protocolFactory, transport, resultHandler, false);
-        this.authzToken = authzToken;
-        this.userName = userName;
-        this.gatewayId = gatewayId;
-      }
-
-      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
-        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getUserProfileByName", org.apache.thrift.protocol.TMessageType.CALL, 0));
-        getUserProfileByName_args args = new getUserProfileByName_args();
-        args.setAuthzToken(authzToken);
-        args.setUserName(userName);
-        args.setGatewayId(gatewayId);
-        args.write(prot);
-        prot.writeMessageEnd();
-      }
-
-      public org.apache.airavata.model.user.UserProfile getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
-        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new IllegalStateException("Method call not finished!");
-        }
-        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
-        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
-        return (new Client(prot)).recv_getUserProfileByName();
-      }
-    }
-
-    public void doesUserProfileExist(org.apache.airavata.model.security.AuthzToken authzToken, String userName, String gatewayId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
-      checkReady();
-      doesUserProfileExist_call method_call = new doesUserProfileExist_call(authzToken, userName, gatewayId, resultHandler, this, ___protocolFactory, ___transport);
+      doesUserProfileExist_call method_call = new doesUserProfileExist_call(authzToken, userId, gatewayId, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class doesUserProfileExist_call extends org.apache.thrift.async.TAsyncMethodCall {
       private org.apache.airavata.model.security.AuthzToken authzToken;
-      private String userName;
+      private String userId;
       private String gatewayId;
-      public doesUserProfileExist_call(org.apache.airavata.model.security.AuthzToken authzToken, String userName, String gatewayId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      public doesUserProfileExist_call(org.apache.airavata.model.security.AuthzToken authzToken, String userId, String gatewayId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
         this.authzToken = authzToken;
-        this.userName = userName;
+        this.userId = userId;
         this.gatewayId = gatewayId;
       }
 
@@ -16482,7 +16403,7 @@ public class Airavata {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("doesUserProfileExist", org.apache.thrift.protocol.TMessageType.CALL, 0));
         doesUserProfileExist_args args = new doesUserProfileExist_args();
         args.setAuthzToken(authzToken);
-        args.setUserName(userName);
+        args.setUserId(userId);
         args.setGatewayId(gatewayId);
         args.write(prot);
         prot.writeMessageEnd();
@@ -16685,7 +16606,6 @@ public class Airavata {
       processMap.put("getUserProfileById", new getUserProfileById());
       processMap.put("deleteUserProfile", new deleteUserProfile());
       processMap.put("getAllUserProfilesInGateway", new getAllUserProfilesInGateway());
-      processMap.put("getUserProfileByName", new getUserProfileByName());
       processMap.put("doesUserProfileExist", new doesUserProfileExist());
       return processMap;
     }
@@ -21982,36 +21902,6 @@ public class Airavata {
       }
     }
 
-    public static class getUserProfileByName<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getUserProfileByName_args> {
-      public getUserProfileByName() {
-        super("getUserProfileByName");
-      }
-
-      public getUserProfileByName_args getEmptyArgsInstance() {
-        return new getUserProfileByName_args();
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public getUserProfileByName_result getResult(I iface, getUserProfileByName_args args) throws org.apache.thrift.TException {
-        getUserProfileByName_result result = new getUserProfileByName_result();
-        try {
-          result.success = iface.getUserProfileByName(args.authzToken, args.userName, args.gatewayId);
-        } catch (org.apache.airavata.model.error.InvalidRequestException ire) {
-          result.ire = ire;
-        } catch (org.apache.airavata.model.error.AiravataClientException ace) {
-          result.ace = ace;
-        } catch (org.apache.airavata.model.error.AiravataSystemException ase) {
-          result.ase = ase;
-        } catch (org.apache.airavata.model.error.AuthorizationException ae) {
-          result.ae = ae;
-        }
-        return result;
-      }
-    }
-
     public static class doesUserProfileExist<I extends Iface> extends org.apache.thrift.ProcessFunction<I, doesUserProfileExist_args> {
       public doesUserProfileExist() {
         super("doesUserProfileExist");
@@ -22028,7 +21918,7 @@ public class Airavata {
       public doesUserProfileExist_result getResult(I iface, doesUserProfileExist_args args) throws org.apache.thrift.TException {
         doesUserProfileExist_result result = new doesUserProfileExist_result();
         try {
-          result.success = iface.doesUserProfileExist(args.authzToken, args.userName, args.gatewayId);
+          result.success = iface.doesUserProfileExist(args.authzToken, args.userId, args.gatewayId);
           result.setSuccessIsSet(true);
         } catch (org.apache.airavata.model.error.InvalidRequestException ire) {
           result.ire = ire;
@@ -22230,7 +22120,6 @@ public class Airavata {
       processMap.put("getUserProfileById", new getUserProfileById());
       processMap.put("deleteUserProfile", new deleteUserProfile());
       processMap.put("getAllUserProfilesInGateway", new getAllUserProfilesInGateway());
-      processMap.put("getUserProfileByName", new getUserProfileByName());
       processMap.put("doesUserProfileExist", new doesUserProfileExist());
       return processMap;
     }
@@ -34842,78 +34731,6 @@ public class Airavata {
       }
     }
 
-    public static class getUserProfileByName<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getUserProfileByName_args, org.apache.airavata.model.user.UserProfile> {
-      public getUserProfileByName() {
-        super("getUserProfileByName");
-      }
-
-      public getUserProfileByName_args getEmptyArgsInstance() {
-        return new getUserProfileByName_args();
-      }
-
-      public AsyncMethodCallback<org.apache.airavata.model.user.UserProfile> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
-        final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<org.apache.airavata.model.user.UserProfile>() { 
-          public void onComplete(org.apache.airavata.model.user.UserProfile o) {
-            getUserProfileByName_result result = new getUserProfileByName_result();
-            result.success = o;
-            try {
-              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
-              return;
-            } catch (Exception e) {
-              LOGGER.error("Exception writing to internal frame buffer", e);
-            }
-            fb.close();
-          }
-          public void onError(Exception e) {
-            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
-            getUserProfileByName_result result = new getUserProfileByName_result();
-            if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
-                        result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
-                        result.setIreIsSet(true);
-                        msg = result;
-            }
-            else             if (e instanceof org.apache.airavata.model.error.AiravataClientException) {
-                        result.ace = (org.apache.airavata.model.error.AiravataClientException) e;
-                        result.setAceIsSet(true);
-                        msg = result;
-            }
-            else             if (e instanceof org.apache.airavata.model.error.AiravataSystemException) {
-                        result.ase = (org.apache.airavata.model.error.AiravataSystemException) e;
-                        result.setAseIsSet(true);
-                        msg = result;
-            }
-            else             if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
-                        result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
-                        result.setAeIsSet(true);
-                        msg = result;
-            }
-             else 
-            {
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
-            }
-            try {
-              fcall.sendResponse(fb,msg,msgType,seqid);
-              return;
-            } catch (Exception ex) {
-              LOGGER.error("Exception writing to internal frame buffer", ex);
-            }
-            fb.close();
-          }
-        };
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public void start(I iface, getUserProfileByName_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.user.UserProfile> resultHandler) throws TException {
-        iface.getUserProfileByName(args.authzToken, args.userName, args.gatewayId,resultHandler);
-      }
-    }
-
     public static class doesUserProfileExist<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, doesUserProfileExist_args, Boolean> {
       public doesUserProfileExist() {
         super("doesUserProfileExist");
@@ -34983,7 +34800,7 @@ public class Airavata {
       }
 
       public void start(I iface, doesUserProfileExist_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
-        iface.doesUserProfileExist(args.authzToken, args.userName, args.gatewayId,resultHandler);
+        iface.doesUserProfileExist(args.authzToken, args.userId, args.gatewayId,resultHandler);
       }
     }
 
@@ -269549,27 +269366,27 @@ public class Airavata {
 
   }
 
-  public static class getUserProfileByName_args implements org.apache.thrift.TBase<getUserProfileByName_args, getUserProfileByName_args._Fields>, java.io.Serializable, Cloneable, Comparable<getUserProfileByName_args>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getUserProfileByName_args");
+  public static class doesUserProfileExist_args implements org.apache.thrift.TBase<doesUserProfileExist_args, doesUserProfileExist_args._Fields>, java.io.Serializable, Cloneable, Comparable<doesUserProfileExist_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("doesUserProfileExist_args");
 
     private static final org.apache.thrift.protocol.TField AUTHZ_TOKEN_FIELD_DESC = new org.apache.thrift.protocol.TField("authzToken", org.apache.thrift.protocol.TType.STRUCT, (short)1);
-    private static final org.apache.thrift.protocol.TField USER_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("userName", org.apache.thrift.protocol.TType.STRING, (short)2);
+    private static final org.apache.thrift.protocol.TField USER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("userId", org.apache.thrift.protocol.TType.STRING, (short)2);
     private static final org.apache.thrift.protocol.TField GATEWAY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayId", org.apache.thrift.protocol.TType.STRING, (short)3);
 
     private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
     static {
-      schemes.put(StandardScheme.class, new getUserProfileByName_argsStandardSchemeFactory());
-      schemes.put(TupleScheme.class, new getUserProfileByName_argsTupleSchemeFactory());
+      schemes.put(StandardScheme.class, new doesUserProfileExist_argsStandardSchemeFactory());
+      schemes.put(TupleScheme.class, new doesUserProfileExist_argsTupleSchemeFactory());
     }
 
     public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public String userName; // required
+    public String userId; // required
     public String gatewayId; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
       AUTHZ_TOKEN((short)1, "authzToken"),
-      USER_NAME((short)2, "userName"),
+      USER_ID((short)2, "userId"),
       GATEWAY_ID((short)3, "gatewayId");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
@@ -269587,8 +269404,8 @@ public class Airavata {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
             return AUTHZ_TOKEN;
-          case 2: // USER_NAME
-            return USER_NAME;
+          case 2: // USER_ID
+            return USER_ID;
           case 3: // GATEWAY_ID
             return GATEWAY_ID;
           default:
@@ -269636,51 +269453,51 @@ public class Airavata {
       Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
       tmpMap.put(_Fields.AUTHZ_TOKEN, new org.apache.thrift.meta_data.FieldMetaData("authzToken", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.security.AuthzToken.class)));
-      tmpMap.put(_Fields.USER_NAME, new org.apache.thrift.meta_data.FieldMetaData("userName", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+      tmpMap.put(_Fields.USER_ID, new org.apache.thrift.meta_data.FieldMetaData("userId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
       tmpMap.put(_Fields.GATEWAY_ID, new org.apache.thrift.meta_data.FieldMetaData("gatewayId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
       metaDataMap = Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getUserProfileByName_args.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(doesUserProfileExist_args.class, metaDataMap);
     }
 
-    public getUserProfileByName_args() {
+    public doesUserProfileExist_args() {
     }
 
-    public getUserProfileByName_args(
+    public doesUserProfileExist_args(
       org.apache.airavata.model.security.AuthzToken authzToken,
-      String userName,
+      String userId,
       String gatewayId)
     {
       this();
       this.authzToken = authzToken;
-      this.userName = userName;
+      this.userId = userId;
       this.gatewayId = gatewayId;
     }
 
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public getUserProfileByName_args(getUserProfileByName_args other) {
+    public doesUserProfileExist_args(doesUserProfileExist_args other) {
       if (other.isSetAuthzToken()) {
         this.authzToken = new org.apache.airavata.model.security.AuthzToken(other.authzToken);
       }
-      if (other.isSetUserName()) {
-        this.userName = other.userName;
+      if (other.isSetUserId()) {
+        this.userId = other.userId;
       }
       if (other.isSetGatewayId()) {
         this.gatewayId = other.gatewayId;
       }
     }
 
-    public getUserProfileByName_args deepCopy() {
-      return new getUserProfileByName_args(this);
+    public doesUserProfileExist_args deepCopy() {
+      return new doesUserProfileExist_args(this);
     }
 
     @Override
     public void clear() {
       this.authzToken = null;
-      this.userName = null;
+      this.userId = null;
       this.gatewayId = null;
     }
 
@@ -269688,7 +269505,7 @@ public class Airavata {
       return this.authzToken;
     }
 
-    public getUserProfileByName_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public doesUserProfileExist_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -269708,27 +269525,27 @@ public class Airavata {
       }
     }
 
-    public String getUserName() {
-      return this.userName;
+    public String getUserId() {
+      return this.userId;
     }
 
-    public getUserProfileByName_args setUserName(String userName) {
-      this.userName = userName;
+    public doesUserProfileExist_args setUserId(String userId) {
+      this.userId = userId;
       return this;
     }
 
-    public void unsetUserName() {
-      this.userName = null;
+    public void unsetUserId() {
+      this.userId = null;
     }
 
-    /** Returns true if field userName is set (has been assigned a value) and false otherwise */
-    public boolean isSetUserName() {
-      return this.userName != null;
+    /** Returns true if field userId is set (has been assigned a value) and false otherwise */
+    public boolean isSetUserId() {
+      return this.userId != null;
     }
 
-    public void setUserNameIsSet(boolean value) {
+    public void setUserIdIsSet(boolean value) {
       if (!value) {
-        this.userName = null;
+        this.userId = null;
       }
     }
 
@@ -269736,7 +269553,7 @@ public class Airavata {
       return this.gatewayId;
     }
 
-    public getUserProfileByName_args setGatewayId(String gatewayId) {
+    public doesUserProfileExist_args setGatewayId(String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -269766,11 +269583,11 @@ public class Airavata {
         }
         break;
 
-      case USER_NAME:
+      case USER_ID:
         if (value == null) {
-          unsetUserName();
+          unsetUserId();
         } else {
-          setUserName((String)value);
+          setUserId((String)value);
         }
         break;
 
@@ -269790,8 +269607,8 @@ public class Airavata {
       case AUTHZ_TOKEN:
         return getAuthzToken();
 
-      case USER_NAME:
-        return getUserName();
+      case USER_ID:
+        return getUserId();
 
       case GATEWAY_ID:
         return getGatewayId();
@@ -269809,8 +269626,8 @@ public class Airavata {
       switch (field) {
       case AUTHZ_TOKEN:
         return isSetAuthzToken();
-      case USER_NAME:
-        return isSetUserName();
+      case USER_ID:
+        return isSetUserId();
       case GATEWAY_ID:
         return isSetGatewayId();
       }
@@ -269821,12 +269638,12 @@ public class Airavata {
     public boolean equals(Object that) {
       if (that == null)
         return false;
-      if (that instanceof getUserProfileByName_args)
-        return this.equals((getUserProfileByName_args)that);
+      if (that instanceof doesUserProfileExist_args)
+        return this.equals((doesUserProfileExist_args)that);
       return false;
     }
 
-    public boolean equals(getUserProfileByName_args that) {
+    public boolean equals(doesUserProfileExist_args that) {
       if (that == null)
         return false;
 
@@ -269839,12 +269656,12 @@ public class Airavata {
           return false;
       }
 
-      boolean this_present_userName = true && this.isSetUserName();
-      boolean that_present_userName = true && that.isSetUserName();
-      if (this_present_userName || that_present_userName) {
-        if (!(this_present_userName && that_present_userName))
+      boolean this_present_userId = true && this.isSetUserId();
+      boolean that_present_userId = true && that.isSetUserId();
+      if (this_present_userId || that_present_userId) {
+        if (!(this_present_userId && that_present_userId))
           return false;
-        if (!this.userName.equals(that.userName))
+        if (!this.userId.equals(that.userId))
           return false;
       }
 
@@ -269869,10 +269686,10 @@ public class Airavata {
       if (present_authzToken)
         list.add(authzToken);
 
-      boolean present_userName = true && (isSetUserName());
-      list.add(present_userName);
-      if (present_userName)
-        list.add(userName);
+      boolean present_userId = true && (isSetUserId());
+      list.add(present_userId);
+      if (present_userId)
+        list.add(userId);
 
       boolean present_gatewayId = true && (isSetGatewayId());
       list.add(present_gatewayId);
@@ -269883,7 +269700,7 @@ public class Airavata {
     }
 
     @Override
-    public int compareTo(getUserProfileByName_args other) {
+    public int compareTo(doesUserProfileExist_args other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
@@ -269900,12 +269717,12 @@ public class Airavata {
           return lastComparison;
         }
       }
-      lastComparison = Boolean.valueOf(isSetUserName()).compareTo(other.isSetUserName());
+      lastComparison = Boolean.valueOf(isSetUserId()).compareTo(other.isSetUserId());
       if (lastComparison != 0) {
         return lastComparison;
       }
-      if (isSetUserName()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.userName, other.userName);
+      if (isSetUserId()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.userId, other.userId);
         if (lastComparison != 0) {
           return lastComparison;
         }
@@ -269937,7 +269754,7 @@ public class Airavata {
 
     @Override
     public String toString() {
-      StringBuilder sb = new StringBuilder("getUserProfileByName_args(");
+      StringBuilder sb = new StringBuilder("doesUserProfileExist_args(");
       boolean first = true;
 
       sb.append("authzToken:");
@@ -269948,11 +269765,11 @@ public class Airavata {
       }
       first = false;
       if (!first) sb.append(", ");
-      sb.append("userName:");
-      if (this.userName == null) {
+      sb.append("userId:");
+      if (this.userId == null) {
         sb.append("null");
       } else {
-        sb.append(this.userName);
+        sb.append(this.userId);
       }
       first = false;
       if (!first) sb.append(", ");
@@ -269972,1363 +269789,8 @@ public class Airavata {
       if (authzToken == null) {
         throw new org.apache.thrift.protocol.TProtocolException("Required field 'authzToken' was not present! Struct: " + toString());
       }
-      if (userName == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'userName' was not present! Struct: " + toString());
-      }
-      if (gatewayId == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'gatewayId' was not present! Struct: " + toString());
-      }
-      // check for sub-struct validity
-      if (authzToken != null) {
-        authzToken.validate();
-      }
-    }
-
-    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
-      try {
-        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
-      } catch (org.apache.thrift.TException te) {
-        throw new java.io.IOException(te);
-      }
-    }
-
-    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
-      try {
-        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
-      } catch (org.apache.thrift.TException te) {
-        throw new java.io.IOException(te);
-      }
-    }
-
-    private static class getUserProfileByName_argsStandardSchemeFactory implements SchemeFactory {
-      public getUserProfileByName_argsStandardScheme getScheme() {
-        return new getUserProfileByName_argsStandardScheme();
-      }
-    }
-
-    private static class getUserProfileByName_argsStandardScheme extends StandardScheme<getUserProfileByName_args> {
-
-      public void read(org.apache.thrift.protocol.TProtocol iprot, getUserProfileByName_args struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TField schemeField;
-        iprot.readStructBegin();
-        while (true)
-        {
-          schemeField = iprot.readFieldBegin();
-          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
-            break;
-          }
-          switch (schemeField.id) {
-            case 1: // AUTHZ_TOKEN
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
-                struct.authzToken.read(iprot);
-                struct.setAuthzTokenIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 2: // USER_NAME
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.userName = iprot.readString();
-                struct.setUserNameIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 3: // GATEWAY_ID
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.gatewayId = iprot.readString();
-                struct.setGatewayIdIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            default:
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-          }
-          iprot.readFieldEnd();
-        }
-        iprot.readStructEnd();
-
-        // check for required fields of primitive type, which can't be checked in the validate method
-        struct.validate();
-      }
-
-      public void write(org.apache.thrift.protocol.TProtocol oprot, getUserProfileByName_args struct) throws org.apache.thrift.TException {
-        struct.validate();
-
-        oprot.writeStructBegin(STRUCT_DESC);
-        if (struct.authzToken != null) {
-          oprot.writeFieldBegin(AUTHZ_TOKEN_FIELD_DESC);
-          struct.authzToken.write(oprot);
-          oprot.writeFieldEnd();
-        }
-        if (struct.userName != null) {
-          oprot.writeFieldBegin(USER_NAME_FIELD_DESC);
-          oprot.writeString(struct.userName);
-          oprot.writeFieldEnd();
-        }
-        if (struct.gatewayId != null) {
-          oprot.writeFieldBegin(GATEWAY_ID_FIELD_DESC);
-          oprot.writeString(struct.gatewayId);
-          oprot.writeFieldEnd();
-        }
-        oprot.writeFieldStop();
-        oprot.writeStructEnd();
-      }
-
-    }
-
-    private static class getUserProfileByName_argsTupleSchemeFactory implements SchemeFactory {
-      public getUserProfileByName_argsTupleScheme getScheme() {
-        return new getUserProfileByName_argsTupleScheme();
-      }
-    }
-
-    private static class getUserProfileByName_argsTupleScheme extends TupleScheme<getUserProfileByName_args> {
-
-      @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, getUserProfileByName_args struct) throws org.apache.thrift.TException {
-        TTupleProtocol oprot = (TTupleProtocol) prot;
-        struct.authzToken.write(oprot);
-        oprot.writeString(struct.userName);
-        oprot.writeString(struct.gatewayId);
-      }
-
-      @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, getUserProfileByName_args struct) throws org.apache.thrift.TException {
-        TTupleProtocol iprot = (TTupleProtocol) prot;
-        struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
-        struct.authzToken.read(iprot);
-        struct.setAuthzTokenIsSet(true);
-        struct.userName = iprot.readString();
-        struct.setUserNameIsSet(true);
-        struct.gatewayId = iprot.readString();
-        struct.setGatewayIdIsSet(true);
-      }
-    }
-
-  }
-
-  public static class getUserProfileByName_result implements org.apache.thrift.TBase<getUserProfileByName_result, getUserProfileByName_result._Fields>, java.io.Serializable, Cloneable, Comparable<getUserProfileByName_result>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getUserProfileByName_result");
-
-    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (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);
-    private static final org.apache.thrift.protocol.TField AE_FIELD_DESC = new org.apache.thrift.protocol.TField("ae", org.apache.thrift.protocol.TType.STRUCT, (short)4);
-
-    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
-    static {
-      schemes.put(StandardScheme.class, new getUserProfileByName_resultStandardSchemeFactory());
-      schemes.put(TupleScheme.class, new getUserProfileByName_resultTupleSchemeFactory());
-    }
-
-    public org.apache.airavata.model.user.UserProfile 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
-    public org.apache.airavata.model.error.AuthorizationException ae; // required
-
-    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
-    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
-      SUCCESS((short)0, "success"),
-      IRE((short)1, "ire"),
-      ACE((short)2, "ace"),
-      ASE((short)3, "ase"),
-      AE((short)4, "ae");
-
-      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
-
-      static {
-        for (_Fields field : EnumSet.allOf(_Fields.class)) {
-          byName.put(field.getFieldName(), field);
-        }
-      }
-
-      /**
-       * Find the _Fields constant that matches fieldId, or null if its not found.
-       */
-      public static _Fields findByThriftId(int fieldId) {
-        switch(fieldId) {
-          case 0: // SUCCESS
-            return SUCCESS;
-          case 1: // IRE
-            return IRE;
-          case 2: // ACE
-            return ACE;
-          case 3: // ASE
-            return ASE;
-          case 4: // AE
-            return AE;
-          default:
-            return null;
-        }
-      }
-
-      /**
-       * Find the _Fields constant that matches fieldId, throwing an exception
-       * if it is not found.
-       */
-      public static _Fields findByThriftIdOrThrow(int fieldId) {
-        _Fields fields = findByThriftId(fieldId);
-        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
-        return fields;
-      }
-
-      /**
-       * Find the _Fields constant that matches name, or null if its not found.
-       */
-      public static _Fields findByName(String name) {
-        return byName.get(name);
-      }
-
-      private final short _thriftId;
-      private final String _fieldName;
-
-      _Fields(short thriftId, String fieldName) {
-        _thriftId = thriftId;
-        _fieldName = fieldName;
-      }
-
-      public short getThriftFieldId() {
-        return _thriftId;
-      }
-
-      public String getFieldName() {
-        return _fieldName;
-      }
-    }
-
-    // isset id assignments
-    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);
-      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.user.UserProfile.class)));
-      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)));
-      tmpMap.put(_Fields.ACE, new org.apache.thrift.meta_data.FieldMetaData("ace", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
-      tmpMap.put(_Fields.ASE, new org.apache.thrift.meta_data.FieldMetaData("ase", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
-      tmpMap.put(_Fields.AE, new org.apache.thrift.meta_data.FieldMetaData("ae", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
-      metaDataMap = Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getUserProfileByName_result.class, metaDataMap);
-    }
-
-    public getUserProfileByName_result() {
-    }
-
-    public getUserProfileByName_result(
-      org.apache.airavata.model.user.UserProfile success,
-      org.apache.airavata.model.error.InvalidRequestException ire,
-      org.apache.airavata.model.error.AiravataClientException ace,
-      org.apache.airavata.model.error.AiravataSystemException ase,
-      org.apache.airavata.model.error.AuthorizationException ae)
-    {
-      this();
-      this.success = success;
-      this.ire = ire;
-      this.ace = ace;
-      this.ase = ase;
-      this.ae = ae;
-    }
-
-    /**
-     * Performs a deep copy on <i>other</i>.
-     */
-    public getUserProfileByName_result(getUserProfileByName_result other) {
-      if (other.isSetSuccess()) {
-        this.success = new org.apache.airavata.model.user.UserProfile(other.success);
-      }
-      if (other.isSetIre()) {
-        this.ire = new org.apache.airavata.model.error.InvalidRequestException(other.ire);
-      }
-      if (other.isSetAce()) {
-        this.ace = new org.apache.airavata.model.error.AiravataClientException(other.ace);
-      }
-      if (other.isSetAse()) {
-        this.ase = new org.apache.airavata.model.error.AiravataSystemException(other.ase);
-      }
-      if (other.isSetAe()) {
-        this.ae = new org.apache.airavata.model.error.AuthorizationException(other.ae);
-      }
-    }
-
-    public getUserProfileByName_result deepCopy() {
-      return new getUserProfileByName_result(this);
-    }
-
-    @Override
-    public void clear() {
-      this.success = null;
-      this.ire = null;
-      this.ace = null;
-      this.ase = null;
-      this.ae = null;
-    }
-
-    public org.apache.airavata.model.user.UserProfile getSuccess() {
-      return this.success;
-    }
-
-    public getUserProfileByName_result setSuccess(org.apache.airavata.model.user.UserProfile success) {
-      this.success = success;
-      return this;
-    }
-
-    public void unsetSuccess() {
-      this.success = null;
-    }
-
-    /** Returns true if field success is set (has been assigned a value) and false otherwise */
-    public boolean isSetSuccess() {
-      return this.success != null;
-    }
-
-    public void setSuccessIsSet(boolean value) {
-      if (!value) {
-        this.success = null;
-      }
-    }
-
-    public org.apache.airavata.model.error.InvalidRequestException getIre() {
-      return this.ire;
-    }
-
-    public getUserProfileByName_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
-      this.ire = ire;
-      return this;
-    }
-
-    public void unsetIre() {
-      this.ire = null;
-    }
-
-    /** Returns true if field ire is set (has been assigned a value) and false otherwise */
-    public boolean isSetIre() {
-      return this.ire != null;
-    }
-
-    public void setIreIsSet(boolean value) {
-      if (!value) {
-        this.ire = null;
-      }
-    }
-
-    public org.apache.airavata.model.error.AiravataClientException getAce() {
-      return this.ace;
-    }
-
-    public getUserProfileByName_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
-      this.ace = ace;
-      return this;
-    }
-
-    public void unsetAce() {
-      this.ace = null;
-    }
-
-    /** Returns true if field ace is set (has been assigned a value) and false otherwise */
-    public boolean isSetAce() {
-      return this.ace != null;
-    }
-
-    public void setAceIsSet(boolean value) {
-      if (!value) {
-        this.ace = null;
-      }
-    }
-
-    public org.apache.airavata.model.error.AiravataSystemException getAse() {
-      return this.ase;
-    }
-
-    public getUserProfileByName_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
-      this.ase = ase;
-      return this;
-    }
-
-    public void unsetAse() {
-      this.ase = null;
-    }
-
-    /** Returns true if field ase is set (has been assigned a value) and false otherwise */
-    public boolean isSetAse() {
-      return this.ase != null;
-    }
-
-    public void setAseIsSet(boolean value) {
-      if (!value) {
-        this.ase = null;
-      }
-    }
-
-    public org.apache.airavata.model.error.AuthorizationException getAe() {
-      return this.ae;
-    }
-
-    public getUserProfileByName_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
-      this.ae = ae;
-      return this;
-    }
-
-    public void unsetAe() {
-      this.ae = null;
-    }
-
-    /** Returns true if field ae is set (has been assigned a value) and false otherwise */
-    public boolean isSetAe() {
-      return this.ae != null;
-    }
-
-    public void setAeIsSet(boolean value) {
-      if (!value) {
-        this.ae = null;
-      }
-    }
-
-    public void setFieldValue(_Fields field, Object value) {
-      switch (field) {
-      case SUCCESS:
-        if (value == null) {
-          unsetSuccess();
-        } else {
-          setSuccess((org.apache.airavata.model.user.UserProfile)value);
-        }
-        break;
-
-      case IRE:
-        if (value == null) {
-          unsetIre();
-        } else {
-          setIre((org.apache.airavata.model.error.InvalidRequestException)value);
-        }
-        break;
-
-      case ACE:
-        if (value == null) {
-          unsetAce();
-        } else {
-          setAce((org.apache.airavata.model.error.AiravataClientException)value);
-        }
-        break;
-
-      case ASE:
-        if (value == null) {
-          unsetAse();
-        } else {
-          setAse((org.apache.airavata.model.error.AiravataSystemException)value);
-        }
-        break;
-
-      case AE:
-        if (value == null) {
-          unsetAe();
-        } else {
-          setAe((org.apache.airavata.model.error.AuthorizationException)value);
-        }
-        break;
-
-      }
-    }
-
-    public Object getFieldValue(_Fields field) {
-      switch (field) {
-      case SUCCESS:
-        return getSuccess();
-
-      case IRE:
-        return getIre();
-
-      case ACE:
-        return getAce();
-
-      case ASE:
-        return getAse();
-
-      case AE:
-        return getAe();
-
-      }
-      throw new IllegalStateException();
-    }
-
-    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
-    public boolean isSet(_Fields field) {
-      if (field == null) {
-        throw new IllegalArgumentException();
-      }
-
-      switch (field) {
-      case SUCCESS:
-        return isSetSuccess();
-      case IRE:
-        return isSetIre();
-      case ACE:
-        return isSetAce();
-      case ASE:
-        return isSetAse();
-      case AE:
-        return isSetAe();
-      }
-      throw new IllegalStateException();
-    }
-
-    @Override
-    public boolean equals(Object that) {
-      if (that == null)
-        return false;
-      if (that instanceof getUserProfileByName_result)
-        return this.equals((getUserProfileByName_result)that);
-      return false;
-    }
-
-    public boolean equals(getUserProfileByName_result that) {
-      if (that == null)
-        return false;
-
-      boolean this_present_success = true && this.isSetSuccess();
-      boolean that_present_success = true && that.isSetSuccess();
-      if (this_present_success || that_present_success) {
-        if (!(this_present_success && that_present_success))
-          return false;
-        if (!this.success.equals(that.success))
-          return false;
-      }
-
-      boolean this_present_ire = true && this.isSetIre();
-      boolean that_present_ire = true && that.isSetIre();
-      if (this_present_ire || that_present_ire) {
-        if (!(this_present_ire && that_present_ire))
-          return false;
-        if (!this.ire.equals(that.ire))
-          return false;
-      }
-
-      boolean this_present_ace = true && this.isSetAce();
-      boolean that_present_ace = true && that.isSetAce();
-      if (this_present_ace || that_present_ace) {
-        if (!(this_present_ace && that_present_ace))
-          return false;
-        if (!this.ace.equals(that.ace))
-          return false;
-      }
-
-      boolean this_present_ase = true && this.isSetAse();
-      boolean that_present_ase = true && that.isSetAse();
-      if (this_present_ase || that_present_ase) {
-        if (!(this_present_ase && that_present_ase))
-          return false;
-        if (!this.ase.equals(that.ase))
-          return false;
-      }
-
-      boolean this_present_ae = true && this.isSetAe();
-      boolean that_present_ae = true && that.isSetAe();
-      if (this_present_ae || that_present_ae) {
-        if (!(this_present_ae && that_present_ae))
-          return false;
-        if (!this.ae.equals(that.ae))
-          return false;
-      }
-
-      return true;
-    }
-
-    @Override
-    public int hashCode() {
-      List<Object> list = new ArrayList<Object>();
-
-      boolean present_success = true && (isSetSuccess());
-      list.add(present_success);
-      if (present_success)
-        list.add(success);
-
-      boolean present_ire = true && (isSetIre());
-      list.add(present_ire);
-      if (present_ire)
-        list.add(ire);
-
-      boolean present_ace = true && (isSetAce());
-      list.add(present_ace);
-      if (present_ace)
-        list.add(ace);
-
-      boolean present_ase = true && (isSetAse());
-      list.add(present_ase);
-      if (present_ase)
-        list.add(ase);
-
-      boolean present_ae = true && (isSetAe());
-      list.add(present_ae);
-      if (present_ae)
-        list.add(ae);
-
-      return list.hashCode();
-    }
-
-    @Override
-    public int compareTo(getUserProfileByName_result other) {
-      if (!getClass().equals(other.getClass())) {
-        return getClass().getName().compareTo(other.getClass().getName());
-      }
-
-      int lastComparison = 0;
-
-      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetSuccess()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetIre()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ire, other.ire);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetAce()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ace, other.ace);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetAse()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ase, other.ase);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetAe()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ae, other.ae);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      return 0;
-    }
-
-    public _Fields fieldForId(int fieldId) {
-      return _Fields.findByThriftId(fieldId);
-    }
-
-    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
-      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
-    }
-
-    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
-      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
-      }
-
-    @Override
-    public String toString() {
-      StringBuilder sb = new StringBuilder("getUserProfileByName_result(");
-      boolean first = true;
-
-      sb.append("success:");
-      if (this.success == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.success);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("ire:");
-      if (this.ire == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.ire);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("ace:");
-      if (this.ace == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.ace);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("ase:");
-      if (this.ase == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.ase);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("ae:");
-      if (this.ae == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.ae);
-      }
-      first = false;
-      sb.append(")");
-      return sb.toString();
-    }
-
-    public void validate() throws org.apache.thrift.TException {
-      // check for required fields
-      // check for sub-struct validity
-      if (success != null) {
-        success.validate();
-      }
-    }
-
-    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
-      try {
-        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
-      } catch (org.apache.thrift.TException te) {
-        throw new java.io.IOException(te);
-      }
-    }
-
-    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
-      try {
-        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
-      } catch (org.apache.thrift.TException te) {
-        throw new java.io.IOException(te);
-      }
-    }
-
-    private static class getUserProfileByName_resultStandardSchemeFactory implements SchemeFactory {
-      public getUserProfileByName_resultStandardScheme getScheme() {
-        return new getUserProfileByName_resultStandardScheme();
-      }
-    }
-
-    private static class getUserProfileByName_resultStandardScheme extends StandardScheme<getUserProfileByName_result> {
-
-      public void read(org.apache.thrift.protocol.TProtocol iprot, getUserProfileByName_result struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TField schemeField;
-        iprot.readStructBegin();
-        while (true)
-        {
-          schemeField = iprot.readFieldBegin();
-          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
-            break;
-          }
-          switch (schemeField.id) {
-            case 0: // SUCCESS
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.success = new org.apache.airavata.model.user.UserProfile();
-                struct.success.read(iprot);
-                struct.setSuccessIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 1: // IRE
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.ire = new org.apache.airavata.model.error.InvalidRequestException();
-                struct.ire.read(iprot);
-                struct.setIreIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 2: // ACE
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.ace = new org.apache.airavata.model.error.AiravataClientException();
-                struct.ace.read(iprot);
-                struct.setAceIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 3: // ASE
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.ase = new org.apache.airavata.model.error.AiravataSystemException();
-                struct.ase.read(iprot);
-                struct.setAseIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 4: // AE
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.ae = new org.apache.airavata.model.error.AuthorizationException();
-                struct.ae.read(iprot);
-                struct.setAeIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            default:
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-          }
-          iprot.readFieldEnd();
-        }
-        iprot.readStructEnd();
-
-        // check for required fields of primitive type, which can't be checked in the validate method
-        struct.validate();
-      }
-
-      public void write(org.apache.thrift.protocol.TProtocol oprot, getUserProfileByName_result struct) throws org.apache.thrift.TException {
-        struct.validate();
-
-        oprot.writeStructBegin(STRUCT_DESC);
-        if (struct.success != null) {
-          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
-          struct.success.write(oprot);
-          oprot.writeFieldEnd();
-        }
-        if (struct.ire != null) {
-          oprot.writeFieldBegin(IRE_FIELD_DESC);
-          struct.ire.write(oprot);
-          oprot.writeFieldEnd();
-        }
-        if (struct.ace != null) {
-          oprot.writeFieldBegin(ACE_FIELD_DESC);
-          struct.ace.write(oprot);
-          oprot.writeFieldEnd();
-        }
-        if (struct.ase != null) {
-          oprot.writeFieldBegin(ASE_FIELD_DESC);
-          struct.ase.write(oprot);
-          oprot.writeFieldEnd();
-        }
-        if (struct.ae != null) {
-          oprot.writeFieldBegin(AE_FIELD_DESC);
-          struct.ae.write(oprot);
-          oprot.writeFieldEnd();
-        }
-        oprot.writeFieldStop();
-        oprot.writeStructEnd();
-      }
-
-    }
-
-    private static class getUserProfileByName_resultTupleSchemeFactory implements SchemeFactory {
-      public getUserProfileByName_resultTupleScheme getScheme() {
-        return new getUserProfileByName_resultTupleScheme();
-      }
-    }
-
-    private static class getUserProfileByName_resultTupleScheme extends TupleScheme<getUserProfileByName_result> {
-
-      @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, getUserProfileByName_result struct) throws org.apache.thrift.TException {
-        TTupleProtocol oprot = (TTupleProtocol) prot;
-        BitSet optionals = new BitSet();
-        if (struct.isSetSuccess()) {
-          optionals.set(0);
-        }
-        if (struct.isSetIre()) {
-          optionals.set(1);
-        }
-        if (struct.isSetAce()) {
-          optionals.set(2);
-        }
-        if (struct.isSetAse()) {
-          optionals.set(3);
-        }
-        if (struct.isSetAe()) {
-          optionals.set(4);
-        }
-        oprot.writeBitSet(optionals, 5);
-        if (struct.isSetSuccess()) {
-          struct.success.write(oprot);
-        }
-        if (struct.isSetIre()) {
-          struct.ire.write(oprot);
-        }
-        if (struct.isSetAce()) {
-          struct.ace.write(oprot);
-        }
-        if (struct.isSetAse()) {
-          struct.ase.write(oprot);
-        }
-        if (struct.isSetAe()) {
-          struct.ae.write(oprot);
-        }
-      }
-
-      @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, getUserProfileByName_result struct) throws org.apache.thrift.TException {
-        TTupleProtocol iprot = (TTupleProtocol) prot;
-        BitSet incoming = iprot.readBitSet(5);
-        if (incoming.get(0)) {
-          struct.success = new org.apache.airavata.model.user.UserProfile();
-          struct.success.read(iprot);
-          struct.setSuccessIsSet(true);
-        }
-        if (incoming.get(1)) {
-          struct.ire = new org.apache.airavata.model.error.InvalidRequestException();
-          struct.ire.read(iprot);
-          struct.setIreIsSet(true);
-        }
-        if (incoming.get(2)) {
-          struct.ace = new org.apache.airavata.model.error.AiravataClientException();
-          struct.ace.read(iprot);
-          struct.setAceIsSet(true);
-        }
-        if (incoming.get(3)) {
-          struct.ase = new org.apache.airavata.model.error.AiravataSystemException();
-          struct.ase.read(iprot);
-          struct.setAseIsSet(true);
-        }
-        if (incoming.get(4)) {
-          struct.ae = new org.apache.airavata.model.error.AuthorizationException();
-          struct.ae.read(iprot);
-          struct.setAeIsSet(true);
-        }
-      }
-    }
-
-  }
-
-  public static class doesUserProfileExist_args implements org.apache.thrift.TBase<doesUserProfileExist_args, doesUserProfileExist_args._Fields>, java.io.Serializable, Cloneable, Comparable<doesUserProfileExist_args>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("doesUserProfileExist_args");
-
-    private static final org.apache.thrift.protocol.TField AUTHZ_TOKEN_FIELD_DESC = new org.apache.thrift.protocol.TField("authzToken", org.apache.thrift.protocol.TType.STRUCT, (short)1);
-    private static final org.apache.thrift.protocol.TField USER_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("userName", org.apache.thrift.protocol.TType.STRING, (short)2);
-    private static final org.apache.thrift.protocol.TField GATEWAY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayId", org.apache.thrift.protocol.TType.STRING, (short)3);
-
-    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
-    static {
-      schemes.put(StandardScheme.class, new doesUserProfileExist_argsStandardSchemeFactory());
-      schemes.put(TupleScheme.class, new doesUserProfileExist_argsTupleSchemeFactory());
-    }
-
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public String userName; // required
-    public String gatewayId; // required
-
-    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
-    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
-      AUTHZ_TOKEN((short)1, "authzToken"),
-      USER_NAME((short)2, "userName"),
-      GATEWAY_ID((short)3, "gatewayId");
-
-      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
-
-      static {
-        for (_Fields field : EnumSet.allOf(_Fields.class)) {
-          byName.put(field.getFieldName(), field);
-        }
-      }
-
-      /**
-       * Find the _Fields constant that matches fieldId, or null if its not found.
-       */
-      public static _Fields findByThriftId(int fieldId) {
-        switch(fieldId) {
-          case 1: // AUTHZ_TOKEN
-            return AUTHZ_TOKEN;
-          case 2: // USER_NAME
-            return USER_NAME;
-          case 3: // GATEWAY_ID
-            return GATEWAY_ID;
-          default:
-            return null;
-        }
-      }
-
-      /**
-       * Find the _Fields constant that matches fieldId, throwing an exception
-       * if it is not found.
-       */
-      public static _Fields findByThriftIdOrThrow(int fieldId) {
-        _Fields fields = findByThriftId(fieldId);
-        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
-        return fields;
-      }
-
-      /**
-       * Find the _Fields constant that matches name, or null if its not found.
-       */
-      public static _Fields findByName(String name) {
-        return byName.get(name);
-      }
-
-      private final short _thriftId;
-      private final String _fieldName;
-
-      _Fields(short thriftId, String fieldName) {
-        _thriftId = thriftId;
-        _fieldName = fieldName;
-      }
-
-      public short getThriftFieldId() {
-        return _thriftId;
-      }
-
-      public String getFieldName() {
-        return _fieldName;
-      }
-    }
-
-    // isset id assignments
-    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);
-      tmpMap.put(_Fields.AUTHZ_TOKEN, new org.apache.thrift.meta_data.FieldMetaData("authzToken", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.security.AuthzToken.class)));
-      tmpMap.put(_Fields.USER_NAME, new org.apache.thrift.meta_data.FieldMetaData("userName", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-      tmpMap.put(_Fields.GATEWAY_ID, new org.apache.thrift.meta_data.FieldMetaData("gatewayId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-      metaDataMap = Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(doesUserProfileExist_args.class, metaDataMap);
-    }
-
-    public doesUserProfileExist_args() {
-    }
-
-    public doesUserProfileExist_args(
-      org.apache.airavata.model.security.AuthzToken authzToken,
-      String userName,
-      String gatewayId)
-    {
-      this();
-      this.authzToken = authzToken;
-      this.userName = userName;
-      this.gatewayId = gatewayId;
-    }
-
-    /**
-     * Performs a deep copy on <i>other</i>.
-     */
-    public doesUserProfileExist_args(doesUserProfileExist_args other) {
-      if (other.isSetAuthzToken()) {
-        this.authzToken = new org.apache.airavata.model.security.AuthzToken(other.authzToken);
-      }
-      if (other.isSetUserName()) {
-        this.userName = other.userName;
-      }
-      if (other.isSetGatewayId()) {
-        this.gatewayId = other.gatewayId;
-      }
-    }
-
-    public doesUserProfileExist_args deepCopy() {
-      return new doesUserProfileExist_args(this);
-    }
-
-    @Override
-    public void clear() {
-      this.authzToken = null;
-      this.userName = null;
-      this.gatewayId = null;
-    }
-
-    public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
-      return this.authzToken;
-    }
-
-    public doesUserProfileExist_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
-      this.authzToken = authzToken;
-      return this;
-    }
-
-    public void unsetAuthzToken() {
-      this.authzToken = null;
-    }
-
-    /** Returns true if field authzToken is set (has been assigned a value) and false otherwise */
-    public boolean isSetAuthzToken() {
-      return this.authzToken != null;
-    }
-
-    public void setAuthzTokenIsSet(boolean value) {
-      if (!value) {
-        this.authzToken = null;
-      }
-    }
-
-    public String getUserName() {
-      return this.userName;
-    }
-
-    public doesUserProfileExist_args setUserName(String userName) {
-      this.userName = userName;
-      return this;
-    }
-
-    public void unsetUserName() {
-      this.userName = null;
-    }
-
-    /** Returns true if field userName is set (has been assigned a value) and false otherwise */
-    public boolean isSetUserName() {
-      return this.userName != null;
-    }
-
-    public void setUserNameIsSet(boolean value) {
-      if (!value) {
-        this.userName = null;
-      }
-    }
-
-    public String getGatewayId() {
-      return this.gatewayId;
-    }
-
-    public doesUserProfileExist_args setGatewayId(String gatewayId) {
-      this.gatewayId = gatewayId;
-      return this;
-    }
-
-    public void unsetGatewayId() {
-      this.gatewayId = null;
-    }
-
-    /** Returns true if field gatewayId is set (has been assigned a value) and false otherwise */
-    public boolean isSetGatewayId() {
-      return this.gatewayId != null;
-    }
-
-    public void setGatewayIdIsSet(boolean value) {
-      if (!value) {
-        this.gatewayId = null;
-      }
-    }
-
-    public void setFieldValue(_Fields field, Object value) {
-      switch (field) {
-      case AUTHZ_TOKEN:
-        if (value == null) {
-          unsetAuthzToken();
-        } else {
-          setAuthzToken((org.apache.airavata.model.security.AuthzToken)value);
-        }
-        break;
-
-      case USER_NAME:
-        if (value == null) {
-          unsetUserName();
-        } else {
-          setUserName((String)value);
-        }
-        break;
-
-      case GATEWAY_ID:
-        if (value == null) {
-          unsetGatewayId();
-        } else {
-          setGatewayId((String)value);
-        }
-        break;
-
-      }
-    }
-
-    public Object getFieldValue(_Fields field) {
-      switch (field) {
-      case AUTHZ_TOKEN:
-        return getAuthzToken();
-
-      case USER_NAME:
-        return getUserName();
-
-      case GATEWAY_ID:
-        return getGatewayId();
-
-      }
-      throw new IllegalStateException();
-    }
-
-    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
-    public boolean isSet(_Fields field) {
-      if (field == null) {
-        throw new IllegalArgumentException();
-      }
-
-      switch (field) {
-      case AUTHZ_TOKEN:
-        return isSetAuthzToken();
-      case USER_NAME:
-        return isSetUserName();
-      case GATEWAY_ID:
-        return isSetGatewayId();
-      }
-      throw new IllegalStateException();
-    }
-
-    @Override
-    public boolean equals(Object that) {
-      if (that == null)
-        return false;
-      if (that instanceof doesUserProfileExist_args)
-        return this.equals((doesUserProfileExist_args)that);
-      return false;
-    }
-
-    public boolean equals(doesUserProfileExist_args that) {
-      if (that == null)
-        return false;
-
-      boolean this_present_authzToken = true && this.isSetAuthzToken();
-      boolean that_present_authzToken = true && that.isSetAuthzToken();
-      if (this_present_authzToken || that_present_authzToken) {
-        if (!(this_present_authzToken && that_present_authzToken))
-          return false;
-        if (!this.authzToken.equals(that.authzToken))
-          return false;
-      }
-
-      boolean this_present_userName = true && this.isSetUserName();
-      boolean that_present_userName = true && that.isSetUserName();
-      if (this_present_userName || that_present_userName) {
-        if (!(this_present_userName && that_present_userName))
-          return false;
-        if (!this.userName.equals(that.userName))
-          return false;
-      }
-
-      boolean this_present_gatewayId = true && this.isSetGatewayId();
-      boolean that_present_gatewayId = true && that.isSetGatewayId();
-      if (this_present_gatewayId || that_present_gatewayId) {
-        if (!(this_present_gatewayId && that_present_gatewayId))
-          return false;
-        if (!this.gatewayId.equals(that.gatewayId))
-          return false;
-      }
-
-      return true;
-    }
-
-    @Override
-    public int hashCode() {
-      List<Object> list = new ArrayList<Object>();
-
-      boolean present_authzToken = true && (isSetAuthzToken());
-      list.add(present_authzToken);
-      if (present_authzToken)
-        list.add(authzToken);
-
-      boolean present_userName = true && (isSetUserName());
-      list.add(present_userName);
-      if (present_userName)
-        list.add(userName);
-
-      boolean present_gatewayId = true && (isSetGatewayId());
-      list.add(present_gatewayId);
-      if (present_gatewayId)
-        list.add(gatewayId);
-
-      return list.hashCode();
-    }
-
-    @Override
-    public int compareTo(doesUserProfileExist_args other) {
-      if (!getClass().equals(other.getClass())) {
-        return getClass().getName().compareTo(other.getClass().getName());
-      }
-
-      int lastComparison = 0;
-
-      lastComparison = Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetAuthzToken()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.authzToken, other.authzToken);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = Boolean.valueOf(isSetUserName()).compareTo(other.isSetUserName());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetUserName()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.userName, other.userName);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetGatewayId()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gatewayId, other.gatewayId);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      return 0;
-    }
-
-    public _Fields fieldForId(int fieldId) {
-      return _Fields.findByThriftId(fieldId);
-    }
-
-    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
-      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
-    }
-
-    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
-      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
-    }
-
-    @Override
-    public String toString() {
-      StringBuilder sb = new StringBuilder("doesUserProfileExist_args(");
-      boolean first = true;
-
-      sb.append("authzToken:");
-      if (this.authzToken == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.authzToken);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("userName:");
-      if (this.userName == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.userName);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("gatewayId:");
-      if (this.gatewayId == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.gatewayId);
-      }
-      first = false;
-      sb.append(")");
-      return sb.toString();
-    }
-
-    public void validate() throws org.apache.thrift.TException {
-      // check for required fields
-      if (authzToken == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'authzToken' was not present! Struct: " + toString());
-      }
-      if (userName == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'userName' was not present! Struct: " + toString());
+      if (userId == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'userId' was not present! Struct: " + toString());
       }
       if (gatewayId == null) {
         throw new org.apache.thrift.protocol.TProtocolException("Required field 'gatewayId' was not present! Struct: " + toString());
@@ -271382,10 +269844,10 @@ public class Airavata {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 2: // USER_NAME
+            case 2: // USER_ID
               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.userName = iprot.readString();
-                struct.setUserNameIsSet(true);
+                struct.userId = iprot.readString();
+                struct.setUserIdIsSet(true);
               } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
@@ -271418,9 +269880,9 @@ public class Airavata {
           struct.authzToken.write(oprot);
           oprot.writeFieldEnd();
         }
-        if (struct.userName != null) {
-          oprot.writeFieldBegin(USER_NAME_FIELD_DESC);
-          oprot.writeString(struct.userName);
+        if (struct.userId != null) {
+          oprot.writeFieldBegin(USER_ID_FIELD_DESC);
+          oprot.writeString(struct.userId);
           oprot.writeFieldEnd();
         }
         if (struct.gatewayId != null) {
@@ -271446,7 +269908,7 @@ public class Airavata {
       public void write(org.apache.thrift.protocol.TProtocol prot, doesUserProfileExist_args struct) throws org.apache.thrift.TException {
         TTupleProtocol oprot = (TTupleProtocol) prot;
         struct.authzToken.write(oprot);
-        oprot.writeString(struct.userName);
+        oprot.writeString(struct.userId);
         oprot.writeString(struct.gatewayId);
       }
 
@@ -271456,8 +269918,8 @@ public class Airavata {
         struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
         struct.authzToken.read(iprot);
         struct.setAuthzTokenIsSet(true);
-        struct.userName = iprot.readString();
-        struct.setUserNameIsSet(true);
+        struct.userId = iprot.readString();
+        struct.setUserIdIsSet(true);
         struct.gatewayId = iprot.readString();
         struct.setGatewayIdIsSet(true);
       }


[41/50] [abbrv] airavata git commit: Updating test keycloak integration deployment

Posted by sm...@apache.org.
Updating test keycloak integration deployment


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

Branch: refs/heads/registry-refactoring
Commit: 5f8d5c6acd9d9bfc5c2d3e241ad684a230020796
Parents: a1c3e83
Author: Marcus Christie <ma...@apache.org>
Authored: Thu May 11 10:51:19 2017 -0400
Committer: Marcus Christie <ma...@apache.org>
Committed: Thu May 11 10:51:19 2017 -0400

----------------------------------------------------------------------
 .../testing-0.17/group_vars/all/vars.yml        |  2 +-
 .../testing-0.17/group_vars/pga/vars.yml        |  6 ++--
 .../testing-0.17/group_vars/pga/vault.yml       | 34 ++++++++++----------
 3 files changed, 21 insertions(+), 21 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/5f8d5c6a/dev-tools/ansible/inventories/testing-0.17/group_vars/all/vars.yml
----------------------------------------------------------------------
diff --git a/dev-tools/ansible/inventories/testing-0.17/group_vars/all/vars.yml b/dev-tools/ansible/inventories/testing-0.17/group_vars/all/vars.yml
index 8f94011..d063986 100644
--- a/dev-tools/ansible/inventories/testing-0.17/group_vars/all/vars.yml
+++ b/dev-tools/ansible/inventories/testing-0.17/group_vars/all/vars.yml
@@ -63,7 +63,7 @@ zookeeper_url: "{{ groups['zookeeper'][0] }}:{{ zookeeper_client_port }}"
 api_server_name: "apiserver-node0"
 api_server_host: "{{ansible_fqdn}}"
 api_server_port: "8930"
-api_secured: "true"
+api_secured: "false"
 tls_enable: "false"
 api_server_tls_port: "9930"
 enable_sharing: "true"

http://git-wip-us.apache.org/repos/asf/airavata/blob/5f8d5c6a/dev-tools/ansible/inventories/testing-0.17/group_vars/pga/vars.yml
----------------------------------------------------------------------
diff --git a/dev-tools/ansible/inventories/testing-0.17/group_vars/pga/vars.yml b/dev-tools/ansible/inventories/testing-0.17/group_vars/pga/vars.yml
index b8df166..a9d8ede 100644
--- a/dev-tools/ansible/inventories/testing-0.17/group_vars/pga/vars.yml
+++ b/dev-tools/ansible/inventories/testing-0.17/group_vars/pga/vars.yml
@@ -29,13 +29,13 @@ vhost_servername: "{{ groups['pga'][0] }}"
 vhost_ssl: False
 
 ## Keycloak related variables
-tenant_domain: "test.seagrid"
-admin_username: "admin"
+tenant_domain: "prod.seagrid"
+admin_username: "prod.seagrid.admin"
 admin_password: "{{ vault_admin_password }}"
 oauth_client_key: "{{ vault_oauth_client_key }}"
 oauth_client_secret: "{{ vault_oauth_client_secret }}"
 oauth_grant_type: "password"
-oidc_discovery_url: "https://iam.scigap.org/auth/realms/test.seagrid/.well-known/openid-configuration"
+oidc_discovery_url: "https://iam.scigap.org/auth/realms/prod.seagrid/.well-known/openid-configuration"
 
 ## Airavata Client related variables
 #airavata_server: "tls://gw77.iu.xsede.org"

http://git-wip-us.apache.org/repos/asf/airavata/blob/5f8d5c6a/dev-tools/ansible/inventories/testing-0.17/group_vars/pga/vault.yml
----------------------------------------------------------------------
diff --git a/dev-tools/ansible/inventories/testing-0.17/group_vars/pga/vault.yml b/dev-tools/ansible/inventories/testing-0.17/group_vars/pga/vault.yml
index 81eb757..31a7704 100644
--- a/dev-tools/ansible/inventories/testing-0.17/group_vars/pga/vault.yml
+++ b/dev-tools/ansible/inventories/testing-0.17/group_vars/pga/vault.yml
@@ -1,18 +1,18 @@
 $ANSIBLE_VAULT;1.1;AES256
-66323164653465383233363936613135323165616436656330613134616330323636353838306539
-6661303966346337656263653330376633316666373132330a636166653364333263383838396537
-65376661636434333635656337363635646531626164346163363530353533356261643431653436
-3966623863396366340a356161633331383937396537343462663633373536343631303337646536
-65653566393331366337623933373166393231366339383533323863313334623662353466613636
-34633339663661313065346139323731336338363166353332383566353266646533633534616331
-31636437303930636262333338346666366337376135633837386134333133333165333038366136
-62356665376266353234643431636438643332633634363131323436383331623832353362656439
-31653638343638316361623366393733643066376336366334636532666332636262363939326232
-33393639346463383762316166616231396130386166343532393830333933613334303465383833
-62636162323036613439366366353133303661663331663764326532363036643632343836316637
-39633738623033343261306330323839616232646263303263623538333330393361353635353766
-66616433316665333665373534323735633835353335353164343138653764303331393937636261
-61393063376232633435393733633438363630306538653065353238646634313737356535653131
-39666533356336636639383766393436613361636338616539343365633266343463376230646539
-62393962303137336366356232633966646263313432383035343530383539373839333333366530
-3230
+39663062643334653464373762356462383964313737616161623035306236633531653431616238
+3433326431356162373964373363316266626362613436370a356664613636623064303666383633
+30656232653065663130626334633235376139663730613032303263666361336262316261646537
+6163393337353134300a313964643764356466373962376662363136313032363734323266343062
+65623638343163626261623434323535373438313935396631356461333032633965333132343661
+35643638343039633562386437666232353930366161313339313439343562616530353830623062
+61643630393661613161623737323537623035353631356533656130636131643233356130653335
+32643565623361346362666163376464666262393739306331313132363830306339333538613166
+62646262353639366434653636353633653566343536616666303133333932353036313965383936
+66333734663461323361643832366337363136353434363066313636323831613438333739626633
+37326666666336353961316139396366353233376161616230623638333532323866633135663162
+32383838396132346533623164666165346432323166353236343235366137666330656231366135
+33323433653939353066333238383735623731656464653938373361353633383261333739633566
+39373435363731653137383033623766316361356232323164333061306239646566333731643738
+62383437343461363462343038623735626564666463373464353138316366643730323931393836
+63366263343839383835393533383533623466643032623433323534323665346463343666333037
+3733


[23/50] [abbrv] airavata git commit: removing mongodb user profile configuration

Posted by sm...@apache.org.
removing mongodb user profile configuration


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

Branch: refs/heads/registry-refactoring
Commit: e6eb0c973bdfdb86762382130941ead5407ff60e
Parents: 93e1811
Author: scnakandala <su...@gmail.com>
Authored: Tue May 2 16:43:40 2017 -0400
Committer: scnakandala <su...@gmail.com>
Committed: Tue May 2 16:43:40 2017 -0400

----------------------------------------------------------------------
 .../airavata/common/utils/ServerSettings.java   |  9 ----
 .../main/resources/airavata-server.properties   |  9 +---
 .../main/resources/airavata-server.properties   | 43 ++++++++------------
 3 files changed, 17 insertions(+), 44 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/e6eb0c97/modules/commons/src/main/java/org/apache/airavata/common/utils/ServerSettings.java
----------------------------------------------------------------------
diff --git a/modules/commons/src/main/java/org/apache/airavata/common/utils/ServerSettings.java b/modules/commons/src/main/java/org/apache/airavata/common/utils/ServerSettings.java
index e232e7b..a251baf 100644
--- a/modules/commons/src/main/java/org/apache/airavata/common/utils/ServerSettings.java
+++ b/modules/commons/src/main/java/org/apache/airavata/common/utils/ServerSettings.java
@@ -76,7 +76,6 @@ public class ServerSettings extends ApplicationSettings {
     private static final java.lang.String SHARING_REGISTRY_PORT = "sharing.registry.server.port";
     private static final java.lang.String SHARING_REGISTRY_HOST = "sharing.registry.server.host";
 
-    private static String USER_PROFILE_MONGODB_HOST = "userprofile.mongodb.host";
     private static String USER_PROFILE_MONGODB_PORT = "userprofile.mongodb.port";
 
     private static final String REGISTRY_DB_URL = "registry.jdbc.url";
@@ -428,14 +427,6 @@ public class ServerSettings extends ApplicationSettings {
         return Integer.valueOf(getSetting(Constants.IN_MEMORY_CACHE_SIZE));
     }
 
-    public static String getUserProfileMongodbHost() throws ApplicationSettingsException{
-        return getSetting(USER_PROFILE_MONGODB_HOST);
-    }
-
-    public static int getUserProfileMongodbPort() throws ApplicationSettingsException{
-        return Integer.parseInt(getSetting(USER_PROFILE_MONGODB_PORT));
-    }
-
     public static String getLocalDataLocation() {
         return System.getProperty("java.io.tmpdir");
     }

http://git-wip-us.apache.org/repos/asf/airavata/blob/e6eb0c97/modules/configuration/server/src/main/resources/airavata-server.properties
----------------------------------------------------------------------
diff --git a/modules/configuration/server/src/main/resources/airavata-server.properties b/modules/configuration/server/src/main/resources/airavata-server.properties
index 9d0a9f3..719eab5 100644
--- a/modules/configuration/server/src/main/resources/airavata-server.properties
+++ b/modules/configuration/server/src/main/resources/airavata-server.properties
@@ -115,14 +115,7 @@ sharingcatalog.validationQuery=SELECT 1 from CONFIGURATION
 sharing_server=org.apache.airavata.sharing.registry.server.SharingRegistryServer
 sharing.registry.server.host=localhost
 sharing.registry.server.port=7878
-
-###########################################################################
-#  User Profile MongoDB Configuration
-###########################################################################
-userprofile.mongodb.host=localhost
-userprofile.mongodb.port=27017
-
-
+        
 ###########################################################################
 #  Server module Configuration
 ###########################################################################

http://git-wip-us.apache.org/repos/asf/airavata/blob/e6eb0c97/modules/test-suite/multi-tenanted-airavata/src/main/resources/airavata-server.properties
----------------------------------------------------------------------
diff --git a/modules/test-suite/multi-tenanted-airavata/src/main/resources/airavata-server.properties b/modules/test-suite/multi-tenanted-airavata/src/main/resources/airavata-server.properties
index 77bbd46..95c04af 100644
--- a/modules/test-suite/multi-tenanted-airavata/src/main/resources/airavata-server.properties
+++ b/modules/test-suite/multi-tenanted-airavata/src/main/resources/airavata-server.properties
@@ -117,13 +117,6 @@ sharing.registry.server.host=localhost
 sharing.registry.server.port=7878
 
 ###########################################################################
-#  User Profile MongoDB Configuration
-###########################################################################
-userprofile.mongodb.host=localhost
-userprofile.mongodb.port=27017
-
-
-###########################################################################
 #  Server module Configuration
 ###########################################################################
 #credential store server should be started before API server
@@ -331,27 +324,23 @@ kafka.topic.prefix=local
 enable.kafka.logging=false
 
 ###########################################################################
-# User Profile module Configuration
+# Profile Service Configuration
 ###########################################################################
-user.profile.server.host=localhost
-user.profile.server.port=8961
-user_profile=org.apache.airavata.user.profile.server.UserProfileServer
+profile.service.server.host=localhost
+profile.service.server.port=8962
+profile_service=org.apache.airavata.service.profile.server.ProfileServiceServer
+# derby properties
+profile.service.jdbc.url=jdbc:derby:profile_service;create=true;user=airavata;password=airavata
+profile.service.jdbc.driver=org.apache.derby.jdbc.ClientDriver
+# mysql properties
+#profile.service.jdbc.url=jdbc:mysql://localhost:3306/profile_service
+#profile.service.jdbc.driver=com.mysql.jdbc.Driver
+profile.service.jdbc.user=airavata
+profile.service.jdbc.password=airavata
+profile.service.validationQuery=SELECT 1
 
 ###########################################################################
-# New User Profile catalog
+# Iam Admin services Configuration
 ###########################################################################
-#for derby [AiravataJPARegistry]
-#Workspace.catalog.registry.jdbc.driver=org.apache.derby.jdbc.ClientDriver
-#Workspace.catalog.registry.jdbc.url=jdbc:derby://localhost:1527/workspace_catalog;create=true;user=airavata;password=airavata
-# MySql database configuration
-user.profile.catalog.registry.jdbc.driver=com.mysql.jdbc.Driver
-user.profile.catalog.registry.jdbc.url=jdbc:mysql://localhost:3306/user_profile_catalog
-user.profile.catalog.registry.jdbc.user=airavata
-user.profile.catalog.registry.jdbc.password=airavata
-user.profile.catalog.validationQuery=SELECT 1 from CONFIGURATION
-
-user.profile.catalog.start.derby.server.mode=true
-user.profile.catalog.cache.enable=true
-user.profile.catalog.jpa.cache.size=5000
-#jpa.connection.properties=MaxActive=10,MaxIdle=5,MinIdle=2,MaxWait=60000,testWhileIdle=true,testOnBorrow=true
-user.profile.catalog.enable.sharing=true
\ No newline at end of file
+iam.server.url=https://iam.scigap.org/auth
+new.gateway.admin.temp.password=Password@123
\ No newline at end of file


[48/50] [abbrv] airavata git commit: updating the resource layer to support new custom node/cpu/walltime configurations

Posted by sm...@apache.org.
updating the resource layer to support new custom node/cpu/walltime configurations


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

Branch: refs/heads/registry-refactoring
Commit: e988672bce256cdc650f90d0f8000f0b154fda98
Parents: 56bc4be
Author: scnakandala <su...@gmail.com>
Authored: Mon May 15 10:49:45 2017 -0400
Committer: scnakandala <su...@gmail.com>
Committed: Mon May 15 10:49:45 2017 -0400

----------------------------------------------------------------------
 .../core/app/catalog/impl/ApplicationDeploymentImpl.java    | 2 ++
 .../registry/core/app/catalog/util/AppCatalogJPAUtils.java  | 5 +++++
 .../core/app/catalog/util/AppCatalogThriftConversion.java   | 9 +++++++++
 3 files changed, 16 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/e988672b/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 3ab169b..cfe3fe1 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
@@ -65,6 +65,7 @@ public class ApplicationDeploymentImpl implements ApplicationDeployment {
             deploymentResource.setDefaultQueueName(deploymentDescription.getDefaultQueueName());
             deploymentResource.setDefaultCPUCount(deploymentDescription.getDefaultCPUCount());
             deploymentResource.setDefaultNodeCount(deploymentDescription.getDefaultNodeCount());
+            deploymentResource.setDefaultWalltime(deploymentDescription.getDefaultWalltime());
             deploymentResource.setEditableByUser(deploymentDescription.isEditableByUser());
             ApplicationParallelismType parallelism = deploymentDescription.getParallelism();
             if (parallelism != null){
@@ -173,6 +174,7 @@ public class ApplicationDeploymentImpl implements ApplicationDeployment {
             existingDep.setDefaultQueueName(updatedDeployment.getDefaultQueueName());
             existingDep.setDefaultCPUCount(updatedDeployment.getDefaultCPUCount());
             existingDep.setDefaultNodeCount(updatedDeployment.getDefaultNodeCount());
+            existingDep.setDefaultWalltime(updatedDeployment.getDefaultWalltime());
             existingDep.setEditableByUser(updatedDeployment.isEditableByUser());
             if (updatedDeployment.getParallelism() != null){
                 existingDep.setParallelism(updatedDeployment.getParallelism().toString());

http://git-wip-us.apache.org/repos/asf/airavata/blob/e988672b/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 ab00192..04cf776 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
@@ -541,6 +541,10 @@ public class AppCatalogJPAUtils {
             computeResourceResource.setCreatedTime(o.getCreationTime());
             computeResourceResource.setEnabled(o.getEnabled());
             computeResourceResource.setMaxMemoryPerNode(o.getMaxMemoryPerNode());
+            computeResourceResource.setCpusPerNode(o.getCpusPerNode());
+            computeResourceResource.setDefaultNodeCount(o.getDefaultNodeCount());
+            computeResourceResource.setDefaultCPUCount(o.getDefaultCPUCount());
+            computeResourceResource.setDefaultWalltime(o.getDefaultWalltime());
             computeResourceResource.setGatewayUsageExec(o.getGatewayUsageExec());
             computeResourceResource.setGatewayUsageModLoadCMD(o.getGatewayUsageModLoadCMD());
             computeResourceResource.setGatewayUsageReporting(o.isGatewayUsageReporting());
@@ -780,6 +784,7 @@ public class AppCatalogJPAUtils {
             resource.setDefaultQueueName(o.getDefaultQueueName());
             resource.setDefaultNodeCount(o.getDefaultNodeCount());
             resource.setDefaultCPUCount(o.getDefaultCPUCount());
+            resource.setDefaultWalltime(o.getDefaultWalltime());
             resource.setEditableByUser(o.isEditableByUser());
             resource.setModuleResource((AppModuleResource) createApplicationModule(o.getApplicationModule()));
             resource.setHostResource((ComputeResourceResource) createComputeResource(o.getComputeResource()));

http://git-wip-us.apache.org/repos/asf/airavata/blob/e988672b/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 0e9acc1..690f6d2 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
@@ -51,6 +51,10 @@ public class AppCatalogThriftConversion {
         resource.setResourceDescription(description.getResourceDescription());
         resource.setResourceId(description.getComputeResourceId());
         resource.setMaxMemoryPerNode(description.getMaxMemoryPerNode());
+        resource.setCpusPerNode(description.getCpusPerNode());
+        resource.setDefaultNodeCount(description.getDefaultNodeCount());
+        resource.setDefaultCPUCount(description.getDefaultCPUCount());
+        resource.setDefaultWalltime(description.getDefaultWallltime());
         resource.setEnabled(description.isEnabled());
         resource.setGatewayUsageReporting(description.isGatewayUsageReporting());
         resource.setGatewayUsageExec(description.getGatewayUsageExecutable());
@@ -73,6 +77,10 @@ public class AppCatalogThriftConversion {
         description.setHostName(resource.getHostName());
         description.setResourceDescription(resource.getResourceDescription());
         description.setMaxMemoryPerNode(resource.getMaxMemoryPerNode());
+        description.setCpusPerNode(resource.getCpusPerNode());
+        description.setDefaultNodeCount(resource.getDefaultNodeCount());
+        description.setDefaultCPUCount(resource.getDefaultCPUCount());
+        description.setDefaultWallltime(resource.getDefaultWalltime());
         description.setEnabled(resource.isEnabled());
         description.setGatewayUsageReporting(resource.isGatewayUsageReporting());
         description.setGatewayUsageExecutable(resource.getGatewayUsageExec());
@@ -724,6 +732,7 @@ public class AppCatalogThriftConversion {
         description.setDefaultQueueName(resource.getDefaultQueueName());
         description.setDefaultCPUCount(resource.getDefaultCPUCount());
         description.setDefaultNodeCount(resource.getDefaultNodeCount());
+        description.setDefaultWalltime(resource.getDefaultWalltime());
         description.setEditableByUser(resource.isEditableByUser());
 
         ModuleLoadCmdResource cmdResource = new ModuleLoadCmdResource();


[08/50] [abbrv] airavata git commit: Add Tenant Profile Thrift Model

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/ComponentState.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/ComponentState.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/ComponentState.java
index 624567b..1e68782 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/ComponentState.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/ComponentState.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/ComponentStatus.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/ComponentStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/ComponentStatus.java
index 837bff7..4da27d6 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/ComponentStatus.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/ComponentStatus.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/EdgeModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/EdgeModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/EdgeModel.java
index 8c173ed..949692b 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/EdgeModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/EdgeModel.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/NodeModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/NodeModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/NodeModel.java
index a244f95..ea24faa 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/NodeModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/NodeModel.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/PortModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/PortModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/PortModel.java
index edc316d..54b3391 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/PortModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/PortModel.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowModel.java
index 8255e3e..ba6569c 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowModel.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowState.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowState.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowState.java
index 5a290bb..5faac14 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowState.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowState.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowStatus.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowStatus.java
index adbbb65..deadf51 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowStatus.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowStatus.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationDeploymentDescription.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationDeploymentDescription.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationDeploymentDescription.java
index 6925295..36f1d9d 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationDeploymentDescription.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationDeploymentDescription.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationModule.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationModule.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationModule.java
index da9ee8d..f574e9a 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationModule.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationModule.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/CommandObject.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/CommandObject.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/CommandObject.java
index c2db4c8..45df73d 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/CommandObject.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/CommandObject.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/SetEnvPaths.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/SetEnvPaths.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/SetEnvPaths.java
index c7b6ed7..392cc9e 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/SetEnvPaths.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/SetEnvPaths.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/ApplicationInterfaceDescription.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/ApplicationInterfaceDescription.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/ApplicationInterfaceDescription.java
index 84d6f6d..e832256 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/ApplicationInterfaceDescription.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/ApplicationInterfaceDescription.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/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 4f481b0..67dfc20 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
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/CloudJobSubmission.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/CloudJobSubmission.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/CloudJobSubmission.java
index bbed869..7d540de 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/CloudJobSubmission.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/CloudJobSubmission.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ComputeResourceDescription.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ComputeResourceDescription.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ComputeResourceDescription.java
index e306e90..c1dd4f9 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ComputeResourceDescription.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ComputeResourceDescription.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/DMType.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/DMType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/DMType.java
index d48b946..a434764 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/DMType.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/DMType.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/FileSystems.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/FileSystems.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/FileSystems.java
index ab80903..ad1d6e4 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/FileSystems.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/FileSystems.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/GlobusJobSubmission.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/GlobusJobSubmission.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/GlobusJobSubmission.java
index 5d62480..70b7644 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/GlobusJobSubmission.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/GlobusJobSubmission.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobManagerCommand.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobManagerCommand.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobManagerCommand.java
index b561e36..673da16 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobManagerCommand.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobManagerCommand.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobSubmissionInterface.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobSubmissionInterface.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobSubmissionInterface.java
index 6f127c1..b83cc4e 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobSubmissionInterface.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobSubmissionInterface.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobSubmissionProtocol.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobSubmissionProtocol.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobSubmissionProtocol.java
index b73e49c..7c2d3e2 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobSubmissionProtocol.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobSubmissionProtocol.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/LOCALSubmission.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/LOCALSubmission.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/LOCALSubmission.java
index 568d861..907f427 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/LOCALSubmission.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/LOCALSubmission.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/MonitorMode.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/MonitorMode.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/MonitorMode.java
index 6d726ac..8526dff 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/MonitorMode.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/MonitorMode.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ProviderName.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ProviderName.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ProviderName.java
index 5973b1a..34b85a4 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ProviderName.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ProviderName.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManager.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManager.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManager.java
index 180a72a..bca1b6f 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManager.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManager.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManagerType.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManagerType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManagerType.java
index 8b72982..04dfb74 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManagerType.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManagerType.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *
@@ -26,6 +24,10 @@
 package org.apache.airavata.model.appcatalog.computeresource;
 
 
+import java.util.Map;
+import java.util.HashMap;
+import org.apache.thrift.TEnum;
+
 /**
  * * Enumeration of local resource job manager types supported by Airavata
  * *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SSHJobSubmission.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SSHJobSubmission.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SSHJobSubmission.java
index 88ba934..8a9007a 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SSHJobSubmission.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SSHJobSubmission.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/UnicoreJobSubmission.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/UnicoreJobSubmission.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/UnicoreJobSubmission.java
index 6d8a6bb..1d367fb 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/UnicoreJobSubmission.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/UnicoreJobSubmission.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/ComputeResourcePreference.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/ComputeResourcePreference.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/ComputeResourcePreference.java
index d24f78e..b1c092b 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/ComputeResourcePreference.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/ComputeResourcePreference.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/GatewayResourceProfile.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/GatewayResourceProfile.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/GatewayResourceProfile.java
index 129af1f..31f33f6 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/GatewayResourceProfile.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/GatewayResourceProfile.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/StoragePreference.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/StoragePreference.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/StoragePreference.java
index ecdcb1d..9c274d6 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/StoragePreference.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/StoragePreference.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/storageresource/StorageResourceDescription.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/storageresource/StorageResourceDescription.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/storageresource/StorageResourceDescription.java
index e8d9459..1499cd8 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/storageresource/StorageResourceDescription.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/storageresource/StorageResourceDescription.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/userresourceprofile/UserComputeResourcePreference.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/userresourceprofile/UserComputeResourcePreference.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/userresourceprofile/UserComputeResourcePreference.java
index 0de482b..276b7ca 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/userresourceprofile/UserComputeResourcePreference.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/userresourceprofile/UserComputeResourcePreference.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/userresourceprofile/UserResourceProfile.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/userresourceprofile/UserResourceProfile.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/userresourceprofile/UserResourceProfile.java
index 979208b..5ac614d 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/userresourceprofile/UserResourceProfile.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/userresourceprofile/UserResourceProfile.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/userresourceprofile/UserStoragePreference.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/userresourceprofile/UserStoragePreference.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/userresourceprofile/UserStoragePreference.java
index 0464336..daa5df2 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/userresourceprofile/UserStoragePreference.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/userresourceprofile/UserStoragePreference.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *


[07/50] [abbrv] airavata git commit: Add Tenant Profile Thrift Model

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/DataType.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/DataType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/DataType.java
index e32653e..8bef839 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/DataType.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/DataType.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/InputDataObjectType.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/InputDataObjectType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/InputDataObjectType.java
index 98547d4..6308e58 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/InputDataObjectType.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/InputDataObjectType.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/OutputDataObjectType.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/OutputDataObjectType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/OutputDataObjectType.java
index 75e6d64..19df1e3 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/OutputDataObjectType.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/OutputDataObjectType.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ErrorModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ErrorModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ErrorModel.java
index c981170..2adadf4 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ErrorModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ErrorModel.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidationResults.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidationResults.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidationResults.java
index 95cb756..154f28c 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidationResults.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidationResults.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidatorResult.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidatorResult.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidatorResult.java
index 359d67e..1ef9ee3 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidatorResult.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidatorResult.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/airavata_commonsConstants.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/airavata_commonsConstants.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/airavata_commonsConstants.java
index 977333d..c8be61d 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/airavata_commonsConstants.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/airavata_commonsConstants.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/CertificateCredential.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/CertificateCredential.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/CertificateCredential.java
index 3c4cb53..c1d959c 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/CertificateCredential.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/CertificateCredential.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/CommunityUser.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/CommunityUser.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/CommunityUser.java
index ba4e56b..199fee6 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/CommunityUser.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/CommunityUser.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/CredentialOwnerType.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/CredentialOwnerType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/CredentialOwnerType.java
index c5a9814..01b3c90 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/CredentialOwnerType.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/CredentialOwnerType.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/CredentialSummary.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/CredentialSummary.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/CredentialSummary.java
index 0cd6529..c31a1b1 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/CredentialSummary.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/CredentialSummary.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/PasswordCredential.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/PasswordCredential.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/PasswordCredential.java
index 8f2f9cb..f7d5db0 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/PasswordCredential.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/PasswordCredential.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/SSHCredential.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/SSHCredential.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/SSHCredential.java
index 0203895..670fc7e 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/SSHCredential.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/SSHCredential.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/SummaryType.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/SummaryType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/SummaryType.java
index e24c144..7451f89 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/SummaryType.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/SummaryType.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/credential_store_data_modelsConstants.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/credential_store_data_modelsConstants.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/credential_store_data_modelsConstants.java
index 7d1f400..d4b1dd0 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/credential_store_data_modelsConstants.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/credential_store_data_modelsConstants.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/DMType.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/DMType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/DMType.java
index 5b4fd31..5ff84bd 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/DMType.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/DMType.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/DataMovementInterface.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/DataMovementInterface.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/DataMovementInterface.java
index a973938..b9678e0 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/DataMovementInterface.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/DataMovementInterface.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/DataMovementProtocol.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/DataMovementProtocol.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/DataMovementProtocol.java
index 97c69a8..627b91b 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/DataMovementProtocol.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/DataMovementProtocol.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/GridFTPDataMovement.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/GridFTPDataMovement.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/GridFTPDataMovement.java
index 4f6754d..9e586ce 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/GridFTPDataMovement.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/GridFTPDataMovement.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/LOCALDataMovement.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/LOCALDataMovement.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/LOCALDataMovement.java
index 826fae7..3db57a7 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/LOCALDataMovement.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/LOCALDataMovement.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/SCPDataMovement.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/SCPDataMovement.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/SCPDataMovement.java
index 382ee05..31c4ddb 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/SCPDataMovement.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/SCPDataMovement.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/SecurityProtocol.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/SecurityProtocol.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/SecurityProtocol.java
index f5b380e..359930a 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/SecurityProtocol.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/SecurityProtocol.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/UnicoreDataMovement.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/UnicoreDataMovement.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/UnicoreDataMovement.java
index 7047942..8d54c40 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/UnicoreDataMovement.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/UnicoreDataMovement.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/replica/DataProductModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/replica/DataProductModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/replica/DataProductModel.java
index 3b48a66..931e94c 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/replica/DataProductModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/replica/DataProductModel.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *
@@ -219,7 +217,7 @@ public class DataProductModel implements org.apache.thrift.TBase<DataProductMode
             new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
     tmpMap.put(_Fields.REPLICA_LOCATIONS, new org.apache.thrift.meta_data.FieldMetaData("replicaLocations", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
-            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT            , "DataReplicaLocationModel"))));
+            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, DataReplicaLocationModel.class))));
     metaDataMap = Collections.unmodifiableMap(tmpMap);
     org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(DataProductModel.class, metaDataMap);
   }
@@ -263,7 +261,7 @@ public class DataProductModel implements org.apache.thrift.TBase<DataProductMode
     if (other.isSetReplicaLocations()) {
       List<DataReplicaLocationModel> __this__replicaLocations = new ArrayList<DataReplicaLocationModel>(other.replicaLocations.size());
       for (DataReplicaLocationModel other_element : other.replicaLocations) {
-        __this__replicaLocations.add(other_element);
+        __this__replicaLocations.add(new DataReplicaLocationModel(other_element));
       }
       this.replicaLocations = __this__replicaLocations;
     }
@@ -1351,15 +1349,15 @@ public class DataProductModel implements org.apache.thrift.TBase<DataProductMode
           case 11: // PRODUCT_METADATA
             if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
               {
-                org.apache.thrift.protocol.TMap _map0 = iprot.readMapBegin();
-                struct.productMetadata = new HashMap<String,String>(2*_map0.size);
-                String _key1;
-                String _val2;
-                for (int _i3 = 0; _i3 < _map0.size; ++_i3)
+                org.apache.thrift.protocol.TMap _map10 = iprot.readMapBegin();
+                struct.productMetadata = new HashMap<String,String>(2*_map10.size);
+                String _key11;
+                String _val12;
+                for (int _i13 = 0; _i13 < _map10.size; ++_i13)
                 {
-                  _key1 = iprot.readString();
-                  _val2 = iprot.readString();
-                  struct.productMetadata.put(_key1, _val2);
+                  _key11 = iprot.readString();
+                  _val12 = iprot.readString();
+                  struct.productMetadata.put(_key11, _val12);
                 }
                 iprot.readMapEnd();
               }
@@ -1371,14 +1369,14 @@ public class DataProductModel implements org.apache.thrift.TBase<DataProductMode
           case 12: // REPLICA_LOCATIONS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list4 = iprot.readListBegin();
-                struct.replicaLocations = new ArrayList<DataReplicaLocationModel>(_list4.size);
-                DataReplicaLocationModel _elem5;
-                for (int _i6 = 0; _i6 < _list4.size; ++_i6)
+                org.apache.thrift.protocol.TList _list14 = iprot.readListBegin();
+                struct.replicaLocations = new ArrayList<DataReplicaLocationModel>(_list14.size);
+                DataReplicaLocationModel _elem15;
+                for (int _i16 = 0; _i16 < _list14.size; ++_i16)
                 {
-                  _elem5 = new DataReplicaLocationModel();
-                  _elem5.read(iprot);
-                  struct.replicaLocations.add(_elem5);
+                  _elem15 = new DataReplicaLocationModel();
+                  _elem15.read(iprot);
+                  struct.replicaLocations.add(_elem15);
                 }
                 iprot.readListEnd();
               }
@@ -1469,10 +1467,10 @@ public class DataProductModel implements org.apache.thrift.TBase<DataProductMode
           oprot.writeFieldBegin(PRODUCT_METADATA_FIELD_DESC);
           {
             oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, struct.productMetadata.size()));
-            for (Map.Entry<String, String> _iter7 : struct.productMetadata.entrySet())
+            for (Map.Entry<String, String> _iter17 : struct.productMetadata.entrySet())
             {
-              oprot.writeString(_iter7.getKey());
-              oprot.writeString(_iter7.getValue());
+              oprot.writeString(_iter17.getKey());
+              oprot.writeString(_iter17.getValue());
             }
             oprot.writeMapEnd();
           }
@@ -1484,9 +1482,9 @@ public class DataProductModel implements org.apache.thrift.TBase<DataProductMode
           oprot.writeFieldBegin(REPLICA_LOCATIONS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.replicaLocations.size()));
-            for (DataReplicaLocationModel _iter8 : struct.replicaLocations)
+            for (DataReplicaLocationModel _iter18 : struct.replicaLocations)
             {
-              _iter8.write(oprot);
+              _iter18.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -1581,19 +1579,19 @@ public class DataProductModel implements org.apache.thrift.TBase<DataProductMode
       if (struct.isSetProductMetadata()) {
         {
           oprot.writeI32(struct.productMetadata.size());
-          for (Map.Entry<String, String> _iter9 : struct.productMetadata.entrySet())
+          for (Map.Entry<String, String> _iter19 : struct.productMetadata.entrySet())
           {
-            oprot.writeString(_iter9.getKey());
-            oprot.writeString(_iter9.getValue());
+            oprot.writeString(_iter19.getKey());
+            oprot.writeString(_iter19.getValue());
           }
         }
       }
       if (struct.isSetReplicaLocations()) {
         {
           oprot.writeI32(struct.replicaLocations.size());
-          for (DataReplicaLocationModel _iter10 : struct.replicaLocations)
+          for (DataReplicaLocationModel _iter20 : struct.replicaLocations)
           {
-            _iter10.write(oprot);
+            _iter20.write(oprot);
           }
         }
       }
@@ -1645,29 +1643,29 @@ public class DataProductModel implements org.apache.thrift.TBase<DataProductMode
       }
       if (incoming.get(10)) {
         {
-          org.apache.thrift.protocol.TMap _map11 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-          struct.productMetadata = new HashMap<String,String>(2*_map11.size);
-          String _key12;
-          String _val13;
-          for (int _i14 = 0; _i14 < _map11.size; ++_i14)
+          org.apache.thrift.protocol.TMap _map21 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          struct.productMetadata = new HashMap<String,String>(2*_map21.size);
+          String _key22;
+          String _val23;
+          for (int _i24 = 0; _i24 < _map21.size; ++_i24)
           {
-            _key12 = iprot.readString();
-            _val13 = iprot.readString();
-            struct.productMetadata.put(_key12, _val13);
+            _key22 = iprot.readString();
+            _val23 = iprot.readString();
+            struct.productMetadata.put(_key22, _val23);
           }
         }
         struct.setProductMetadataIsSet(true);
       }
       if (incoming.get(11)) {
         {
-          org.apache.thrift.protocol.TList _list15 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-          struct.replicaLocations = new ArrayList<DataReplicaLocationModel>(_list15.size);
-          DataReplicaLocationModel _elem16;
-          for (int _i17 = 0; _i17 < _list15.size; ++_i17)
+          org.apache.thrift.protocol.TList _list25 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.replicaLocations = new ArrayList<DataReplicaLocationModel>(_list25.size);
+          DataReplicaLocationModel _elem26;
+          for (int _i27 = 0; _i27 < _list25.size; ++_i27)
           {
-            _elem16 = new DataReplicaLocationModel();
-            _elem16.read(iprot);
-            struct.replicaLocations.add(_elem16);
+            _elem26 = new DataReplicaLocationModel();
+            _elem26.read(iprot);
+            struct.replicaLocations.add(_elem26);
           }
         }
         struct.setReplicaLocationsIsSet(true);

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/replica/DataProductType.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/replica/DataProductType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/replica/DataProductType.java
index 77f8003..db4895d 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/replica/DataProductType.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/replica/DataProductType.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/replica/DataReplicaLocationModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/replica/DataReplicaLocationModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/replica/DataReplicaLocationModel.java
index fc76d20..151f9c2 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/replica/DataReplicaLocationModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/replica/DataReplicaLocationModel.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *
@@ -1351,15 +1349,15 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
           case 12: // REPLICA_METADATA
             if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
               {
-                org.apache.thrift.protocol.TMap _map18 = iprot.readMapBegin();
-                struct.replicaMetadata = new HashMap<String,String>(2*_map18.size);
-                String _key19;
-                String _val20;
-                for (int _i21 = 0; _i21 < _map18.size; ++_i21)
+                org.apache.thrift.protocol.TMap _map0 = iprot.readMapBegin();
+                struct.replicaMetadata = new HashMap<String,String>(2*_map0.size);
+                String _key1;
+                String _val2;
+                for (int _i3 = 0; _i3 < _map0.size; ++_i3)
                 {
-                  _key19 = iprot.readString();
-                  _val20 = iprot.readString();
-                  struct.replicaMetadata.put(_key19, _val20);
+                  _key1 = iprot.readString();
+                  _val2 = iprot.readString();
+                  struct.replicaMetadata.put(_key1, _val2);
                 }
                 iprot.readMapEnd();
               }
@@ -1457,10 +1455,10 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
           oprot.writeFieldBegin(REPLICA_METADATA_FIELD_DESC);
           {
             oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, struct.replicaMetadata.size()));
-            for (Map.Entry<String, String> _iter22 : struct.replicaMetadata.entrySet())
+            for (Map.Entry<String, String> _iter4 : struct.replicaMetadata.entrySet())
             {
-              oprot.writeString(_iter22.getKey());
-              oprot.writeString(_iter22.getValue());
+              oprot.writeString(_iter4.getKey());
+              oprot.writeString(_iter4.getValue());
             }
             oprot.writeMapEnd();
           }
@@ -1558,10 +1556,10 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
       if (struct.isSetReplicaMetadata()) {
         {
           oprot.writeI32(struct.replicaMetadata.size());
-          for (Map.Entry<String, String> _iter23 : struct.replicaMetadata.entrySet())
+          for (Map.Entry<String, String> _iter5 : struct.replicaMetadata.entrySet())
           {
-            oprot.writeString(_iter23.getKey());
-            oprot.writeString(_iter23.getValue());
+            oprot.writeString(_iter5.getKey());
+            oprot.writeString(_iter5.getValue());
           }
         }
       }
@@ -1617,15 +1615,15 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
       }
       if (incoming.get(11)) {
         {
-          org.apache.thrift.protocol.TMap _map24 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-          struct.replicaMetadata = new HashMap<String,String>(2*_map24.size);
-          String _key25;
-          String _val26;
-          for (int _i27 = 0; _i27 < _map24.size; ++_i27)
+          org.apache.thrift.protocol.TMap _map6 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          struct.replicaMetadata = new HashMap<String,String>(2*_map6.size);
+          String _key7;
+          String _val8;
+          for (int _i9 = 0; _i9 < _map6.size; ++_i9)
           {
-            _key25 = iprot.readString();
-            _val26 = iprot.readString();
-            struct.replicaMetadata.put(_key25, _val26);
+            _key7 = iprot.readString();
+            _val8 = iprot.readString();
+            struct.replicaMetadata.put(_key7, _val8);
           }
         }
         struct.setReplicaMetadataIsSet(true);

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/replica/ReplicaLocationCategory.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/replica/ReplicaLocationCategory.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/replica/ReplicaLocationCategory.java
index 9b6b436..6cf5a8e 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/replica/ReplicaLocationCategory.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/replica/ReplicaLocationCategory.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/replica/ReplicaPersistentType.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/replica/ReplicaPersistentType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/replica/ReplicaPersistentType.java
index 19715fa..518ca9f 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/replica/ReplicaPersistentType.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/replica/ReplicaPersistentType.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataClientException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataClientException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataClientException.java
index 8e8da82..dfc6630 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataClientException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataClientException.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataErrorType.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataErrorType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataErrorType.java
index 960233d..323195f 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataErrorType.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataErrorType.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataSystemException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataSystemException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataSystemException.java
index 41546e2..feb658c 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataSystemException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataSystemException.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *


[27/50] [abbrv] airavata git commit: fixing bug in parentPath dir

Posted by sm...@apache.org.
fixing bug in parentPath dir


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

Branch: refs/heads/registry-refactoring
Commit: 04abb1e45a0d902dd73394404fdb980817a4da9d
Parents: 0fcce56
Author: scnakandala <su...@gmail.com>
Authored: Wed May 3 16:57:37 2017 -0400
Committer: scnakandala <su...@gmail.com>
Committed: Wed May 3 16:57:37 2017 -0400

----------------------------------------------------------------------
 .../gfac/impl/task/SCPDataStageTask.java        | 28 ++++++++++++--------
 1 file changed, 17 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/04abb1e4/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SCPDataStageTask.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SCPDataStageTask.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SCPDataStageTask.java
index 9a42124..e7451c4 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SCPDataStageTask.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SCPDataStageTask.java
@@ -138,15 +138,6 @@ public class SCPDataStageTask implements Task {
             ServerInfo serverInfo = processContext.getComputeResourceServerInfo();
             Session sshSession = Factory.getSSHSession(authenticationInfo, serverInfo);
 
-            //Wildcard for file name. Has to find the correct name.
-            if(fileName.startsWith("*.")){
-                String temp = taskContext.getParentProcessContext().getDataMovementRemoteCluster()
-                        .getFileNameFromExtension(fileName.substring(2), inputPath, sshSession);
-                if(temp != null && temp != ""){
-                    fileName = temp;
-                }
-            }
-
             URI destinationURI = null;
             if (subTaskModel.getDestination().startsWith("dummy")) {
                 destinationURI = TaskUtils.getDestinationURI(taskContext, hostName, inputPath, fileName);
@@ -163,11 +154,26 @@ public class SCPDataStageTask implements Task {
                 return status;
             }
 
-
             status = new TaskStatus(TaskState.COMPLETED);
 
+            //Wildcard for file name. Has to find the correct name.
+            if(fileName.startsWith("*.")){
+                String destParentPath = (new File(destinationURI.getPath())).getParentFile().getPath();
+                String temp = taskContext.getParentProcessContext().getDataMovementRemoteCluster()
+                        .getFileNameFromExtension(fileName.substring(2), destParentPath, sshSession);
+                if(temp != null && temp != ""){
+                    fileName = temp;
+                }
+                if(destParentPath.endsWith(File.separator)){
+                    destinationURI = new URI(destParentPath + fileName);
+                }else{
+                    destinationURI = new URI(destParentPath + File.separator + fileName);
+                }
+
+            }
+
             if (processState == ProcessState.INPUT_DATA_STAGING) {
-                inputDataStaging(taskContext, sshSession, sourceURI, destinationURI);
+                    inputDataStaging(taskContext, sshSession, sourceURI, destinationURI);
                 status.setReason("Successfully staged input data");
             } else if (processState == ProcessState.OUTPUT_DATA_STAGING) {
                 makeDir(taskContext, destinationURI);


[11/50] [abbrv] airavata git commit: Add Tenant Profile Thrift Model

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Dbevent/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Dbevent/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Dbevent/Types.php
new file mode 100644
index 0000000..bfbc983
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Dbevent/Types.php
@@ -0,0 +1,573 @@
+<?php
+namespace Airavata\Model\Dbevent;
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.3)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+use Thrift\Base\TBase;
+use Thrift\Type\TType;
+use Thrift\Type\TMessageType;
+use Thrift\Exception\TException;
+use Thrift\Exception\TProtocolException;
+use Thrift\Protocol\TProtocol;
+use Thrift\Protocol\TBinaryProtocolAccelerated;
+use Thrift\Exception\TApplicationException;
+
+
+final class CrudType {
+  const CREATE = 0;
+  const READ = 1;
+  const UPDATE = 2;
+  const DELETE = 3;
+  static public $__names = array(
+    0 => 'CREATE',
+    1 => 'READ',
+    2 => 'UPDATE',
+    3 => 'DELETE',
+  );
+}
+
+final class EntityType {
+  const USER_PROFILE = 0;
+  const TENANT = 1;
+  const GROUP = 2;
+  const PROJECT = 3;
+  const EXPERIMENT = 4;
+  const APPLICATION = 5;
+  const SHARING = 6;
+  const REGISTRY = 7;
+  static public $__names = array(
+    0 => 'USER_PROFILE',
+    1 => 'TENANT',
+    2 => 'GROUP',
+    3 => 'PROJECT',
+    4 => 'EXPERIMENT',
+    5 => 'APPLICATION',
+    6 => 'SHARING',
+    7 => 'REGISTRY',
+  );
+}
+
+final class DBEventType {
+  const PUBLISHER = 0;
+  const SUBSCRIBER = 1;
+  static public $__names = array(
+    0 => 'PUBLISHER',
+    1 => 'SUBSCRIBER',
+  );
+}
+
+class DBEventPublisherContext {
+  static $_TSPEC;
+
+  /**
+   * @var int
+   */
+  public $crudType = null;
+  /**
+   * @var int
+   */
+  public $entityType = null;
+  /**
+   * @var string
+   */
+  public $entityDataModel = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'crudType',
+          'type' => TType::I32,
+          ),
+        2 => array(
+          'var' => 'entityType',
+          'type' => TType::I32,
+          ),
+        3 => array(
+          'var' => 'entityDataModel',
+          'type' => TType::STRING,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['crudType'])) {
+        $this->crudType = $vals['crudType'];
+      }
+      if (isset($vals['entityType'])) {
+        $this->entityType = $vals['entityType'];
+      }
+      if (isset($vals['entityDataModel'])) {
+        $this->entityDataModel = $vals['entityDataModel'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'DBEventPublisherContext';
+  }
+
+  public function read($input)
+  {
+    $xfer = 0;
+    $fname = null;
+    $ftype = 0;
+    $fid = 0;
+    $xfer += $input->readStructBegin($fname);
+    while (true)
+    {
+      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+      if ($ftype == TType::STOP) {
+        break;
+      }
+      switch ($fid)
+      {
+        case 1:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->crudType);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->entityType);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->entityDataModel);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        default:
+          $xfer += $input->skip($ftype);
+          break;
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+  public function write($output) {
+    $xfer = 0;
+    $xfer += $output->writeStructBegin('DBEventPublisherContext');
+    if ($this->crudType !== null) {
+      $xfer += $output->writeFieldBegin('crudType', TType::I32, 1);
+      $xfer += $output->writeI32($this->crudType);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->entityType !== null) {
+      $xfer += $output->writeFieldBegin('entityType', TType::I32, 2);
+      $xfer += $output->writeI32($this->entityType);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->entityDataModel !== null) {
+      $xfer += $output->writeFieldBegin('entityDataModel', TType::STRING, 3);
+      $xfer += $output->writeString($this->entityDataModel);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class DBEventPublisher {
+  static $_TSPEC;
+
+  /**
+   * @var \Airavata\Model\Dbevent\DBEventPublisherContext
+   */
+  public $publisherContext = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'publisherContext',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\Model\Dbevent\DBEventPublisherContext',
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['publisherContext'])) {
+        $this->publisherContext = $vals['publisherContext'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'DBEventPublisher';
+  }
+
+  public function read($input)
+  {
+    $xfer = 0;
+    $fname = null;
+    $ftype = 0;
+    $fid = 0;
+    $xfer += $input->readStructBegin($fname);
+    while (true)
+    {
+      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+      if ($ftype == TType::STOP) {
+        break;
+      }
+      switch ($fid)
+      {
+        case 1:
+          if ($ftype == TType::STRUCT) {
+            $this->publisherContext = new \Airavata\Model\Dbevent\DBEventPublisherContext();
+            $xfer += $this->publisherContext->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        default:
+          $xfer += $input->skip($ftype);
+          break;
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+  public function write($output) {
+    $xfer = 0;
+    $xfer += $output->writeStructBegin('DBEventPublisher');
+    if ($this->publisherContext !== null) {
+      if (!is_object($this->publisherContext)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('publisherContext', TType::STRUCT, 1);
+      $xfer += $this->publisherContext->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class DBEventSubscriber {
+  static $_TSPEC;
+
+  /**
+   * @var string
+   */
+  public $subscriberService = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'subscriberService',
+          'type' => TType::STRING,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['subscriberService'])) {
+        $this->subscriberService = $vals['subscriberService'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'DBEventSubscriber';
+  }
+
+  public function read($input)
+  {
+    $xfer = 0;
+    $fname = null;
+    $ftype = 0;
+    $fid = 0;
+    $xfer += $input->readStructBegin($fname);
+    while (true)
+    {
+      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+      if ($ftype == TType::STOP) {
+        break;
+      }
+      switch ($fid)
+      {
+        case 1:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->subscriberService);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        default:
+          $xfer += $input->skip($ftype);
+          break;
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+  public function write($output) {
+    $xfer = 0;
+    $xfer += $output->writeStructBegin('DBEventSubscriber');
+    if ($this->subscriberService !== null) {
+      $xfer += $output->writeFieldBegin('subscriberService', TType::STRING, 1);
+      $xfer += $output->writeString($this->subscriberService);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class DBEventMessageContext {
+  static $_TSPEC;
+
+  /**
+   * @var \Airavata\Model\Dbevent\DBEventPublisher
+   */
+  public $publisher = null;
+  /**
+   * @var \Airavata\Model\Dbevent\DBEventSubscriber
+   */
+  public $subscriber = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'publisher',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\Model\Dbevent\DBEventPublisher',
+          ),
+        2 => array(
+          'var' => 'subscriber',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\Model\Dbevent\DBEventSubscriber',
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['publisher'])) {
+        $this->publisher = $vals['publisher'];
+      }
+      if (isset($vals['subscriber'])) {
+        $this->subscriber = $vals['subscriber'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'DBEventMessageContext';
+  }
+
+  public function read($input)
+  {
+    $xfer = 0;
+    $fname = null;
+    $ftype = 0;
+    $fid = 0;
+    $xfer += $input->readStructBegin($fname);
+    while (true)
+    {
+      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+      if ($ftype == TType::STOP) {
+        break;
+      }
+      switch ($fid)
+      {
+        case 1:
+          if ($ftype == TType::STRUCT) {
+            $this->publisher = new \Airavata\Model\Dbevent\DBEventPublisher();
+            $xfer += $this->publisher->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::STRUCT) {
+            $this->subscriber = new \Airavata\Model\Dbevent\DBEventSubscriber();
+            $xfer += $this->subscriber->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        default:
+          $xfer += $input->skip($ftype);
+          break;
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+  public function write($output) {
+    $xfer = 0;
+    $xfer += $output->writeStructBegin('DBEventMessageContext');
+    if ($this->publisher !== null) {
+      if (!is_object($this->publisher)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('publisher', TType::STRUCT, 1);
+      $xfer += $this->publisher->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->subscriber !== null) {
+      if (!is_object($this->subscriber)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('subscriber', TType::STRUCT, 2);
+      $xfer += $this->subscriber->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class DBEventMessage {
+  static $_TSPEC;
+
+  /**
+   * @var int
+   */
+  public $dbEventType = null;
+  /**
+   * @var \Airavata\Model\Dbevent\DBEventMessageContext
+   */
+  public $messageContext = null;
+  /**
+   * @var string
+   */
+  public $publisherService = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'dbEventType',
+          'type' => TType::I32,
+          ),
+        2 => array(
+          'var' => 'messageContext',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\Model\Dbevent\DBEventMessageContext',
+          ),
+        3 => array(
+          'var' => 'publisherService',
+          'type' => TType::STRING,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['dbEventType'])) {
+        $this->dbEventType = $vals['dbEventType'];
+      }
+      if (isset($vals['messageContext'])) {
+        $this->messageContext = $vals['messageContext'];
+      }
+      if (isset($vals['publisherService'])) {
+        $this->publisherService = $vals['publisherService'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'DBEventMessage';
+  }
+
+  public function read($input)
+  {
+    $xfer = 0;
+    $fname = null;
+    $ftype = 0;
+    $fid = 0;
+    $xfer += $input->readStructBegin($fname);
+    while (true)
+    {
+      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+      if ($ftype == TType::STOP) {
+        break;
+      }
+      switch ($fid)
+      {
+        case 1:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->dbEventType);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::STRUCT) {
+            $this->messageContext = new \Airavata\Model\Dbevent\DBEventMessageContext();
+            $xfer += $this->messageContext->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->publisherService);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        default:
+          $xfer += $input->skip($ftype);
+          break;
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+  public function write($output) {
+    $xfer = 0;
+    $xfer += $output->writeStructBegin('DBEventMessage');
+    if ($this->dbEventType !== null) {
+      $xfer += $output->writeFieldBegin('dbEventType', TType::I32, 1);
+      $xfer += $output->writeI32($this->dbEventType);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->messageContext !== null) {
+      if (!is_object($this->messageContext)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('messageContext', TType::STRUCT, 2);
+      $xfer += $this->messageContext->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->publisherService !== null) {
+      $xfer += $output->writeFieldBegin('publisherService', TType::STRING, 3);
+      $xfer += $output->writeString($this->publisherService);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Messaging/Event/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Messaging/Event/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Messaging/Event/Types.php
index 96a015e..fed31a4 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Messaging/Event/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Messaging/Event/Types.php
@@ -39,6 +39,7 @@ final class MessageType {
   const LAUNCHPROCESS = 5;
   const TERMINATEPROCESS = 6;
   const PROCESSOUTPUT = 7;
+  const DB_EVENT = 8;
   static public $__names = array(
     0 => 'EXPERIMENT',
     1 => 'EXPERIMENT_CANCEL',
@@ -48,6 +49,7 @@ final class MessageType {
     5 => 'LAUNCHPROCESS',
     6 => 'TERMINATEPROCESS',
     7 => 'PROCESSOUTPUT',
+    8 => 'DB_EVENT',
   );
 }
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Tenant/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Tenant/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Tenant/Types.php
new file mode 100644
index 0000000..74595f8
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Tenant/Types.php
@@ -0,0 +1,528 @@
+<?php
+namespace Airavata\Model\Tenant;
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.3)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+use Thrift\Base\TBase;
+use Thrift\Type\TType;
+use Thrift\Type\TMessageType;
+use Thrift\Exception\TException;
+use Thrift\Exception\TProtocolException;
+use Thrift\Protocol\TProtocol;
+use Thrift\Protocol\TBinaryProtocolAccelerated;
+use Thrift\Exception\TApplicationException;
+
+
+final class TenantApprovalStatus {
+  const REQUESTED = 0;
+  const APPROVED = 1;
+  const ACTIVE = 2;
+  const DEACTIVATED = 3;
+  const CANCELLED = 4;
+  const DENIED = 5;
+  const CREATED = 6;
+  static public $__names = array(
+    0 => 'REQUESTED',
+    1 => 'APPROVED',
+    2 => 'ACTIVE',
+    3 => 'DEACTIVATED',
+    4 => 'CANCELLED',
+    5 => 'DENIED',
+    6 => 'CREATED',
+  );
+}
+
+class Tenant {
+  static $_TSPEC;
+
+  /**
+   * @var string
+   */
+  public $tenantId = null;
+  /**
+   * @var int
+   */
+  public $tenantApprovalStatus = null;
+  /**
+   * @var string
+   */
+  public $tenantName = null;
+  /**
+   * @var string
+   */
+  public $domain = null;
+  /**
+   * @var string
+   */
+  public $emailAddress = null;
+  /**
+   * @var string
+   */
+  public $tenantAcronym = null;
+  /**
+   * @var string
+   */
+  public $tenantURL = null;
+  /**
+   * @var string
+   */
+  public $tenantPublicAbstract = null;
+  /**
+   * @var string
+   */
+  public $reviewProposalDescription = null;
+  /**
+   * @var string
+   */
+  public $tenantAdminFirstName = null;
+  /**
+   * @var string
+   */
+  public $tenantAdminLastName = null;
+  /**
+   * @var string
+   */
+  public $tenantAdminEmail = null;
+  /**
+   * @var string
+   */
+  public $identityServerUserName = null;
+  /**
+   * @var string
+   */
+  public $identityServerPasswordToken = null;
+  /**
+   * @var string
+   */
+  public $declinedReason = null;
+  /**
+   * @var string
+   */
+  public $oauthClientId = null;
+  /**
+   * @var string
+   */
+  public $oauthClientSecret = null;
+  /**
+   * @var int
+   */
+  public $requestCreationTime = null;
+  /**
+   * @var string
+   */
+  public $requesterUsername = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'tenantId',
+          'type' => TType::STRING,
+          ),
+        2 => array(
+          'var' => 'tenantApprovalStatus',
+          'type' => TType::I32,
+          ),
+        3 => array(
+          'var' => 'tenantName',
+          'type' => TType::STRING,
+          ),
+        4 => array(
+          'var' => 'domain',
+          'type' => TType::STRING,
+          ),
+        5 => array(
+          'var' => 'emailAddress',
+          'type' => TType::STRING,
+          ),
+        6 => array(
+          'var' => 'tenantAcronym',
+          'type' => TType::STRING,
+          ),
+        7 => array(
+          'var' => 'tenantURL',
+          'type' => TType::STRING,
+          ),
+        8 => array(
+          'var' => 'tenantPublicAbstract',
+          'type' => TType::STRING,
+          ),
+        9 => array(
+          'var' => 'reviewProposalDescription',
+          'type' => TType::STRING,
+          ),
+        10 => array(
+          'var' => 'tenantAdminFirstName',
+          'type' => TType::STRING,
+          ),
+        11 => array(
+          'var' => 'tenantAdminLastName',
+          'type' => TType::STRING,
+          ),
+        12 => array(
+          'var' => 'tenantAdminEmail',
+          'type' => TType::STRING,
+          ),
+        13 => array(
+          'var' => 'identityServerUserName',
+          'type' => TType::STRING,
+          ),
+        14 => array(
+          'var' => 'identityServerPasswordToken',
+          'type' => TType::STRING,
+          ),
+        15 => array(
+          'var' => 'declinedReason',
+          'type' => TType::STRING,
+          ),
+        16 => array(
+          'var' => 'oauthClientId',
+          'type' => TType::STRING,
+          ),
+        17 => array(
+          'var' => 'oauthClientSecret',
+          'type' => TType::STRING,
+          ),
+        18 => array(
+          'var' => 'requestCreationTime',
+          'type' => TType::I64,
+          ),
+        19 => array(
+          'var' => 'requesterUsername',
+          'type' => TType::STRING,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['tenantId'])) {
+        $this->tenantId = $vals['tenantId'];
+      }
+      if (isset($vals['tenantApprovalStatus'])) {
+        $this->tenantApprovalStatus = $vals['tenantApprovalStatus'];
+      }
+      if (isset($vals['tenantName'])) {
+        $this->tenantName = $vals['tenantName'];
+      }
+      if (isset($vals['domain'])) {
+        $this->domain = $vals['domain'];
+      }
+      if (isset($vals['emailAddress'])) {
+        $this->emailAddress = $vals['emailAddress'];
+      }
+      if (isset($vals['tenantAcronym'])) {
+        $this->tenantAcronym = $vals['tenantAcronym'];
+      }
+      if (isset($vals['tenantURL'])) {
+        $this->tenantURL = $vals['tenantURL'];
+      }
+      if (isset($vals['tenantPublicAbstract'])) {
+        $this->tenantPublicAbstract = $vals['tenantPublicAbstract'];
+      }
+      if (isset($vals['reviewProposalDescription'])) {
+        $this->reviewProposalDescription = $vals['reviewProposalDescription'];
+      }
+      if (isset($vals['tenantAdminFirstName'])) {
+        $this->tenantAdminFirstName = $vals['tenantAdminFirstName'];
+      }
+      if (isset($vals['tenantAdminLastName'])) {
+        $this->tenantAdminLastName = $vals['tenantAdminLastName'];
+      }
+      if (isset($vals['tenantAdminEmail'])) {
+        $this->tenantAdminEmail = $vals['tenantAdminEmail'];
+      }
+      if (isset($vals['identityServerUserName'])) {
+        $this->identityServerUserName = $vals['identityServerUserName'];
+      }
+      if (isset($vals['identityServerPasswordToken'])) {
+        $this->identityServerPasswordToken = $vals['identityServerPasswordToken'];
+      }
+      if (isset($vals['declinedReason'])) {
+        $this->declinedReason = $vals['declinedReason'];
+      }
+      if (isset($vals['oauthClientId'])) {
+        $this->oauthClientId = $vals['oauthClientId'];
+      }
+      if (isset($vals['oauthClientSecret'])) {
+        $this->oauthClientSecret = $vals['oauthClientSecret'];
+      }
+      if (isset($vals['requestCreationTime'])) {
+        $this->requestCreationTime = $vals['requestCreationTime'];
+      }
+      if (isset($vals['requesterUsername'])) {
+        $this->requesterUsername = $vals['requesterUsername'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'Tenant';
+  }
+
+  public function read($input)
+  {
+    $xfer = 0;
+    $fname = null;
+    $ftype = 0;
+    $fid = 0;
+    $xfer += $input->readStructBegin($fname);
+    while (true)
+    {
+      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+      if ($ftype == TType::STOP) {
+        break;
+      }
+      switch ($fid)
+      {
+        case 1:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->tenantId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->tenantApprovalStatus);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->tenantName);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 4:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->domain);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 5:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->emailAddress);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 6:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->tenantAcronym);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 7:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->tenantURL);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 8:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->tenantPublicAbstract);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 9:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->reviewProposalDescription);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 10:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->tenantAdminFirstName);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 11:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->tenantAdminLastName);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 12:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->tenantAdminEmail);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 13:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->identityServerUserName);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 14:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->identityServerPasswordToken);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 15:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->declinedReason);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 16:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->oauthClientId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 17:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->oauthClientSecret);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 18:
+          if ($ftype == TType::I64) {
+            $xfer += $input->readI64($this->requestCreationTime);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 19:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->requesterUsername);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        default:
+          $xfer += $input->skip($ftype);
+          break;
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+  public function write($output) {
+    $xfer = 0;
+    $xfer += $output->writeStructBegin('Tenant');
+    if ($this->tenantId !== null) {
+      $xfer += $output->writeFieldBegin('tenantId', TType::STRING, 1);
+      $xfer += $output->writeString($this->tenantId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->tenantApprovalStatus !== null) {
+      $xfer += $output->writeFieldBegin('tenantApprovalStatus', TType::I32, 2);
+      $xfer += $output->writeI32($this->tenantApprovalStatus);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->tenantName !== null) {
+      $xfer += $output->writeFieldBegin('tenantName', TType::STRING, 3);
+      $xfer += $output->writeString($this->tenantName);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->domain !== null) {
+      $xfer += $output->writeFieldBegin('domain', TType::STRING, 4);
+      $xfer += $output->writeString($this->domain);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->emailAddress !== null) {
+      $xfer += $output->writeFieldBegin('emailAddress', TType::STRING, 5);
+      $xfer += $output->writeString($this->emailAddress);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->tenantAcronym !== null) {
+      $xfer += $output->writeFieldBegin('tenantAcronym', TType::STRING, 6);
+      $xfer += $output->writeString($this->tenantAcronym);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->tenantURL !== null) {
+      $xfer += $output->writeFieldBegin('tenantURL', TType::STRING, 7);
+      $xfer += $output->writeString($this->tenantURL);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->tenantPublicAbstract !== null) {
+      $xfer += $output->writeFieldBegin('tenantPublicAbstract', TType::STRING, 8);
+      $xfer += $output->writeString($this->tenantPublicAbstract);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->reviewProposalDescription !== null) {
+      $xfer += $output->writeFieldBegin('reviewProposalDescription', TType::STRING, 9);
+      $xfer += $output->writeString($this->reviewProposalDescription);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->tenantAdminFirstName !== null) {
+      $xfer += $output->writeFieldBegin('tenantAdminFirstName', TType::STRING, 10);
+      $xfer += $output->writeString($this->tenantAdminFirstName);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->tenantAdminLastName !== null) {
+      $xfer += $output->writeFieldBegin('tenantAdminLastName', TType::STRING, 11);
+      $xfer += $output->writeString($this->tenantAdminLastName);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->tenantAdminEmail !== null) {
+      $xfer += $output->writeFieldBegin('tenantAdminEmail', TType::STRING, 12);
+      $xfer += $output->writeString($this->tenantAdminEmail);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->identityServerUserName !== null) {
+      $xfer += $output->writeFieldBegin('identityServerUserName', TType::STRING, 13);
+      $xfer += $output->writeString($this->identityServerUserName);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->identityServerPasswordToken !== null) {
+      $xfer += $output->writeFieldBegin('identityServerPasswordToken', TType::STRING, 14);
+      $xfer += $output->writeString($this->identityServerPasswordToken);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->declinedReason !== null) {
+      $xfer += $output->writeFieldBegin('declinedReason', TType::STRING, 15);
+      $xfer += $output->writeString($this->declinedReason);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->oauthClientId !== null) {
+      $xfer += $output->writeFieldBegin('oauthClientId', TType::STRING, 16);
+      $xfer += $output->writeString($this->oauthClientId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->oauthClientSecret !== null) {
+      $xfer += $output->writeFieldBegin('oauthClientSecret', TType::STRING, 17);
+      $xfer += $output->writeString($this->oauthClientSecret);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->requestCreationTime !== null) {
+      $xfer += $output->writeFieldBegin('requestCreationTime', TType::I64, 18);
+      $xfer += $output->writeI64($this->requestCreationTime);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->requesterUsername !== null) {
+      $xfer += $output->writeFieldBegin('requesterUsername', TType::STRING, 19);
+      $xfer += $output->writeString($this->requesterUsername);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/User/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/User/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/User/Types.php
index c9aa616..1ebd5db 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/User/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/User/Types.php
@@ -133,6 +133,10 @@ class NSFDemographics {
   /**
    * @var string
    */
+  public $airavataInternalUserId = "DO_NOT_SET_AT_CLIENTS";
+  /**
+   * @var string
+   */
   public $gender = null;
   /**
    * @var int
@@ -155,14 +159,18 @@ class NSFDemographics {
     if (!isset(self::$_TSPEC)) {
       self::$_TSPEC = array(
         1 => array(
-          'var' => 'gender',
+          'var' => 'airavataInternalUserId',
           'type' => TType::STRING,
           ),
         2 => array(
+          'var' => 'gender',
+          'type' => TType::STRING,
+          ),
+        3 => array(
           'var' => 'usCitizenship',
           'type' => TType::I32,
           ),
-        3 => array(
+        4 => array(
           'var' => 'ethnicities',
           'type' => TType::LST,
           'etype' => TType::I32,
@@ -170,7 +178,7 @@ class NSFDemographics {
             'type' => TType::I32,
             ),
           ),
-        4 => array(
+        5 => array(
           'var' => 'races',
           'type' => TType::LST,
           'etype' => TType::I32,
@@ -178,7 +186,7 @@ class NSFDemographics {
             'type' => TType::I32,
             ),
           ),
-        5 => array(
+        6 => array(
           'var' => 'disabilities',
           'type' => TType::LST,
           'etype' => TType::I32,
@@ -189,6 +197,9 @@ class NSFDemographics {
         );
     }
     if (is_array($vals)) {
+      if (isset($vals['airavataInternalUserId'])) {
+        $this->airavataInternalUserId = $vals['airavataInternalUserId'];
+      }
       if (isset($vals['gender'])) {
         $this->gender = $vals['gender'];
       }
@@ -228,19 +239,26 @@ class NSFDemographics {
       {
         case 1:
           if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->gender);
+            $xfer += $input->readString($this->airavataInternalUserId);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
         case 2:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->gender);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
           if ($ftype == TType::I32) {
             $xfer += $input->readI32($this->usCitizenship);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 3:
+        case 4:
           if ($ftype == TType::LST) {
             $this->ethnicities = array();
             $_size0 = 0;
@@ -257,7 +275,7 @@ class NSFDemographics {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 4:
+        case 5:
           if ($ftype == TType::LST) {
             $this->races = array();
             $_size6 = 0;
@@ -274,7 +292,7 @@ class NSFDemographics {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 5:
+        case 6:
           if ($ftype == TType::LST) {
             $this->disabilities = array();
             $_size12 = 0;
@@ -304,13 +322,18 @@ class NSFDemographics {
   public function write($output) {
     $xfer = 0;
     $xfer += $output->writeStructBegin('NSFDemographics');
+    if ($this->airavataInternalUserId !== null) {
+      $xfer += $output->writeFieldBegin('airavataInternalUserId', TType::STRING, 1);
+      $xfer += $output->writeString($this->airavataInternalUserId);
+      $xfer += $output->writeFieldEnd();
+    }
     if ($this->gender !== null) {
-      $xfer += $output->writeFieldBegin('gender', TType::STRING, 1);
+      $xfer += $output->writeFieldBegin('gender', TType::STRING, 2);
       $xfer += $output->writeString($this->gender);
       $xfer += $output->writeFieldEnd();
     }
     if ($this->usCitizenship !== null) {
-      $xfer += $output->writeFieldBegin('usCitizenship', TType::I32, 2);
+      $xfer += $output->writeFieldBegin('usCitizenship', TType::I32, 3);
       $xfer += $output->writeI32($this->usCitizenship);
       $xfer += $output->writeFieldEnd();
     }
@@ -318,7 +341,7 @@ class NSFDemographics {
       if (!is_array($this->ethnicities)) {
         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
       }
-      $xfer += $output->writeFieldBegin('ethnicities', TType::LST, 3);
+      $xfer += $output->writeFieldBegin('ethnicities', TType::LST, 4);
       {
         $output->writeListBegin(TType::I32, count($this->ethnicities));
         {
@@ -335,7 +358,7 @@ class NSFDemographics {
       if (!is_array($this->races)) {
         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
       }
-      $xfer += $output->writeFieldBegin('races', TType::LST, 4);
+      $xfer += $output->writeFieldBegin('races', TType::LST, 5);
       {
         $output->writeListBegin(TType::I32, count($this->races));
         {
@@ -352,7 +375,7 @@ class NSFDemographics {
       if (!is_array($this->disabilities)) {
         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
       }
-      $xfer += $output->writeFieldBegin('disabilities', TType::LST, 5);
+      $xfer += $output->writeFieldBegin('disabilities', TType::LST, 6);
       {
         $output->writeListBegin(TType::I32, count($this->disabilities));
         {
@@ -393,6 +416,12 @@ class NSFDemographics {
  * *  Externally assertable unique identifier. SAML (primarly in higher education, academic) tends to keep
  * *   user name less opaque. OpenID Connect maintains them to be opaque.
  * *
+ * * firstName, middleName, lastName:
+ * *  First and Last names as assertede by the user
+ * *
+ * * namePrefix, nameSuffix:
+ * *  prefix and suffix to the users name as asserted by the user
+ * *
  * * emails:
  * *   Email identifier are Verified, REQUIRED and MULTIVALUED
  * *
@@ -450,6 +479,26 @@ class UserProfile {
   /**
    * @var string
    */
+  public $firstName = null;
+  /**
+   * @var string
+   */
+  public $lastName = null;
+  /**
+   * @var string
+   */
+  public $middleName = null;
+  /**
+   * @var string
+   */
+  public $namePrefix = null;
+  /**
+   * @var string
+   */
+  public $nameSuffix = null;
+  /**
+   * @var string
+   */
   public $userName = null;
   /**
    * @var string
@@ -476,15 +525,15 @@ class UserProfile {
    */
   public $orginationAffiliation = null;
   /**
-   * @var string
+   * @var int
    */
   public $creationTime = null;
   /**
-   * @var string
+   * @var int
    */
   public $lastAccessTime = null;
   /**
-   * @var string
+   * @var int
    */
   public $validUntil = null;
   /**
@@ -540,14 +589,34 @@ class UserProfile {
             ),
           ),
         6 => array(
-          'var' => 'userName',
+          'var' => 'firstName',
           'type' => TType::STRING,
           ),
         7 => array(
-          'var' => 'orcidId',
+          'var' => 'lastName',
           'type' => TType::STRING,
           ),
         8 => array(
+          'var' => 'middleName',
+          'type' => TType::STRING,
+          ),
+        9 => array(
+          'var' => 'namePrefix',
+          'type' => TType::STRING,
+          ),
+        10 => array(
+          'var' => 'nameSuffix',
+          'type' => TType::STRING,
+          ),
+        11 => array(
+          'var' => 'userName',
+          'type' => TType::STRING,
+          ),
+        12 => array(
+          'var' => 'orcidId',
+          'type' => TType::STRING,
+          ),
+        13 => array(
           'var' => 'phones',
           'type' => TType::LST,
           'etype' => TType::STRING,
@@ -555,11 +624,11 @@ class UserProfile {
             'type' => TType::STRING,
             ),
           ),
-        9 => array(
+        14 => array(
           'var' => 'country',
           'type' => TType::STRING,
           ),
-        10 => array(
+        15 => array(
           'var' => 'nationality',
           'type' => TType::LST,
           'etype' => TType::STRING,
@@ -567,35 +636,35 @@ class UserProfile {
             'type' => TType::STRING,
             ),
           ),
-        11 => array(
+        16 => array(
           'var' => 'homeOrganization',
           'type' => TType::STRING,
           ),
-        12 => array(
+        17 => array(
           'var' => 'orginationAffiliation',
           'type' => TType::STRING,
           ),
-        13 => array(
+        18 => array(
           'var' => 'creationTime',
-          'type' => TType::STRING,
+          'type' => TType::I64,
           ),
-        14 => array(
+        19 => array(
           'var' => 'lastAccessTime',
-          'type' => TType::STRING,
+          'type' => TType::I64,
           ),
-        15 => array(
+        20 => array(
           'var' => 'validUntil',
-          'type' => TType::STRING,
+          'type' => TType::I64,
           ),
-        16 => array(
+        21 => array(
           'var' => 'State',
           'type' => TType::I32,
           ),
-        17 => array(
+        22 => array(
           'var' => 'comments',
           'type' => TType::STRING,
           ),
-        18 => array(
+        23 => array(
           'var' => 'labeledURI',
           'type' => TType::LST,
           'etype' => TType::STRING,
@@ -603,15 +672,15 @@ class UserProfile {
             'type' => TType::STRING,
             ),
           ),
-        19 => array(
+        24 => array(
           'var' => 'gpgKey',
           'type' => TType::STRING,
           ),
-        20 => array(
+        25 => array(
           'var' => 'timeZone',
           'type' => TType::STRING,
           ),
-        21 => array(
+        26 => array(
           'var' => 'nsfDemographics',
           'type' => TType::STRUCT,
           'class' => '\Airavata\Model\User\NSFDemographics',
@@ -634,6 +703,21 @@ class UserProfile {
       if (isset($vals['emails'])) {
         $this->emails = $vals['emails'];
       }
+      if (isset($vals['firstName'])) {
+        $this->firstName = $vals['firstName'];
+      }
+      if (isset($vals['lastName'])) {
+        $this->lastName = $vals['lastName'];
+      }
+      if (isset($vals['middleName'])) {
+        $this->middleName = $vals['middleName'];
+      }
+      if (isset($vals['namePrefix'])) {
+        $this->namePrefix = $vals['namePrefix'];
+      }
+      if (isset($vals['nameSuffix'])) {
+        $this->nameSuffix = $vals['nameSuffix'];
+      }
       if (isset($vals['userName'])) {
         $this->userName = $vals['userName'];
       }
@@ -751,19 +835,54 @@ class UserProfile {
           break;
         case 6:
           if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->userName);
+            $xfer += $input->readString($this->firstName);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
         case 7:
           if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->orcidId);
+            $xfer += $input->readString($this->lastName);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
         case 8:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->middleName);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 9:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->namePrefix);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 10:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->nameSuffix);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 11:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->userName);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 12:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->orcidId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 13:
           if ($ftype == TType::LST) {
             $this->phones = array();
             $_size27 = 0;
@@ -780,14 +899,14 @@ class UserProfile {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 9:
+        case 14:
           if ($ftype == TType::STRING) {
             $xfer += $input->readString($this->country);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 10:
+        case 15:
           if ($ftype == TType::LST) {
             $this->nationality = array();
             $_size33 = 0;
@@ -804,56 +923,56 @@ class UserProfile {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 11:
+        case 16:
           if ($ftype == TType::STRING) {
             $xfer += $input->readString($this->homeOrganization);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 12:
+        case 17:
           if ($ftype == TType::STRING) {
             $xfer += $input->readString($this->orginationAffiliation);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 13:
-          if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->creationTime);
+        case 18:
+          if ($ftype == TType::I64) {
+            $xfer += $input->readI64($this->creationTime);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 14:
-          if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->lastAccessTime);
+        case 19:
+          if ($ftype == TType::I64) {
+            $xfer += $input->readI64($this->lastAccessTime);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 15:
-          if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->validUntil);
+        case 20:
+          if ($ftype == TType::I64) {
+            $xfer += $input->readI64($this->validUntil);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 16:
+        case 21:
           if ($ftype == TType::I32) {
             $xfer += $input->readI32($this->State);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 17:
+        case 22:
           if ($ftype == TType::STRING) {
             $xfer += $input->readString($this->comments);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 18:
+        case 23:
           if ($ftype == TType::LST) {
             $this->labeledURI = array();
             $_size39 = 0;
@@ -870,21 +989,21 @@ class UserProfile {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 19:
+        case 24:
           if ($ftype == TType::STRING) {
             $xfer += $input->readString($this->gpgKey);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 20:
+        case 25:
           if ($ftype == TType::STRING) {
             $xfer += $input->readString($this->timeZone);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 21:
+        case 26:
           if ($ftype == TType::STRUCT) {
             $this->nsfDemographics = new \Airavata\Model\User\NSFDemographics();
             $xfer += $this->nsfDemographics->read($input);
@@ -942,13 +1061,38 @@ class UserProfile {
       }
       $xfer += $output->writeFieldEnd();
     }
+    if ($this->firstName !== null) {
+      $xfer += $output->writeFieldBegin('firstName', TType::STRING, 6);
+      $xfer += $output->writeString($this->firstName);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->lastName !== null) {
+      $xfer += $output->writeFieldBegin('lastName', TType::STRING, 7);
+      $xfer += $output->writeString($this->lastName);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->middleName !== null) {
+      $xfer += $output->writeFieldBegin('middleName', TType::STRING, 8);
+      $xfer += $output->writeString($this->middleName);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->namePrefix !== null) {
+      $xfer += $output->writeFieldBegin('namePrefix', TType::STRING, 9);
+      $xfer += $output->writeString($this->namePrefix);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->nameSuffix !== null) {
+      $xfer += $output->writeFieldBegin('nameSuffix', TType::STRING, 10);
+      $xfer += $output->writeString($this->nameSuffix);
+      $xfer += $output->writeFieldEnd();
+    }
     if ($this->userName !== null) {
-      $xfer += $output->writeFieldBegin('userName', TType::STRING, 6);
+      $xfer += $output->writeFieldBegin('userName', TType::STRING, 11);
       $xfer += $output->writeString($this->userName);
       $xfer += $output->writeFieldEnd();
     }
     if ($this->orcidId !== null) {
-      $xfer += $output->writeFieldBegin('orcidId', TType::STRING, 7);
+      $xfer += $output->writeFieldBegin('orcidId', TType::STRING, 12);
       $xfer += $output->writeString($this->orcidId);
       $xfer += $output->writeFieldEnd();
     }
@@ -956,7 +1100,7 @@ class UserProfile {
       if (!is_array($this->phones)) {
         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
       }
-      $xfer += $output->writeFieldBegin('phones', TType::LST, 8);
+      $xfer += $output->writeFieldBegin('phones', TType::LST, 13);
       {
         $output->writeListBegin(TType::STRING, count($this->phones));
         {
@@ -970,7 +1114,7 @@ class UserProfile {
       $xfer += $output->writeFieldEnd();
     }
     if ($this->country !== null) {
-      $xfer += $output->writeFieldBegin('country', TType::STRING, 9);
+      $xfer += $output->writeFieldBegin('country', TType::STRING, 14);
       $xfer += $output->writeString($this->country);
       $xfer += $output->writeFieldEnd();
     }
@@ -978,7 +1122,7 @@ class UserProfile {
       if (!is_array($this->nationality)) {
         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
       }
-      $xfer += $output->writeFieldBegin('nationality', TType::LST, 10);
+      $xfer += $output->writeFieldBegin('nationality', TType::LST, 15);
       {
         $output->writeListBegin(TType::STRING, count($this->nationality));
         {
@@ -992,37 +1136,37 @@ class UserProfile {
       $xfer += $output->writeFieldEnd();
     }
     if ($this->homeOrganization !== null) {
-      $xfer += $output->writeFieldBegin('homeOrganization', TType::STRING, 11);
+      $xfer += $output->writeFieldBegin('homeOrganization', TType::STRING, 16);
       $xfer += $output->writeString($this->homeOrganization);
       $xfer += $output->writeFieldEnd();
     }
     if ($this->orginationAffiliation !== null) {
-      $xfer += $output->writeFieldBegin('orginationAffiliation', TType::STRING, 12);
+      $xfer += $output->writeFieldBegin('orginationAffiliation', TType::STRING, 17);
       $xfer += $output->writeString($this->orginationAffiliation);
       $xfer += $output->writeFieldEnd();
     }
     if ($this->creationTime !== null) {
-      $xfer += $output->writeFieldBegin('creationTime', TType::STRING, 13);
-      $xfer += $output->writeString($this->creationTime);
+      $xfer += $output->writeFieldBegin('creationTime', TType::I64, 18);
+      $xfer += $output->writeI64($this->creationTime);
       $xfer += $output->writeFieldEnd();
     }
     if ($this->lastAccessTime !== null) {
-      $xfer += $output->writeFieldBegin('lastAccessTime', TType::STRING, 14);
-      $xfer += $output->writeString($this->lastAccessTime);
+      $xfer += $output->writeFieldBegin('lastAccessTime', TType::I64, 19);
+      $xfer += $output->writeI64($this->lastAccessTime);
       $xfer += $output->writeFieldEnd();
     }
     if ($this->validUntil !== null) {
-      $xfer += $output->writeFieldBegin('validUntil', TType::STRING, 15);
-      $xfer += $output->writeString($this->validUntil);
+      $xfer += $output->writeFieldBegin('validUntil', TType::I64, 20);
+      $xfer += $output->writeI64($this->validUntil);
       $xfer += $output->writeFieldEnd();
     }
     if ($this->State !== null) {
-      $xfer += $output->writeFieldBegin('State', TType::I32, 16);
+      $xfer += $output->writeFieldBegin('State', TType::I32, 21);
       $xfer += $output->writeI32($this->State);
       $xfer += $output->writeFieldEnd();
     }
     if ($this->comments !== null) {
-      $xfer += $output->writeFieldBegin('comments', TType::STRING, 17);
+      $xfer += $output->writeFieldBegin('comments', TType::STRING, 22);
       $xfer += $output->writeString($this->comments);
       $xfer += $output->writeFieldEnd();
     }
@@ -1030,7 +1174,7 @@ class UserProfile {
       if (!is_array($this->labeledURI)) {
         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
       }
-      $xfer += $output->writeFieldBegin('labeledURI', TType::LST, 18);
+      $xfer += $output->writeFieldBegin('labeledURI', TType::LST, 23);
       {
         $output->writeListBegin(TType::STRING, count($this->labeledURI));
         {
@@ -1044,12 +1188,12 @@ class UserProfile {
       $xfer += $output->writeFieldEnd();
     }
     if ($this->gpgKey !== null) {
-      $xfer += $output->writeFieldBegin('gpgKey', TType::STRING, 19);
+      $xfer += $output->writeFieldBegin('gpgKey', TType::STRING, 24);
       $xfer += $output->writeString($this->gpgKey);
       $xfer += $output->writeFieldEnd();
     }
     if ($this->timeZone !== null) {
-      $xfer += $output->writeFieldBegin('timeZone', TType::STRING, 20);
+      $xfer += $output->writeFieldBegin('timeZone', TType::STRING, 25);
       $xfer += $output->writeString($this->timeZone);
       $xfer += $output->writeFieldEnd();
     }
@@ -1057,7 +1201,7 @@ class UserProfile {
       if (!is_object($this->nsfDemographics)) {
         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
       }
-      $xfer += $output->writeFieldBegin('nsfDemographics', TType::STRUCT, 21);
+      $xfer += $output->writeFieldBegin('nsfDemographics', TType::STRUCT, 26);
       $xfer += $this->nsfDemographics->write($output);
       $xfer += $output->writeFieldEnd();
     }

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata-remote
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata-remote b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata-remote
index 9fbba49..622df08 100755
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata-remote
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata-remote
@@ -193,6 +193,13 @@ if len(sys.argv) <= 1 or sys.argv[1] == '--help':
   print('  bool deleteGroup(AuthzToken authzToken, string groupId, string ownerId, string gatewayId)')
   print('  GroupModel getGroup(AuthzToken authzToken, string groupId)')
   print('   getAllGroupsUserBelongs(AuthzToken authzToken, string userName, string gatewayId)')
+  print('  string addUserProfile(AuthzToken authzToken, UserProfile userProfile)')
+  print('  bool updateUserProfile(AuthzToken authzToken, UserProfile userProfile)')
+  print('  UserProfile getUserProfileById(AuthzToken authzToken, string userId, string gatewayId)')
+  print('  bool deleteUserProfile(AuthzToken authzToken, string userId)')
+  print('   getAllUserProfilesInGateway(AuthzToken authzToken, string gatewayId, i32 offset, i32 limit)')
+  print('  UserProfile getUserProfileByName(AuthzToken authzToken, string userName, string gatewayId)')
+  print('  bool doesUserProfileExist(AuthzToken authzToken, string userName, string gatewayId)')
   print('')
   sys.exit(0)
 
@@ -1263,6 +1270,48 @@ elif cmd == 'getAllGroupsUserBelongs':
     sys.exit(1)
   pp.pprint(client.getAllGroupsUserBelongs(eval(args[0]),args[1],args[2],))
 
+elif cmd == 'addUserProfile':
+  if len(args) != 2:
+    print('addUserProfile requires 2 args')
+    sys.exit(1)
+  pp.pprint(client.addUserProfile(eval(args[0]),eval(args[1]),))
+
+elif cmd == 'updateUserProfile':
+  if len(args) != 2:
+    print('updateUserProfile requires 2 args')
+    sys.exit(1)
+  pp.pprint(client.updateUserProfile(eval(args[0]),eval(args[1]),))
+
+elif cmd == 'getUserProfileById':
+  if len(args) != 3:
+    print('getUserProfileById requires 3 args')
+    sys.exit(1)
+  pp.pprint(client.getUserProfileById(eval(args[0]),args[1],args[2],))
+
+elif cmd == 'deleteUserProfile':
+  if len(args) != 2:
+    print('deleteUserProfile requires 2 args')
+    sys.exit(1)
+  pp.pprint(client.deleteUserProfile(eval(args[0]),args[1],))
+
+elif cmd == 'getAllUserProfilesInGateway':
+  if len(args) != 4:
+    print('getAllUserProfilesInGateway requires 4 args')
+    sys.exit(1)
+  pp.pprint(client.getAllUserProfilesInGateway(eval(args[0]),args[1],eval(args[2]),eval(args[3]),))
+
+elif cmd == 'getUserProfileByName':
+  if len(args) != 3:
+    print('getUserProfileByName requires 3 args')
+    sys.exit(1)
+  pp.pprint(client.getUserProfileByName(eval(args[0]),args[1],args[2],))
+
+elif cmd == 'doesUserProfileExist':
+  if len(args) != 3:
+    print('doesUserProfileExist requires 3 args')
+    sys.exit(1)
+  pp.pprint(client.doesUserProfileExist(eval(args[0]),args[1],args[2],))
+
 else:
   print('Unrecognized method %s' % cmd)
   sys.exit(1)


[18/50] [abbrv] airavata git commit: Merge branch 'develop' of https://git-wip-us.apache.org/repos/asf/airavata into develop

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


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

Branch: refs/heads/registry-refactoring
Commit: 9fab6277660e6e6a889e734f487449a757237825
Parents: ddb95c1 57dc767
Author: Gourav Shenoy <go...@apache.org>
Authored: Tue May 2 15:58:37 2017 -0400
Committer: Gourav Shenoy <go...@apache.org>
Committed: Tue May 2 15:58:37 2017 -0400

----------------------------------------------------------------------
 .../testing-0.17/group_vars/all/vars.yml        |  1 +
 .../templates/airavata-server.properties.j2     | 26 +++++++++++++++++++-
 dev-tools/ansible/roles/database/vars/main.yml  |  2 ++
 .../main/resources/airavata-server.properties   |  2 ++
 .../org/apache/airavata/server/ServerMain.java  |  2 +-
 5 files changed, 31 insertions(+), 2 deletions(-)
----------------------------------------------------------------------



[16/50] [abbrv] airavata git commit: Add Tenant Profile Thrift Model

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp
index de65cd0..9e1f1da 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp
@@ -52869,19 +52869,2455 @@ uint32_t Airavata_getAllGroupsUserBelongs_presult::read(::apache::thrift::protoc
   return xfer;
 }
 
+
+Airavata_addUserProfile_args::~Airavata_addUserProfile_args() throw() {
+}
+
+
+uint32_t Airavata_addUserProfile_args::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_authzToken = false;
+  bool isset_userProfile = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->authzToken.read(iprot);
+          isset_authzToken = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->userProfile.read(iprot);
+          isset_userProfile = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_authzToken)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_userProfile)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t Airavata_addUserProfile_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
+  xfer += oprot->writeStructBegin("Airavata_addUserProfile_args");
+
+  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += this->authzToken.write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("userProfile", ::apache::thrift::protocol::T_STRUCT, 2);
+  xfer += this->userProfile.write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+
+Airavata_addUserProfile_pargs::~Airavata_addUserProfile_pargs() throw() {
+}
+
+
+uint32_t Airavata_addUserProfile_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
+  xfer += oprot->writeStructBegin("Airavata_addUserProfile_pargs");
+
+  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += (*(this->authzToken)).write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("userProfile", ::apache::thrift::protocol::T_STRUCT, 2);
+  xfer += (*(this->userProfile)).write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+
+Airavata_addUserProfile_result::~Airavata_addUserProfile_result() throw() {
+}
+
+
+uint32_t Airavata_addUserProfile_result::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 0:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->success);
+          this->__isset.success = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ire.read(iprot);
+          this->__isset.ire = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ace.read(iprot);
+          this->__isset.ace = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ase.read(iprot);
+          this->__isset.ase = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  return xfer;
+}
+
+uint32_t Airavata_addUserProfile_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+
+  uint32_t xfer = 0;
+
+  xfer += oprot->writeStructBegin("Airavata_addUserProfile_result");
+
+  if (this->__isset.success) {
+    xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_STRING, 0);
+    xfer += oprot->writeString(this->success);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ire) {
+    xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
+    xfer += this->ire.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ace) {
+    xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
+    xfer += this->ace.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ase) {
+    xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
+    xfer += this->ase.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ae) {
+    xfer += oprot->writeFieldBegin("ae", ::apache::thrift::protocol::T_STRUCT, 4);
+    xfer += this->ae.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+
+Airavata_addUserProfile_presult::~Airavata_addUserProfile_presult() throw() {
+}
+
+
+uint32_t Airavata_addUserProfile_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 0:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString((*(this->success)));
+          this->__isset.success = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ire.read(iprot);
+          this->__isset.ire = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ace.read(iprot);
+          this->__isset.ace = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ase.read(iprot);
+          this->__isset.ase = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  return xfer;
+}
+
+
+Airavata_updateUserProfile_args::~Airavata_updateUserProfile_args() throw() {
+}
+
+
+uint32_t Airavata_updateUserProfile_args::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_authzToken = false;
+  bool isset_userProfile = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->authzToken.read(iprot);
+          isset_authzToken = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->userProfile.read(iprot);
+          isset_userProfile = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_authzToken)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_userProfile)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t Airavata_updateUserProfile_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
+  xfer += oprot->writeStructBegin("Airavata_updateUserProfile_args");
+
+  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += this->authzToken.write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("userProfile", ::apache::thrift::protocol::T_STRUCT, 2);
+  xfer += this->userProfile.write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+
+Airavata_updateUserProfile_pargs::~Airavata_updateUserProfile_pargs() throw() {
+}
+
+
+uint32_t Airavata_updateUserProfile_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
+  xfer += oprot->writeStructBegin("Airavata_updateUserProfile_pargs");
+
+  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += (*(this->authzToken)).write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("userProfile", ::apache::thrift::protocol::T_STRUCT, 2);
+  xfer += (*(this->userProfile)).write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+
+Airavata_updateUserProfile_result::~Airavata_updateUserProfile_result() throw() {
+}
+
+
+uint32_t Airavata_updateUserProfile_result::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 0:
+        if (ftype == ::apache::thrift::protocol::T_BOOL) {
+          xfer += iprot->readBool(this->success);
+          this->__isset.success = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ire.read(iprot);
+          this->__isset.ire = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ace.read(iprot);
+          this->__isset.ace = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ase.read(iprot);
+          this->__isset.ase = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  return xfer;
+}
+
+uint32_t Airavata_updateUserProfile_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+
+  uint32_t xfer = 0;
+
+  xfer += oprot->writeStructBegin("Airavata_updateUserProfile_result");
+
+  if (this->__isset.success) {
+    xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_BOOL, 0);
+    xfer += oprot->writeBool(this->success);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ire) {
+    xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
+    xfer += this->ire.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ace) {
+    xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
+    xfer += this->ace.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ase) {
+    xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
+    xfer += this->ase.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ae) {
+    xfer += oprot->writeFieldBegin("ae", ::apache::thrift::protocol::T_STRUCT, 4);
+    xfer += this->ae.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+
+Airavata_updateUserProfile_presult::~Airavata_updateUserProfile_presult() throw() {
+}
+
+
+uint32_t Airavata_updateUserProfile_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 0:
+        if (ftype == ::apache::thrift::protocol::T_BOOL) {
+          xfer += iprot->readBool((*(this->success)));
+          this->__isset.success = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ire.read(iprot);
+          this->__isset.ire = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ace.read(iprot);
+          this->__isset.ace = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ase.read(iprot);
+          this->__isset.ase = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  return xfer;
+}
+
+
+Airavata_getUserProfileById_args::~Airavata_getUserProfileById_args() throw() {
+}
+
+
+uint32_t Airavata_getUserProfileById_args::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_authzToken = false;
+  bool isset_userId = false;
+  bool isset_gatewayId = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->authzToken.read(iprot);
+          isset_authzToken = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->userId);
+          isset_userId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->gatewayId);
+          isset_gatewayId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_authzToken)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_userId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_gatewayId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t Airavata_getUserProfileById_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
+  xfer += oprot->writeStructBegin("Airavata_getUserProfileById_args");
+
+  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += this->authzToken.write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("userId", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString(this->userId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 3);
+  xfer += oprot->writeString(this->gatewayId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+
+Airavata_getUserProfileById_pargs::~Airavata_getUserProfileById_pargs() throw() {
+}
+
+
+uint32_t Airavata_getUserProfileById_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
+  xfer += oprot->writeStructBegin("Airavata_getUserProfileById_pargs");
+
+  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += (*(this->authzToken)).write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("userId", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString((*(this->userId)));
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 3);
+  xfer += oprot->writeString((*(this->gatewayId)));
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+
+Airavata_getUserProfileById_result::~Airavata_getUserProfileById_result() throw() {
+}
+
+
+uint32_t Airavata_getUserProfileById_result::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 0:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->success.read(iprot);
+          this->__isset.success = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ire.read(iprot);
+          this->__isset.ire = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ace.read(iprot);
+          this->__isset.ace = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ase.read(iprot);
+          this->__isset.ase = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  return xfer;
+}
+
+uint32_t Airavata_getUserProfileById_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+
+  uint32_t xfer = 0;
+
+  xfer += oprot->writeStructBegin("Airavata_getUserProfileById_result");
+
+  if (this->__isset.success) {
+    xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_STRUCT, 0);
+    xfer += this->success.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ire) {
+    xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
+    xfer += this->ire.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ace) {
+    xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
+    xfer += this->ace.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ase) {
+    xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
+    xfer += this->ase.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ae) {
+    xfer += oprot->writeFieldBegin("ae", ::apache::thrift::protocol::T_STRUCT, 4);
+    xfer += this->ae.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+
+Airavata_getUserProfileById_presult::~Airavata_getUserProfileById_presult() throw() {
+}
+
+
+uint32_t Airavata_getUserProfileById_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 0:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += (*(this->success)).read(iprot);
+          this->__isset.success = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ire.read(iprot);
+          this->__isset.ire = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ace.read(iprot);
+          this->__isset.ace = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ase.read(iprot);
+          this->__isset.ase = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  return xfer;
+}
+
+
+Airavata_deleteUserProfile_args::~Airavata_deleteUserProfile_args() throw() {
+}
+
+
+uint32_t Airavata_deleteUserProfile_args::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_authzToken = false;
+  bool isset_userId = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->authzToken.read(iprot);
+          isset_authzToken = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->userId);
+          isset_userId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_authzToken)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_userId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t Airavata_deleteUserProfile_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
+  xfer += oprot->writeStructBegin("Airavata_deleteUserProfile_args");
+
+  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += this->authzToken.write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("userId", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString(this->userId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+
+Airavata_deleteUserProfile_pargs::~Airavata_deleteUserProfile_pargs() throw() {
+}
+
+
+uint32_t Airavata_deleteUserProfile_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
+  xfer += oprot->writeStructBegin("Airavata_deleteUserProfile_pargs");
+
+  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += (*(this->authzToken)).write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("userId", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString((*(this->userId)));
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+
+Airavata_deleteUserProfile_result::~Airavata_deleteUserProfile_result() throw() {
+}
+
+
+uint32_t Airavata_deleteUserProfile_result::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 0:
+        if (ftype == ::apache::thrift::protocol::T_BOOL) {
+          xfer += iprot->readBool(this->success);
+          this->__isset.success = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ire.read(iprot);
+          this->__isset.ire = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ace.read(iprot);
+          this->__isset.ace = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ase.read(iprot);
+          this->__isset.ase = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  return xfer;
+}
+
+uint32_t Airavata_deleteUserProfile_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+
+  uint32_t xfer = 0;
+
+  xfer += oprot->writeStructBegin("Airavata_deleteUserProfile_result");
+
+  if (this->__isset.success) {
+    xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_BOOL, 0);
+    xfer += oprot->writeBool(this->success);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ire) {
+    xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
+    xfer += this->ire.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ace) {
+    xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
+    xfer += this->ace.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ase) {
+    xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
+    xfer += this->ase.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ae) {
+    xfer += oprot->writeFieldBegin("ae", ::apache::thrift::protocol::T_STRUCT, 4);
+    xfer += this->ae.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+
+Airavata_deleteUserProfile_presult::~Airavata_deleteUserProfile_presult() throw() {
+}
+
+
+uint32_t Airavata_deleteUserProfile_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 0:
+        if (ftype == ::apache::thrift::protocol::T_BOOL) {
+          xfer += iprot->readBool((*(this->success)));
+          this->__isset.success = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ire.read(iprot);
+          this->__isset.ire = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ace.read(iprot);
+          this->__isset.ace = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ase.read(iprot);
+          this->__isset.ase = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  return xfer;
+}
+
+
+Airavata_getAllUserProfilesInGateway_args::~Airavata_getAllUserProfilesInGateway_args() throw() {
+}
+
+
+uint32_t Airavata_getAllUserProfilesInGateway_args::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_authzToken = false;
+  bool isset_gatewayId = false;
+  bool isset_offset = false;
+  bool isset_limit = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->authzToken.read(iprot);
+          isset_authzToken = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->gatewayId);
+          isset_gatewayId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          xfer += iprot->readI32(this->offset);
+          isset_offset = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          xfer += iprot->readI32(this->limit);
+          isset_limit = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_authzToken)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_gatewayId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_offset)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_limit)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t Airavata_getAllUserProfilesInGateway_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
+  xfer += oprot->writeStructBegin("Airavata_getAllUserProfilesInGateway_args");
+
+  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += this->authzToken.write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString(this->gatewayId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("offset", ::apache::thrift::protocol::T_I32, 3);
+  xfer += oprot->writeI32(this->offset);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("limit", ::apache::thrift::protocol::T_I32, 4);
+  xfer += oprot->writeI32(this->limit);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+
+Airavata_getAllUserProfilesInGateway_pargs::~Airavata_getAllUserProfilesInGateway_pargs() throw() {
+}
+
+
+uint32_t Airavata_getAllUserProfilesInGateway_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
+  xfer += oprot->writeStructBegin("Airavata_getAllUserProfilesInGateway_pargs");
+
+  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += (*(this->authzToken)).write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString((*(this->gatewayId)));
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("offset", ::apache::thrift::protocol::T_I32, 3);
+  xfer += oprot->writeI32((*(this->offset)));
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("limit", ::apache::thrift::protocol::T_I32, 4);
+  xfer += oprot->writeI32((*(this->limit)));
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+
+Airavata_getAllUserProfilesInGateway_result::~Airavata_getAllUserProfilesInGateway_result() throw() {
+}
+
+
+uint32_t Airavata_getAllUserProfilesInGateway_result::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 0:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->success.clear();
+            uint32_t _size505;
+            ::apache::thrift::protocol::TType _etype508;
+            xfer += iprot->readListBegin(_etype508, _size505);
+            this->success.resize(_size505);
+            uint32_t _i509;
+            for (_i509 = 0; _i509 < _size505; ++_i509)
+            {
+              xfer += this->success[_i509].read(iprot);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.success = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ire.read(iprot);
+          this->__isset.ire = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ace.read(iprot);
+          this->__isset.ace = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ase.read(iprot);
+          this->__isset.ase = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  return xfer;
+}
+
+uint32_t Airavata_getAllUserProfilesInGateway_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+
+  uint32_t xfer = 0;
+
+  xfer += oprot->writeStructBegin("Airavata_getAllUserProfilesInGateway_result");
+
+  if (this->__isset.success) {
+    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::user::UserProfile> ::const_iterator _iter510;
+      for (_iter510 = this->success.begin(); _iter510 != this->success.end(); ++_iter510)
+      {
+        xfer += (*_iter510).write(oprot);
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ire) {
+    xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
+    xfer += this->ire.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ace) {
+    xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
+    xfer += this->ace.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ase) {
+    xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
+    xfer += this->ase.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ae) {
+    xfer += oprot->writeFieldBegin("ae", ::apache::thrift::protocol::T_STRUCT, 4);
+    xfer += this->ae.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+
+Airavata_getAllUserProfilesInGateway_presult::~Airavata_getAllUserProfilesInGateway_presult() throw() {
+}
+
+
+uint32_t Airavata_getAllUserProfilesInGateway_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 0:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            (*(this->success)).clear();
+            uint32_t _size511;
+            ::apache::thrift::protocol::TType _etype514;
+            xfer += iprot->readListBegin(_etype514, _size511);
+            (*(this->success)).resize(_size511);
+            uint32_t _i515;
+            for (_i515 = 0; _i515 < _size511; ++_i515)
+            {
+              xfer += (*(this->success))[_i515].read(iprot);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.success = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ire.read(iprot);
+          this->__isset.ire = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ace.read(iprot);
+          this->__isset.ace = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ase.read(iprot);
+          this->__isset.ase = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  return xfer;
+}
+
+
+Airavata_getUserProfileByName_args::~Airavata_getUserProfileByName_args() throw() {
+}
+
+
+uint32_t Airavata_getUserProfileByName_args::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_authzToken = false;
+  bool isset_userName = false;
+  bool isset_gatewayId = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->authzToken.read(iprot);
+          isset_authzToken = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->userName);
+          isset_userName = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->gatewayId);
+          isset_gatewayId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_authzToken)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_userName)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_gatewayId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t Airavata_getUserProfileByName_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
+  xfer += oprot->writeStructBegin("Airavata_getUserProfileByName_args");
+
+  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += this->authzToken.write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString(this->userName);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 3);
+  xfer += oprot->writeString(this->gatewayId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+
+Airavata_getUserProfileByName_pargs::~Airavata_getUserProfileByName_pargs() throw() {
+}
+
+
+uint32_t Airavata_getUserProfileByName_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
+  xfer += oprot->writeStructBegin("Airavata_getUserProfileByName_pargs");
+
+  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += (*(this->authzToken)).write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString((*(this->userName)));
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 3);
+  xfer += oprot->writeString((*(this->gatewayId)));
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+
+Airavata_getUserProfileByName_result::~Airavata_getUserProfileByName_result() throw() {
+}
+
+
+uint32_t Airavata_getUserProfileByName_result::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 0:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->success.read(iprot);
+          this->__isset.success = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ire.read(iprot);
+          this->__isset.ire = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ace.read(iprot);
+          this->__isset.ace = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ase.read(iprot);
+          this->__isset.ase = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  return xfer;
+}
+
+uint32_t Airavata_getUserProfileByName_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+
+  uint32_t xfer = 0;
+
+  xfer += oprot->writeStructBegin("Airavata_getUserProfileByName_result");
+
+  if (this->__isset.success) {
+    xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_STRUCT, 0);
+    xfer += this->success.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ire) {
+    xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
+    xfer += this->ire.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ace) {
+    xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
+    xfer += this->ace.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ase) {
+    xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
+    xfer += this->ase.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ae) {
+    xfer += oprot->writeFieldBegin("ae", ::apache::thrift::protocol::T_STRUCT, 4);
+    xfer += this->ae.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+
+Airavata_getUserProfileByName_presult::~Airavata_getUserProfileByName_presult() throw() {
+}
+
+
+uint32_t Airavata_getUserProfileByName_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 0:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += (*(this->success)).read(iprot);
+          this->__isset.success = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ire.read(iprot);
+          this->__isset.ire = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ace.read(iprot);
+          this->__isset.ace = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ase.read(iprot);
+          this->__isset.ase = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  return xfer;
+}
+
+
+Airavata_doesUserProfileExist_args::~Airavata_doesUserProfileExist_args() throw() {
+}
+
+
+uint32_t Airavata_doesUserProfileExist_args::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_authzToken = false;
+  bool isset_userName = false;
+  bool isset_gatewayId = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->authzToken.read(iprot);
+          isset_authzToken = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->userName);
+          isset_userName = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->gatewayId);
+          isset_gatewayId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_authzToken)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_userName)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_gatewayId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t Airavata_doesUserProfileExist_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
+  xfer += oprot->writeStructBegin("Airavata_doesUserProfileExist_args");
+
+  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += this->authzToken.write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString(this->userName);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 3);
+  xfer += oprot->writeString(this->gatewayId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+
+Airavata_doesUserProfileExist_pargs::~Airavata_doesUserProfileExist_pargs() throw() {
+}
+
+
+uint32_t Airavata_doesUserProfileExist_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
+  xfer += oprot->writeStructBegin("Airavata_doesUserProfileExist_pargs");
+
+  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += (*(this->authzToken)).write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString((*(this->userName)));
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 3);
+  xfer += oprot->writeString((*(this->gatewayId)));
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+
+Airavata_doesUserProfileExist_result::~Airavata_doesUserProfileExist_result() throw() {
+}
+
+
+uint32_t Airavata_doesUserProfileExist_result::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 0:
+        if (ftype == ::apache::thrift::protocol::T_BOOL) {
+          xfer += iprot->readBool(this->success);
+          this->__isset.success = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ire.read(iprot);
+          this->__isset.ire = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ace.read(iprot);
+          this->__isset.ace = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ase.read(iprot);
+          this->__isset.ase = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  return xfer;
+}
+
+uint32_t Airavata_doesUserProfileExist_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+
+  uint32_t xfer = 0;
+
+  xfer += oprot->writeStructBegin("Airavata_doesUserProfileExist_result");
+
+  if (this->__isset.success) {
+    xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_BOOL, 0);
+    xfer += oprot->writeBool(this->success);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ire) {
+    xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
+    xfer += this->ire.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ace) {
+    xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
+    xfer += this->ace.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ase) {
+    xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
+    xfer += this->ase.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ae) {
+    xfer += oprot->writeFieldBegin("ae", ::apache::thrift::protocol::T_STRUCT, 4);
+    xfer += this->ae.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+
+Airavata_doesUserProfileExist_presult::~Airavata_doesUserProfileExist_presult() throw() {
+}
+
+
+uint32_t Airavata_doesUserProfileExist_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 0:
+        if (ftype == ::apache::thrift::protocol::T_BOOL) {
+          xfer += iprot->readBool((*(this->success)));
+          this->__isset.success = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ire.read(iprot);
+          this->__isset.ire = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ace.read(iprot);
+          this->__isset.ace = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ase.read(iprot);
+          this->__isset.ase = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  return xfer;
+}
+
 void AiravataClient::getAPIVersion(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken)
 {
-  send_getAPIVersion(authzToken);
-  recv_getAPIVersion(_return);
+  send_getAPIVersion(authzToken);
+  recv_getAPIVersion(_return);
+}
+
+void AiravataClient::send_getAPIVersion(const  ::apache::airavata::model::security::AuthzToken& authzToken)
+{
+  int32_t cseqid = 0;
+  oprot_->writeMessageBegin("getAPIVersion", ::apache::thrift::protocol::T_CALL, cseqid);
+
+  Airavata_getAPIVersion_pargs args;
+  args.authzToken = &authzToken;
+  args.write(oprot_);
+
+  oprot_->writeMessageEnd();
+  oprot_->getTransport()->writeEnd();
+  oprot_->getTransport()->flush();
+}
+
+void AiravataClient::recv_getAPIVersion(std::string& _return)
+{
+
+  int32_t rseqid = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TMessageType mtype;
+
+  iprot_->readMessageBegin(fname, mtype, rseqid);
+  if (mtype == ::apache::thrift::protocol::T_EXCEPTION) {
+    ::apache::thrift::TApplicationException x;
+    x.read(iprot_);
+    iprot_->readMessageEnd();
+    iprot_->getTransport()->readEnd();
+    throw x;
+  }
+  if (mtype != ::apache::thrift::protocol::T_REPLY) {
+    iprot_->skip(::apache::thrift::protocol::T_STRUCT);
+    iprot_->readMessageEnd();
+    iprot_->getTransport()->readEnd();
+  }
+  if (fname.compare("getAPIVersion") != 0) {
+    iprot_->skip(::apache::thrift::protocol::T_STRUCT);
+    iprot_->readMessageEnd();
+    iprot_->getTransport()->readEnd();
+  }
+  Airavata_getAPIVersion_presult result;
+  result.success = &_return;
+  result.read(iprot_);
+  iprot_->readMessageEnd();
+  iprot_->getTransport()->readEnd();
+
+  if (result.__isset.success) {
+    // _return pointer has now been filled
+    return;
+  }
+  if (result.__isset.ire) {
+    throw result.ire;
+  }
+  if (result.__isset.ace) {
+    throw result.ace;
+  }
+  if (result.__isset.ase) {
+    throw result.ase;
+  }
+  if (result.__isset.ae) {
+    throw result.ae;
+  }
+  throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "getAPIVersion failed: unknown result");
+}
+
+bool AiravataClient::isUserExists(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName)
+{
+  send_isUserExists(authzToken, gatewayId, userName);
+  return recv_isUserExists();
+}
+
+void AiravataClient::send_isUserExists(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName)
+{
+  int32_t cseqid = 0;
+  oprot_->writeMessageBegin("isUserExists", ::apache::thrift::protocol::T_CALL, cseqid);
+
+  Airavata_isUserExists_pargs args;
+  args.authzToken = &authzToken;
+  args.gatewayId = &gatewayId;
+  args.userName = &userName;
+  args.write(oprot_);
+
+  oprot_->writeMessageEnd();
+  oprot_->getTransport()->writeEnd();
+  oprot_->getTransport()->flush();
+}
+
+bool AiravataClient::recv_isUserExists()
+{
+
+  int32_t rseqid = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TMessageType mtype;
+
+  iprot_->readMessageBegin(fname, mtype, rseqid);
+  if (mtype == ::apache::thrift::protocol::T_EXCEPTION) {
+    ::apache::thrift::TApplicationException x;
+    x.read(iprot_);
+    iprot_->readMessageEnd();
+    iprot_->getTransport()->readEnd();
+    throw x;
+  }
+  if (mtype != ::apache::thrift::protocol::T_REPLY) {
+    iprot_->skip(::apache::thrift::protocol::T_STRUCT);
+    iprot_->readMessageEnd();
+    iprot_->getTransport()->readEnd();
+  }
+  if (fname.compare("isUserExists") != 0) {
+    iprot_->skip(::apache::thrift::protocol::T_STRUCT);
+    iprot_->readMessageEnd();
+    iprot_->getTransport()->readEnd();
+  }
+  bool _return;
+  Airavata_isUserExists_presult result;
+  result.success = &_return;
+  result.read(iprot_);
+  iprot_->readMessageEnd();
+  iprot_->getTransport()->readEnd();
+
+  if (result.__isset.success) {
+    return _return;
+  }
+  if (result.__isset.ire) {
+    throw result.ire;
+  }
+  if (result.__isset.ace) {
+    throw result.ace;
+  }
+  if (result.__isset.ase) {
+    throw result.ase;
+  }
+  if (result.__isset.ae) {
+    throw result.ae;
+  }
+  throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "isUserExists failed: unknown result");
+}
+
+void AiravataClient::addGateway(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::workspace::Gateway& gateway)
+{
+  send_addGateway(authzToken, gateway);
+  recv_addGateway(_return);
+}
+
+void AiravataClient::send_addGateway(const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::workspace::Gateway& gateway)
+{
+  int32_t cseqid = 0;
+  oprot_->writeMessageBegin("addGateway", ::apache::thrift::protocol::T_CALL, cseqid);
+
+  Airavata_addGateway_pargs args;
+  args.authzToken = &authzToken;
+  args.gateway = &gateway;
+  args.write(oprot_);
+
+  oprot_->writeMessageEnd();
+  oprot_->getTransport()->writeEnd();
+  oprot_->getTransport()->flush();
+}
+
+void AiravataClient::recv_addGateway(std::string& _return)
+{
+
+  int32_t rseqid = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TMessageType mtype;
+
+  iprot_->readMessageBegin(fname, mtype, rseqid);
+  if (mtype == ::apache::thrift::protocol::T_EXCEPTION) {
+    ::apache::thrift::TApplicationException x;
+    x.read(iprot_);
+    iprot_->readMessageEnd();
+    iprot_->getTransport()->readEnd();
+    throw x;
+  }
+  if (mtype != ::apache::thrift::protocol::T_REPLY) {
+    iprot_->skip(::apache::thrift::protocol::T_STRUCT);
+    iprot_->readMessageEnd();
+    iprot_->getTransport()->readEnd();
+  }
+  if (fname.compare("addGateway") != 0) {
+    iprot_->skip(::apache::thrift::protocol::T_STRUCT);
+    iprot_->readMessageEnd();
+    iprot_->getTransport()->readEnd();
+  }
+  Airavata_addGateway_presult result;
+  result.success = &_return;
+  result.read(iprot_);
+  iprot_->readMessageEnd();
+  iprot_->getTransport()->readEnd();
+
+  if (result.__isset.success) {
+    // _return pointer has now been filled
+    return;
+  }
+  if (result.__isset.ire) {
+    throw result.ire;
+  }
+  if (result.__isset.ace) {
+    throw result.ace;
+  }
+  if (result.__isset.ase) {
+    throw result.ase;
+  }
+  if (result.__isset.ae) {
+    throw result.ae;
+  }
+  throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "addGateway failed: unknown result");
+}
+
+void AiravataClient::getAllUsersInGateway(std::vector<std::string> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId)
+{
+  send_getAllUsersInGateway(authzToken, gatewayId);
+  recv_getAllUsersInGateway(_return);
+}
+
+void AiravataClient::send_getAllUsersInGateway(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId)
+{
+  int32_t cseqid = 0;
+  oprot_->writeMessageBegin("getAllUsersInGateway", ::apache::thrift::protocol::T_CALL, cseqid);
+
+  Airavata_getAllUsersInGateway_pargs args;
+  args.authzToken = &authzToken;
+  args.gatewayId = &gatewayId;
+  args.write(oprot_);
+
+  oprot_->writeMessageEnd();
+  oprot_->getTransport()->writeEnd();
+  oprot_->getTransport()->flush();
+}
+
+void AiravataClient::recv_getAllUsersInGateway(std::vector<std::string> & _return)
+{
+
+  int32_t rseqid = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TMessageType mtype;
+
+  iprot_->readMessageBegin(fname, mtype, rseqid);
+  if (mtype == ::apache::thrift::protocol::T_EXCEPTION) {
+    ::apache::thrift::TApplicationException x;
+    x.read(iprot_);
+    iprot_->readMessageEnd();
+    iprot_->getTransport()->readEnd();
+    throw x;
+  }
+  if (mtype != ::apache::thrift::protocol::T_REPLY) {
+    iprot_->skip(::apache::thrift::protocol::T_STRUCT);
+    iprot_->readMessageEnd();
+    iprot_->getTransport()->readEnd();
+  }
+  if (fname.compare("getAllUsersInGateway") != 0) {
+    iprot_->skip(::apache::thrift::protocol::T_STRUCT);
+    iprot_->readMessageEnd();
+    iprot_->getTransport()->readEnd();
+  }
+  Airavata_getAllUsersInGateway_presult result;
+  result.success = &_return;
+  result.read(iprot_);
+  iprot_->readMessageEnd();
+  iprot_->getTransport()->readEnd();
+
+  if (result.__isset.success) {
+    // _return pointer has now been filled
+    return;
+  }
+  if (result.__isset.ire) {
+    throw result.ire;
+  }
+  if (result.__isset.ace) {
+    throw result.ace;
+  }
+  if (result.__isset.ase) {
+    throw result.ase;
+  }
+  if (result.__isset.ae) {
+    throw result.ae;
+  }
+  throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "getAllUsersInGateway failed: unknown result");
+}
+
+bool AiravataClient::updateGateway(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const  ::apache::airavata::model::workspace::Gateway& updatedGateway)
+{
+  send_updateGateway(authzToken, gatewayId, updatedGateway);
+  return recv_updateGateway();
 }
 
-void AiravataClient::send_getAPIVersion(const  ::apache::airavata::model::security::AuthzToken& authzToken)
+void AiravataClient::send_updateGateway(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const  ::apache::airavata::model::workspace::Gateway& updatedGateway)
 {
   int32_t cseqid = 0;
-  oprot_->writeMessageBegin("getAPIVersion", ::apache::thrift::protocol::T_CALL, cseqid);
+  oprot_->writeMessageBegin("updateGateway", ::apache::thrift::protocol::T_CALL, cseqid);
 
-  Airavata_getAPIVersion_pargs args;
+  Airavata_updateGateway_pargs args;
   args.authzToken = &authzToken;
+  args.gatewayId = &gatewayId;
+  args.updatedGateway = &updatedGateway;
   args.write(oprot_);
 
   oprot_->writeMessageEnd();
@@ -52889,7 +55325,7 @@ void AiravataClient::send_getAPIVersion(const  ::apache::airavata::model::securi
   oprot_->getTransport()->flush();
 }
 
-void AiravataClient::recv_getAPIVersion(std::string& _return)
+bool AiravataClient::recv_updateGateway()
 {
 
   int32_t rseqid = 0;
@@ -52909,12 +55345,83 @@ void AiravataClient::recv_getAPIVersion(std::string& _return)
     iprot_->readMessageEnd();
     iprot_->getTransport()->readEnd();
   }
-  if (fname.compare("getAPIVersion") != 0) {
+  if (fname.compare("updateGateway") != 0) {
     iprot_->skip(::apache::thrift::protocol::T_STRUCT);
     iprot_->readMessageEnd();
     iprot_->getTransport()->readEnd();
   }
-  Airavata_getAPIVersion_presult result;
+  bool _return;
+  Airavata_updateGateway_presult result;
+  result.success = &_return;
+  result.read(iprot_);
+  iprot_->readMessageEnd();
+  iprot_->getTransport()->readEnd();
+
+  if (result.__isset.success) {
+    return _return;
+  }
+  if (result.__isset.ire) {
+    throw result.ire;
+  }
+  if (result.__isset.ace) {
+    throw result.ace;
+  }
+  if (result.__isset.ase) {
+    throw result.ase;
+  }
+  if (result.__isset.ae) {
+    throw result.ae;
+  }
+  throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "updateGateway failed: unknown result");
+}
+
+void AiravataClient::getGateway( ::apache::airavata::model::workspace::Gateway& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId)
+{
+  send_getGateway(authzToken, gatewayId);
+  recv_getGateway(_return);
+}
+
+void AiravataClient::send_getGateway(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId)
+{
+  int32_t cseqid = 0;
+  oprot_->writeMessageBegin("getGateway", ::apache::thrift::protocol::T_CALL, cseqid);
+
+  Airavata_getGateway_pargs args;
+  args.authzToken = &authzToken;
+  args.gatewayId = &gatewayId;
+  args.write(oprot_);
+
+  oprot_->writeMessageEnd();
+  oprot_->getTransport()->writeEnd();
+  oprot_->getTransport()->flush();
+}
+
+void AiravataClient::recv_getGateway( ::apache::airavata::model::workspace::Gateway& _return)
+{
+
+  int32_t rseqid = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TMessageType mtype;
+
+  iprot_->readMessageBegin(fname, mtype, rseqid);
+  if (mtype == ::apache::thrift::protocol::T_EXCEPTION) {
+    ::apache::thrift::TApplicationException x;
+    x.read(iprot_);
+    iprot_->readMessageEnd();
+    iprot_->getTransport()->readEnd();
+    throw x;
+  }
+  if (mtype != ::apache::thrift::protocol::T_REPLY) {
+    iprot_->skip(::apache::thrift::protocol::T_STRUCT);
+    iprot_->readMessageEnd();
+    iprot_->getTransport()->readEnd();
+  }
+  if (fname.compare("getGateway") != 0) {
+    iprot_->skip(::apache::thrift::protocol::T_STRUCT);
+    iprot_->readMessageEnd();
+    iprot_->getTransport()->readEnd();
+  }
+  Airavata_getGateway_presult result;
   result.success = &_return;
   result.read(iprot_);
   iprot_->readMessageEnd();
@@ -52936,24 +55443,23 @@ void AiravataClient::recv_getAPIVersion(std::string& _return)
   if (result.__isset.ae) {
     throw result.ae;
   }
-  throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "getAPIVersion failed: unknown result");
+  throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "getGateway failed: unknown result");
 }
 
-bool AiravataClient::isUserExists(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName)
+bool AiravataClient::deleteGateway(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId)
 {
-  send_isUserExists(authzToken, gatewayId, userName);
-  return recv_isUserExists();
+  send_deleteGateway(authzToken, gatewayId);
+  return recv_deleteGateway();
 }
 
-void AiravataClient::send_isUserExists(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName)
+void AiravataClient::send_deleteGateway(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId)
 {
   int32_t cseqid = 0;
-  oprot_->writeMessageBegin("isUserExists", ::apache::thrift::protocol::T_CALL, cseqid);
+  oprot_->writeMessageBegin("deleteGateway", ::apache::thrift::protocol::T_CALL, cseqid);
 
-  Airavata_isUserExists_pargs args;
+  Airavata_deleteGateway_pargs args;
   args.authzToken = &authzToken;
   args.gatewayId = &gatewayId;
-  args.userName = &userName;
   args.write(oprot_);
 
   oprot_->writeMessageEnd();
@@ -52961,7 +55467,7 @@ void AiravataClient::send_isUserExists(const  ::apache::airavata::model::securit
   oprot_->getTransport()->flush();
 }
 
-bool AiravataClient::recv_isUserExists()
+bool AiravataClient::recv_deleteGateway()
 {
 
   int32_t rseqid = 0;
@@ -52981,13 +55487,13 @@ bool AiravataClient::recv_isUserExists()
     iprot_->readMessageEnd();
     iprot_->getTransport()->readEnd();
   }
-  if (fname.compare("isUserExists") != 0) {
+  if (fname.compare("deleteGateway") != 0) {
     iprot_->skip(::apache::thrift::protocol::T_STRUCT);
     iprot_->readMessageEnd();
     iprot_->getTransport()->readEnd();
   }
   bool _return;
-  Airavata_isUserExists_presult result;
+  Airavata_deleteGateway_presult result;
   result.success = &_return;
   result.read(iprot_);
   iprot_->readMessageEnd();
@@ -53008,23 +55514,22 @@ bool AiravataClient::recv_isUserExists()
   if (result.__isset.ae) {
     throw result.ae;
   }
-  throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "isUserExists failed: unknown result");
+  throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "deleteGateway failed: unknown result");
 }
 
-void AiravataClient::addGateway(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::workspace::Gateway& gateway)
+void AiravataClient::getAllGateways(std::vector< ::apache::airavata::model::workspace::Gateway> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken)
 {
-  send_addGateway(authzToken, gateway);
-  recv_addGateway(_return);
+  send_getAllGateways(authzToken);
+  recv_getAllGateways(_return);
 }
 
-void AiravataClient::send_addGateway(const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::workspace::Gateway& gateway)
+void AiravataClient::send_getAllGateways(const  ::apache::airavata::model::security::AuthzToken& authzToken)
 {
   int32_t cseqid = 0;
-  oprot_->writeMessageBegin("addGateway", ::apache::thrift::protocol::T_CALL, cseqid);
+  oprot_->writeMessageBegin("getAllGateways", ::apache::thrift::protocol::T_CALL, cseqid);
 
-  Airavata_addGateway_pargs args;
+  Airavata_getAllGateways_pargs args;
   args.authzToken = &authzToken;
-  args.gateway = &gateway;
   args.write(oprot_);
 
   oprot_->writeMessageEnd();
@@ -53032,7 +55537,7 @@ void AiravataClient::send_addGateway(const  ::apache::airavata::model::security:
   oprot_->getTransport()->flush();
 }
 
-void AiravataClient::recv_addGateway(std::string& _return)
+void AiravataClient::recv_getAllGateways(std::vector< ::apache::airavata::model::workspace::Gateway> & _return)
 {
 
   int32_t rseqid = 0;
@@ -53052,12 +55557,12 @@ void AiravataClient::recv_addGateway(std::string& _return)
     iprot_->readMessageEnd();
     iprot_->getTransport()->readEnd();
   }
-  if (fname.compare("addGateway") != 0) {
+  if (fname.compare("getAllGateways") != 0) {
     iprot_->skip(::apache::thrift::protocol::T_STRUCT);
     iprot_->readMessageEnd();
     iprot_->getTransport()->readEnd();
   }
-  Airavata_addGateway_presult result;
+  Airavata_getAllGateways_presult result;
   result.success = &_return;
   result.read(iprot_);
   iprot_->readMessageEnd();
@@ -53079,21 +55584,21 @@ void AiravataClient::recv_addGateway(std::string& _return)
   if (result.__isset.ae) {
     throw result.ae;
   }
-  throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "addGateway failed: unknown result");
+  throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "getAllGateways failed: unknown result");
 }
 
-void AiravataClient::getAllUsersInGateway(std::vector<std::string> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId)
+bool AiravataClient::isGatewayExist(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId)
 {
-  send_getAllUsersInGateway(authzToken, gatewayId);
-  recv_getAllUsersInGateway(_return);
+  send_isGatewayExist(authzToken, gatewayId);
+  return recv_isGatewayExist();
 }
 
-void AiravataClient::send_getAllUsersInGateway(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId)
+void AiravataClient::send_isGatewayExist(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId)
 {
   int32_t cseqid = 0;
-  oprot_->writeMessageBegin("getAllUsersInGateway", ::apache::thrift::protocol::T_CALL, cseqid);
+  oprot_->writeMessageBegin("isGatewayExist", ::apache::thrift::protocol::T_CALL, cseqid);
 
-  Airavata_getAllUsersInGateway_pargs args;
+  Airavata_isGatewayExist_pargs args;
   args.authzToken = &authzToken;
   args.gatewayId = &gatewayId;
   args.write(oprot_);
@@ -53103,7 +55608,7 @@ void AiravataClient::send_getAllUsersInGateway(const  ::apache::airavata::model:
   oprot_->getTransport()->flush();
 }
 
-void AiravataClient::recv_getAllUsersInGateway(std::vector<std::string> & _return)
+bool AiravataClient::recv_isGatewayExist()
 {
 
   int32_t rseqid = 0;
@@ -53123,12 +55628,83 @@ void AiravataClient::recv_getAllUsersInGateway(std::vector<std::string> & _retur
     iprot_->readMessageEnd();
     iprot_->getTransport()->readEnd();
   }
-  if (fname.compare("getAllUsersInGateway") != 0) {
+  if (fname.compare("isGatewayExist") != 0) {
     iprot_->skip(::apache::thrift::protocol::T_STRUCT);
     iprot_->readMessageEnd();
     iprot_->getTransport()->readEnd();
   }
-  Airavata_getAllUsersInGateway_presult result;
+  bool _return;
+  Airavata_isGatewayExist_presult result;
+  result.success = &_return;
+  result.read(iprot_);
+  iprot_->readMessageEnd();
+  iprot_->getTransport()->readEnd();
+
+  if (result.__isset.success) {
+    return _return;
+  }
+  if (result.__isset.ire) {
+    throw result.ire;
+  }
+  if (result.__isset.ace) {
+    throw result.ace;
+  }
+  if (result.__isset.ase) {
+    throw result.ase;
+  }
+  if (result.__isset.ae) {
+    throw result.ae;
+  }
+  throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "isGatewayExist failed: unknown result");
+}
+
+void AiravataClient::createNotification(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::workspace::Notification& notification)
+{
+  send_createNotification(authzToken, notification);
+  recv_createNotification(_return);
+}
+
+void AiravataClient::send_createNotification(const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::workspace::Notification& notification)
+{
+  int32_t cseqid = 0;
+  oprot_->writeMessageBegin("createNotification", ::apache::thrift::protocol::T_CALL, cseqid);
+
+  Airavata_createNotification_pargs args;
+  args.authzToken = &authzToken;
+  args.notification = &notification;
+  args.write(oprot_);
+
+  oprot_->writeMessageEnd();
+  oprot_->getTransport()->writeEnd();
+  oprot_->getTransport()->flush();
+}
+
+void AiravataClient::recv_createNotification(std::string& _return)
+{
+
+  int32_t rseqid = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TMessageType mtype;
+
+  iprot_->readMessageBegin(fname, mtype, rseqid);
+  if (mtype == ::apache::thrift::protocol::T_EXCEPTION) {
+    ::apache::thrift::TApplicationException x;
+    x.read(iprot_);
+    iprot_->readMessageEnd();
+    iprot_->getTransport()->readEnd();
+    throw x;
+  }
+  if (mtype != ::apache::thrift::protocol::T_REPLY) {
+    iprot_->skip(::apache::thrift::protocol::T_STRUCT);
+    iprot_->readMessageEnd();
+    iprot_->getTransport()->readEnd();
+  }
+  if (fname.compare("createNotification") != 0) {
+    iprot_->skip(::apache::thrift::protocol::T_STRUCT);
+    iprot_->readMessageEnd();
+    iprot_->getTransport()->readEnd();
+  }
+  Airavata_createNotification_presult result;
   result.success = &_return;
   result.read(iprot_);
   iprot_->readMessageEnd();
@@ -53150,24 +55726,95 @@ void AiravataClient::recv_getAllUsersInGateway(std::vector<std::string> & _retur
   if (result.__isset.ae) {
     throw result.ae;
   }
-  throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "getAllUsersInGateway failed: unknown result");
+  throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "createNotification failed: unknown result");
 }
 
-bool AiravataClient::updateGateway(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const  ::apache::airavata::model::workspace::Gateway& updatedGateway)
+bool AiravataClient::updateNotification(const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::workspace::Notification& notification)
 {
-  send_updateGateway(authzToken, gatewayId, updatedGateway);
-  return recv_updateGateway();
+  send_updateNotification(authzToken, notification);
+  return recv_updateNotification();
 }
 
-void AiravataClient::send_updateGateway(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const  ::apache::airavata::model::workspace::Gateway& updatedGateway)
+void AiravataClient::send_updateNotification(const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::workspace::Notification& notification)
 {
   int32_t cseqid = 0;
-  oprot_->writeMessageBegin("updateGateway", ::apache::thrift::protocol::T_CALL, cseqid);
+  oprot_->writeMessageBegin("updateNotification", ::apache::thrift::protocol::T_CALL, cseqid);
 
-  Airavata_updateGateway_pargs args;
+  Airavata_updateNotification_pargs args;
+  args.authzToken = &authzToken;
+  args.notification = &notification;
+  args.write(oprot_);
+
+  oprot_->writeMessageEnd();
+  oprot_->getTransport()->writeEnd();
+  oprot_->getTransport()->flush();
+}
+
+bool AiravataClient::recv_updateNotification()
+{
+

<TRUNCATED>

[42/50] [abbrv] airavata git commit: AIRAVATA-2371 Updating to new name of authz.cache.manager.class

Posted by sm...@apache.org.
AIRAVATA-2371 Updating to new name of authz.cache.manager.class


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

Branch: refs/heads/registry-refactoring
Commit: e1a9ab48529d998b09b310ad15427efa2587df8f
Parents: 5f8d5c6
Author: Marcus Christie <ma...@apache.org>
Authored: Thu May 11 10:55:03 2017 -0400
Committer: Marcus Christie <ma...@apache.org>
Committed: Thu May 11 10:55:03 2017 -0400

----------------------------------------------------------------------
 .../ansible/roles/api-orch/templates/airavata-server.properties.j2 | 2 +-
 .../ansible/roles/gfac/templates/airavata-server.properties.j2     | 2 +-
 .../server/src/main/resources/airavata-server.properties           | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/e1a9ab48/dev-tools/ansible/roles/api-orch/templates/airavata-server.properties.j2
----------------------------------------------------------------------
diff --git a/dev-tools/ansible/roles/api-orch/templates/airavata-server.properties.j2 b/dev-tools/ansible/roles/api-orch/templates/airavata-server.properties.j2
index 089d1e4..aeaeb1a 100644
--- a/dev-tools/ansible/roles/api-orch/templates/airavata-server.properties.j2
+++ b/dev-tools/ansible/roles/api-orch/templates/airavata-server.properties.j2
@@ -299,7 +299,7 @@ trust.store={{ keystores_location }}/{{ client_truststore_src_path | basename }}
 trust.store.password=airavata
 #### authorization cache related configuration ####
 authz.cache.enabled=true
-authz.cache.manager.class=org.apache.airavata.api.server.security.authzcache.DefaultAuthzCacheManager
+authz.cache.manager.class=org.apache.airavata.service.security.authzcache.DefaultAuthzCacheManager
 in.memory.cache.size=1000
 #### remote idp service url for KeyCloak based setup####
 remote.idp.service.url={{ remote_idp_service_url }}

http://git-wip-us.apache.org/repos/asf/airavata/blob/e1a9ab48/dev-tools/ansible/roles/gfac/templates/airavata-server.properties.j2
----------------------------------------------------------------------
diff --git a/dev-tools/ansible/roles/gfac/templates/airavata-server.properties.j2 b/dev-tools/ansible/roles/gfac/templates/airavata-server.properties.j2
index ba11ed3..05a42c7 100644
--- a/dev-tools/ansible/roles/gfac/templates/airavata-server.properties.j2
+++ b/dev-tools/ansible/roles/gfac/templates/airavata-server.properties.j2
@@ -293,5 +293,5 @@ trust.store={{ keystores_location }}/{{ client_truststore_src_path | basename }}
 trust.store.password=airavata
 #### authorization cache related configuration ####
 authz.cache.enabled=true
-authz.cache.manager.class=org.apache.airavata.api.server.security.authzcache.DefaultAuthzCacheManager
+authz.cache.manager.class=org.apache.airavata.service.security.authzcache.DefaultAuthzCacheManager
 in.memory.cache.size=1000

http://git-wip-us.apache.org/repos/asf/airavata/blob/e1a9ab48/modules/configuration/server/src/main/resources/airavata-server.properties
----------------------------------------------------------------------
diff --git a/modules/configuration/server/src/main/resources/airavata-server.properties b/modules/configuration/server/src/main/resources/airavata-server.properties
index 4aeb06c..47bf83e 100644
--- a/modules/configuration/server/src/main/resources/airavata-server.properties
+++ b/modules/configuration/server/src/main/resources/airavata-server.properties
@@ -316,7 +316,7 @@ remote.oauth.authorization.server=https://idp.scigap.org:9443/services/
 authorization.policy=airavata-default-xacml-policy
 #### authorization cache related configuration ####
 authz.cache.enabled=true
-authz.cache.manager.class=org.apache.airavata.api.server.security.authzcache.DefaultAuthzCacheManager
+authz.cache.manager.class=org.apache.airavata.service.security.authzcache.DefaultAuthzCacheManager
 in.memory.cache.size=1000
 #### remote idp service url for KeyCloak based setup####
 remote.idp.service.url={{ remote_idp_service_url }}


[19/50] [abbrv] airavata git commit: Use firstName, lastName in KeyCloakImpl

Posted by sm...@apache.org.
Use firstName, lastName in KeyCloakImpl


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

Branch: refs/heads/registry-refactoring
Commit: d37c9d2ff004bf51caee598d3513d0c936839089
Parents: 9fab627
Author: Gourav Shenoy <go...@apache.org>
Authored: Tue May 2 16:00:55 2017 -0400
Committer: Gourav Shenoy <go...@apache.org>
Committed: Tue May 2 16:00:55 2017 -0400

----------------------------------------------------------------------
 .../services/core/impl/TenantManagementKeycloakImpl.java     | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/d37c9d2f/airavata-services/profile-service/iam-admin-services-core/src/main/java/org/apache/airavata/service/profile/iam/admin/services/core/impl/TenantManagementKeycloakImpl.java
----------------------------------------------------------------------
diff --git a/airavata-services/profile-service/iam-admin-services-core/src/main/java/org/apache/airavata/service/profile/iam/admin/services/core/impl/TenantManagementKeycloakImpl.java b/airavata-services/profile-service/iam-admin-services-core/src/main/java/org/apache/airavata/service/profile/iam/admin/services/core/impl/TenantManagementKeycloakImpl.java
index 5f4b417..d385b70 100644
--- a/airavata-services/profile-service/iam-admin-services-core/src/main/java/org/apache/airavata/service/profile/iam/admin/services/core/impl/TenantManagementKeycloakImpl.java
+++ b/airavata-services/profile-service/iam-admin-services-core/src/main/java/org/apache/airavata/service/profile/iam/admin/services/core/impl/TenantManagementKeycloakImpl.java
@@ -216,8 +216,8 @@ public class TenantManagementKeycloakImpl implements TenantManagementInterface {
             Keycloak client = TenantManagementKeycloakImpl.getClient(ServerSettings.getIamServerUrl(), userProfile.getGatewayId(), realmAdminCreds);
             UserRepresentation user = new UserRepresentation();
             user.setUsername(userProfile.getUserId());
-            //ToDo: userProfile donot have firstname and lastname, putting Full name in keycloak's firstname field.
-            user.setFirstName(userProfile.getUserName());
+            user.setFirstName(userProfile.getFirstName());
+            user.setLastName(userProfile.getLastName());
             // Always takes the first value
             List<String> emails = userProfile.getEmails();
             user.setEmail(emails.get(0));
@@ -272,8 +272,8 @@ public class TenantManagementKeycloakImpl implements TenantManagementInterface {
         try{
             Keycloak client = TenantManagementKeycloakImpl.getClient(ServerSettings.getIamServerUrl(), userProfile.getGatewayId(), realmAdminCreds);
             List<UserRepresentation> retrieveUserList = client.realm(userProfile.getGatewayId()).users().search(userProfile.getUserId(),
-                    userProfile.getUserName(),
-                    null,
+                    userProfile.getFirstName(),
+                    userProfile.getLastName(),
                     userProfile.getEmails().get(0),
                     0, 1);
             if(!retrieveUserList.isEmpty())


[30/50] [abbrv] airavata git commit: Add generation of PHP Profile Service stubs to script

Posted by sm...@apache.org.
Add generation of PHP Profile Service stubs to script


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

Branch: refs/heads/registry-refactoring
Commit: 3f404315179fb61591123d6f133f4db5d157a876
Parents: 0710b1c
Author: Marcus Christie <ma...@apache.org>
Authored: Thu May 4 14:43:26 2017 -0400
Committer: Marcus Christie <ma...@apache.org>
Committed: Thu May 4 14:43:26 2017 -0400

----------------------------------------------------------------------
 thrift-interface-descriptions/generate-thrift-stubs.sh | 2 ++
 1 file changed, 2 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/3f404315/thrift-interface-descriptions/generate-thrift-stubs.sh
----------------------------------------------------------------------
diff --git a/thrift-interface-descriptions/generate-thrift-stubs.sh b/thrift-interface-descriptions/generate-thrift-stubs.sh
index fe968f0..d78d9d5 100755
--- a/thrift-interface-descriptions/generate-thrift-stubs.sh
+++ b/thrift-interface-descriptions/generate-thrift-stubs.sh
@@ -73,6 +73,7 @@ DATAMODEL_THRIFT_FILE='data-models/airavata_data_models.thrift'
 APP_CATALOG_THRIFT_FILE='data-models/app-catalog-models/app_catalog_models.thrift'
 RESOURCE_CATALOG_THRIFT_FILE='data-models/resource-catalog-models/resource_catalog_models.thrift'
 WORKFLOW_THRIFT_FILE='data-models/workflow-models/workflow_data_model.thrift'
+PROFILE_SERVICE_THRIFT_FILE='service-cpis/profile-service/profile-service-cpi.thrift'
 
 DATAMODEL_SRC_DIR='../airavata-api/airavata-data-models/src/main/java'
 JAVA_API_SDK_DIR='../airavata-api/airavata-api-stubs/src/main/java'
@@ -220,6 +221,7 @@ generate_php_stubs() {
     $THRIFT_EXEC ${THRIFT_ARGS} --gen php:autoload ${APP_CATALOG_THRIFT_FILE}  || fail unable to generate PHP thrift classes
     $THRIFT_EXEC ${THRIFT_ARGS} --gen php:autoload ${RESOURCE_CATALOG_THRIFT_FILE}   || fail unable to generate PHP thrift classes
     $THRIFT_EXEC ${THRIFT_ARGS} --gen php:autoload ${AIRAVATA_API_THRIFT_FILE} || fail unable to generate PHP thrift classes
+    $THRIFT_EXEC ${THRIFT_ARGS} --gen php:autoload ${PROFILE_SERVICE_THRIFT_FILE} || fail unable to generate PHP thrift classes
 
     # For the generated java classes add the ASF V2 License header
     ## TODO Write PHP license parser


[02/50] [abbrv] airavata git commit: Add Tenant Profile Thrift Model

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/thrift-interface-descriptions/data-models/airavata_data_models.thrift
----------------------------------------------------------------------
diff --git a/thrift-interface-descriptions/data-models/airavata_data_models.thrift b/thrift-interface-descriptions/data-models/airavata_data_models.thrift
index 3237de3..6d41138 100644
--- a/thrift-interface-descriptions/data-models/airavata_data_models.thrift
+++ b/thrift-interface-descriptions/data-models/airavata_data_models.thrift
@@ -32,8 +32,9 @@ include "experiment-catalog-models/scheduling_model.thrift"
 include "experiment-catalog-models/status_models.thrift"
 include "resource-catalog-models/data_movement_models.thrift"
 include "replica-catalog-models/replica_catalog_models.thrift"
-include "user-group-models/user_profile_model.thrift"
-include "user-group-models/group_manager_model.thrift"
+include "user-tenant-group-models/user_profile_model.thrift"
+include "user-tenant-group-models/group_manager_model.thrift"
+include "user-tenant-group-models/tenant_profile_model.thrift"
 include "credential-store-models/credential_store_data_models.thrift"
 
 namespace java org.apache.airavata.model

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/thrift-interface-descriptions/data-models/resource-catalog-models/user_resource_profile_model.thrift
----------------------------------------------------------------------
diff --git a/thrift-interface-descriptions/data-models/resource-catalog-models/user_resource_profile_model.thrift b/thrift-interface-descriptions/data-models/resource-catalog-models/user_resource_profile_model.thrift
index fd4784d..3dcb53b 100644
--- a/thrift-interface-descriptions/data-models/resource-catalog-models/user_resource_profile_model.thrift
+++ b/thrift-interface-descriptions/data-models/resource-catalog-models/user_resource_profile_model.thrift
@@ -25,7 +25,7 @@ namespace py apache.airavata.model.appcatalog.userresourceprofile
 
 include "compute_resource_model.thrift"
 include "data_movement_models.thrift"
-include "../user-group-models/user_profile_model.thrift"
+include "../user-tenant-group-models/user_profile_model.thrift"
 
 /**
  * User specific preferences for a Computer Resource

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/thrift-interface-descriptions/data-models/user-group-models/group_manager_model.thrift
----------------------------------------------------------------------
diff --git a/thrift-interface-descriptions/data-models/user-group-models/group_manager_model.thrift b/thrift-interface-descriptions/data-models/user-group-models/group_manager_model.thrift
deleted file mode 100644
index 2bc3b2f..0000000
--- a/thrift-interface-descriptions/data-models/user-group-models/group_manager_model.thrift
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
- include "../../airavata-apis/airavata_commons.thrift"
-
- namespace java org.apache.airavata.model.group
- namespace php Airavata.Model.Group
- namespace cpp apache.airavata.model.group
- namespace py apache.airavata.model.group
-
-
-enum ResourceType {
-    PROJECT,
-    EXPERIMENT,
-    DATA,
-    OTHER
-}
-
-enum ResourcePermissionType {
-    WRITE,
-    READ,
-    OWNER
-}
-
-struct GroupModel{
-    1: optional string id,
-    2: optional string name,
-    3: optional string ownerId,
-    4: optional string description,
-    5: optional list<string> members
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/thrift-interface-descriptions/data-models/user-group-models/user_profile_model.thrift
----------------------------------------------------------------------
diff --git a/thrift-interface-descriptions/data-models/user-group-models/user_profile_model.thrift b/thrift-interface-descriptions/data-models/user-group-models/user_profile_model.thrift
deleted file mode 100644
index 116d9eb..0000000
--- a/thrift-interface-descriptions/data-models/user-group-models/user_profile_model.thrift
+++ /dev/null
@@ -1,186 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
- include "../../airavata-apis/airavata_commons.thrift"
-
- namespace java org.apache.airavata.model.user
- namespace php Airavata.Model.User
- namespace cpp apache.airavata.model.user
- namespace py apache.airavata.model.user
-
-const string USER_PROFILE_VERSION = "1.0"
-
-enum Status {
-    ACTIVE,
-    CONFIRMED,
-    APPROVED,
-    DELETED,
-    DUPLICATE,
-    GRACE_PERIOD,
-    INVITED,
-    DENIED
-    PENDING,
-    PENDING_APPROVAL,
-    PENDING_CONFIRMATION
-    SUSPENDED
-    DECLINED
-    EXPIRED
-}
-
-/**
- * U.S. Citizen (see: http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
- *
-*/
-enum USCitizenship {
-    US_CITIZEN,
-    US_PERMANENT_RESIDENT,
-    OTHER_NON_US_CITIZEN
-}
-
-/**
- * Hispanic or Latino - a person of Mexican, Puerto Rican, Cuban, South or
- *  Central American, or other Spanish culture or origin, regardless of race.
- *
-*/
-enum ethnicity {
-    HISPANIC_LATINO,
-    NOT_HISPANIC_LATINO
-}
-
-/**
- * Asian - a person having origins in any of the original peoples of the Far East,
- *      Southeast Asia, or the Indian subcontinent including, for example, Cambodia,
-  *      China, India, Japan, Korea, Malaysia, Pakistan, the Philippine Islands,
-  *      Thailand, and Vietnam.
- * American Indian or Alaskan Native - a person having origins in any of the original
-  *     peoples of North and South America (including Central America), and who maintains
-   *     tribal affiliation or community attachment.
- * Black or African American - a person having origins in any of the black racial groups
- *      of Africa.
- * Native Hawaiian or Pacific Islander - a person having origins in any of the original
- *      peoples of Hawaii, Guan, Samoa, or other Pacific Islands.
- * White - a person having origins in any of the original peoples of Europe, the Middle East, or North Africa.
- *
-*/
-enum race {
-    ASIAN,
-    AMERICAN_INDIAN_OR_ALASKAN_NATIVE,
-    BLACK_OR_AFRICAN_AMERICAN,
-    NATIVE_HAWAIIAN_OR_PACIFIC_ISLANDER,
-    WHITE
-}
-
-enum disability {
-    HEARING_IMAPAIRED,
-    VISUAL_IMPAIRED,
-    MOBILITY_OR_ORTHOPEDIC_IMPAIRMENT,
-    OTHER_IMPAIRMENT
-}
-
-/**
- * A structure holding the NSF Demographic information.
- *
- *
-*/
-struct NSFDemographics {
-    1: required string airavataInternalUserId = airavata_commons.DEFAULT_ID,
-    2: optional string gender,
-    3: optional USCitizenship usCitizenship,
-    4: optional list<ethnicity> ethnicities,
-    5: optional list<race> races,
-    6: optional list<disability> disabilities
-}
-
-/**
- * A structure holding the user profile and its child models.
- *
- * Notes:
- *  The model does not include passwords as it is assumed an external identity provider is used to authenticate user.
- *  References:
- *     NSF Demographic Information - http://www.nsf.gov/pubs/2000/00form1225/00form1225.doc
- *     LDAP Schema - https://tools.ietf.org/html/rfc4519
- *     SCIM 2.0 - https://tools.ietf.org/html/rfc7643
- *
- * userModelVersion:
- *  Version number of profile
- *
- * airavataInternalUserId:
- *  internal to Airavata, not intended to be used outside of the Airavata platform or possibly by gateways
- *  (that is, never shown to users), never reassigned, REQUIRED
- *
- * userId:
- *  Externally assertable unique identifier. SAML (primarly in higher education, academic) tends to keep
- *   user name less opaque. OpenID Connect maintains them to be opaque.
- *
- * emails:
- *   Email identifier are Verified, REQUIRED and MULTIVALUED
- *
- * userName:
- *  Name-based identifiers can be multivalues. To keep it simple, Airavata will make it a string.
- *   In the future these can be enumerated as:
-     *   Official name (as asserted possibly by some external identity provider)
-     *   Prefered name (as asserted or suggested by user directly)
-     *   Components:
-     *      givenName
-     *      surname (familyName)
-     *      displayName (often asserted by user to handle things like middle names, suffix, prefix, and the like)
- *
- * orcidId: ORCID ID - http://orcid.org/about/what-is-orcid)
- *
- * phones: Telephone MULTIVALUED
- *
- * country: Country of Residance
- *
- * nationality Countries of citizenship
- *
- * comments:
- *   Free-form information (treated as opaque by Airavata and simply passed to resource).
- *
- * labeledURI:
-   * Google Scholar, Web of Science, ACS, e.t.c
- *
- * timeZone:
- *  User’s preferred timezone - IANA Timezone Databases - http://www.iana.org/time-zones.
- *
-*/
-
-struct UserProfile {
-    1: required string userModelVersion = USER_PROFILE_VERSION,
-    2: required string airavataInternalUserId = airavata_commons.DEFAULT_ID,
-    3: required string userId,
-    4: required string gatewayId,
-    5: required list<string> emails,
-    6: optional string userName,
-    7: optional string orcidId,
-    8: optional list<string> phones,
-    9: optional string country,
-    10: optional list<string> nationality,
-    11: optional string homeOrganization,
-    12: optional string orginationAffiliation,
-    13: required i64 creationTime,
-    14: required i64 lastAccessTime,
-    15: required i64 validUntil,
-    16: required Status State,
-    17: optional string comments,
-    18: optional list<string> labeledURI,
-    19: optional string gpgKey,
-    20: optional string timeZone,
-    21: optional NSFDemographics nsfDemographics
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/thrift-interface-descriptions/data-models/user-tenant-group-models/group_manager_model.thrift
----------------------------------------------------------------------
diff --git a/thrift-interface-descriptions/data-models/user-tenant-group-models/group_manager_model.thrift b/thrift-interface-descriptions/data-models/user-tenant-group-models/group_manager_model.thrift
new file mode 100644
index 0000000..2bc3b2f
--- /dev/null
+++ b/thrift-interface-descriptions/data-models/user-tenant-group-models/group_manager_model.thrift
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+ include "../../airavata-apis/airavata_commons.thrift"
+
+ namespace java org.apache.airavata.model.group
+ namespace php Airavata.Model.Group
+ namespace cpp apache.airavata.model.group
+ namespace py apache.airavata.model.group
+
+
+enum ResourceType {
+    PROJECT,
+    EXPERIMENT,
+    DATA,
+    OTHER
+}
+
+enum ResourcePermissionType {
+    WRITE,
+    READ,
+    OWNER
+}
+
+struct GroupModel{
+    1: optional string id,
+    2: optional string name,
+    3: optional string ownerId,
+    4: optional string description,
+    5: optional list<string> members
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/thrift-interface-descriptions/data-models/user-tenant-group-models/tenant_profile_model.thrift
----------------------------------------------------------------------
diff --git a/thrift-interface-descriptions/data-models/user-tenant-group-models/tenant_profile_model.thrift b/thrift-interface-descriptions/data-models/user-tenant-group-models/tenant_profile_model.thrift
new file mode 100644
index 0000000..557dddb
--- /dev/null
+++ b/thrift-interface-descriptions/data-models/user-tenant-group-models/tenant_profile_model.thrift
@@ -0,0 +1,58 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+include "../../airavata-apis/airavata_commons.thrift"
+
+namespace java org.apache.airavata.model.tenant
+namespace php Airavata.Model.Tenant
+namespace cpp apache.airavata.model.tenant
+namespace py apache.airavata.model.tenant
+
+enum TenantApprovalStatus {
+    REQUESTED,
+    APPROVED,
+    ACTIVE,
+    DEACTIVATED,
+    CANCELLED,
+    DENIED,
+    CREATED
+}
+
+struct Tenant {
+    1: required string tenantId,
+    2: required TenantApprovalStatus tenantApprovalStatus,
+    3: optional string tenantName,
+    4: optional string domain,
+    5: optional string emailAddress
+    6: optional string tenantAcronym,
+    7: optional string tenantURL,
+    8: optional string tenantPublicAbstract,
+    9: optional string reviewProposalDescription,
+    10: optional string tenantAdminFirstName,
+    11: optional string tenantAdminLastName,
+    12: optional string tenantAdminEmail,
+    13: optional string identityServerUserName,
+    14: optional string identityServerPasswordToken,
+    15: optional string declinedReason,
+    16: optional string oauthClientId,
+    17: optional string oauthClientSecret,
+    18: optional i64 requestCreationTime,
+    19: optional string requesterUsername
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/thrift-interface-descriptions/data-models/user-tenant-group-models/user_profile_model.thrift
----------------------------------------------------------------------
diff --git a/thrift-interface-descriptions/data-models/user-tenant-group-models/user_profile_model.thrift b/thrift-interface-descriptions/data-models/user-tenant-group-models/user_profile_model.thrift
new file mode 100644
index 0000000..638eb01
--- /dev/null
+++ b/thrift-interface-descriptions/data-models/user-tenant-group-models/user_profile_model.thrift
@@ -0,0 +1,197 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+ include "../../airavata-apis/airavata_commons.thrift"
+
+ namespace java org.apache.airavata.model.user
+ namespace php Airavata.Model.User
+ namespace cpp apache.airavata.model.user
+ namespace py apache.airavata.model.user
+
+const string USER_PROFILE_VERSION = "1.0"
+
+enum Status {
+    ACTIVE,
+    CONFIRMED,
+    APPROVED,
+    DELETED,
+    DUPLICATE,
+    GRACE_PERIOD,
+    INVITED,
+    DENIED
+    PENDING,
+    PENDING_APPROVAL,
+    PENDING_CONFIRMATION
+    SUSPENDED
+    DECLINED
+    EXPIRED
+}
+
+/**
+ * U.S. Citizen (see: http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
+ *
+*/
+enum USCitizenship {
+    US_CITIZEN,
+    US_PERMANENT_RESIDENT,
+    OTHER_NON_US_CITIZEN
+}
+
+/**
+ * Hispanic or Latino - a person of Mexican, Puerto Rican, Cuban, South or
+ *  Central American, or other Spanish culture or origin, regardless of race.
+ *
+*/
+enum ethnicity {
+    HISPANIC_LATINO,
+    NOT_HISPANIC_LATINO
+}
+
+/**
+ * Asian - a person having origins in any of the original peoples of the Far East,
+ *      Southeast Asia, or the Indian subcontinent including, for example, Cambodia,
+  *      China, India, Japan, Korea, Malaysia, Pakistan, the Philippine Islands,
+  *      Thailand, and Vietnam.
+ * American Indian or Alaskan Native - a person having origins in any of the original
+  *     peoples of North and South America (including Central America), and who maintains
+   *     tribal affiliation or community attachment.
+ * Black or African American - a person having origins in any of the black racial groups
+ *      of Africa.
+ * Native Hawaiian or Pacific Islander - a person having origins in any of the original
+ *      peoples of Hawaii, Guan, Samoa, or other Pacific Islands.
+ * White - a person having origins in any of the original peoples of Europe, the Middle East, or North Africa.
+ *
+*/
+enum race {
+    ASIAN,
+    AMERICAN_INDIAN_OR_ALASKAN_NATIVE,
+    BLACK_OR_AFRICAN_AMERICAN,
+    NATIVE_HAWAIIAN_OR_PACIFIC_ISLANDER,
+    WHITE
+}
+
+enum disability {
+    HEARING_IMAPAIRED,
+    VISUAL_IMPAIRED,
+    MOBILITY_OR_ORTHOPEDIC_IMPAIRMENT,
+    OTHER_IMPAIRMENT
+}
+
+/**
+ * A structure holding the NSF Demographic information.
+ *
+ *
+*/
+struct NSFDemographics {
+    1: required string airavataInternalUserId = airavata_commons.DEFAULT_ID,
+    2: optional string gender,
+    3: optional USCitizenship usCitizenship,
+    4: optional list<ethnicity> ethnicities,
+    5: optional list<race> races,
+    6: optional list<disability> disabilities
+}
+
+/**
+ * A structure holding the user profile and its child models.
+ *
+ * Notes:
+ *  The model does not include passwords as it is assumed an external identity provider is used to authenticate user.
+ *  References:
+ *     NSF Demographic Information - http://www.nsf.gov/pubs/2000/00form1225/00form1225.doc
+ *     LDAP Schema - https://tools.ietf.org/html/rfc4519
+ *     SCIM 2.0 - https://tools.ietf.org/html/rfc7643
+ *
+ * userModelVersion:
+ *  Version number of profile
+ *
+ * airavataInternalUserId:
+ *  internal to Airavata, not intended to be used outside of the Airavata platform or possibly by gateways
+ *  (that is, never shown to users), never reassigned, REQUIRED
+ *
+ * userId:
+ *  Externally assertable unique identifier. SAML (primarly in higher education, academic) tends to keep
+ *   user name less opaque. OpenID Connect maintains them to be opaque.
+ *
+ * firstName, middleName, lastName:
+ *  First and Last names as assertede by the user
+ *
+ * namePrefix, nameSuffix:
+ *  prefix and suffix to the users name as asserted by the user
+ *
+ * emails:
+ *   Email identifier are Verified, REQUIRED and MULTIVALUED
+ *
+ * userName:
+ *  Name-based identifiers can be multivalues. To keep it simple, Airavata will make it a string.
+ *   In the future these can be enumerated as:
+     *   Official name (as asserted possibly by some external identity provider)
+     *   Prefered name (as asserted or suggested by user directly)
+     *   Components:
+     *      givenName
+     *      surname (familyName)
+     *      displayName (often asserted by user to handle things like middle names, suffix, prefix, and the like)
+ *
+ * orcidId: ORCID ID - http://orcid.org/about/what-is-orcid)
+ *
+ * phones: Telephone MULTIVALUED
+ *
+ * country: Country of Residance
+ *
+ * nationality Countries of citizenship
+ *
+ * comments:
+ *   Free-form information (treated as opaque by Airavata and simply passed to resource).
+ *
+ * labeledURI:
+   * Google Scholar, Web of Science, ACS, e.t.c
+ *
+ * timeZone:
+ *  User’s preferred timezone - IANA Timezone Databases - http://www.iana.org/time-zones.
+ *
+*/
+
+struct UserProfile {
+    1: required string userModelVersion = USER_PROFILE_VERSION,
+    2: required string airavataInternalUserId = airavata_commons.DEFAULT_ID,
+    3: required string userId,
+    4: required string gatewayId,
+    5: required list<string> emails,
+    6: required string firstName,
+    7: required string lastName,
+    8: optional string middleName,
+    9: optional string namePrefix,
+    10: optional string nameSuffix,
+    11: optional string userName,
+    12: optional string orcidId,
+    13: optional list<string> phones,
+    14: optional string country,
+    15: optional list<string> nationality,
+    16: optional string homeOrganization,
+    17: optional string orginationAffiliation,
+    18: required i64 creationTime,
+    19: required i64 lastAccessTime,
+    20: required i64 validUntil,
+    21: required Status State,
+    22: optional string comments,
+    23: optional list<string> labeledURI,
+    24: optional string gpgKey,
+    25: optional string timeZone,
+    26: optional NSFDemographics nsfDemographics
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/thrift-interface-descriptions/service-cpis/profile-service/iam-admin-services/iam-admin-services-cpi.thrift
----------------------------------------------------------------------
diff --git a/thrift-interface-descriptions/service-cpis/profile-service/iam-admin-services/iam-admin-services-cpi.thrift b/thrift-interface-descriptions/service-cpis/profile-service/iam-admin-services/iam-admin-services-cpi.thrift
index 3f4d63e..36821d9 100644
--- a/thrift-interface-descriptions/service-cpis/profile-service/iam-admin-services/iam-admin-services-cpi.thrift
+++ b/thrift-interface-descriptions/service-cpis/profile-service/iam-admin-services/iam-admin-services-cpi.thrift
@@ -26,7 +26,7 @@
 include "../../../airavata-apis/airavata_errors.thrift"
 include "../../../airavata-apis/security_model.thrift"
 include "../../../data-models/experiment-catalog-models/workspace_model.thrift"
-include "../../../data-models/user-group-models/user_profile_model.thrift"
+include "../../../data-models/user-tenant-group-models/user_profile_model.thrift"
 include "../../../data-models/credential-store-models/credential_store_data_models.thrift"
 include "iam_admin_services_cpi_errors.thrift"
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/thrift-interface-descriptions/service-cpis/profile-service/profile-user/profile-user-cpi.thrift
----------------------------------------------------------------------
diff --git a/thrift-interface-descriptions/service-cpis/profile-service/profile-user/profile-user-cpi.thrift b/thrift-interface-descriptions/service-cpis/profile-service/profile-user/profile-user-cpi.thrift
index f4f5de3..13f6a5c 100644
--- a/thrift-interface-descriptions/service-cpis/profile-service/profile-user/profile-user-cpi.thrift
+++ b/thrift-interface-descriptions/service-cpis/profile-service/profile-user/profile-user-cpi.thrift
@@ -25,7 +25,7 @@
 
 include "../../../airavata-apis/airavata_errors.thrift"
 include "../../../airavata-apis/security_model.thrift"
-include "../../../data-models/user-group-models/user_profile_model.thrift"
+include "../../../data-models/user-tenant-group-models/user_profile_model.thrift"
 include "profile_user_cpi_errors.thrift"
 
 


[20/50] [abbrv] airavata git commit: adding php namespace

Posted by sm...@apache.org.
adding php namespace


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

Branch: refs/heads/registry-refactoring
Commit: 3dae7048eff00f6f92ad988e52a7f12f29d2c357
Parents: 54e640c
Author: scnakandala <su...@gmail.com>
Authored: Tue May 2 16:30:37 2017 -0400
Committer: scnakandala <su...@gmail.com>
Committed: Tue May 2 16:30:37 2017 -0400

----------------------------------------------------------------------
 .../iam-admin-services/iam-admin-services-cpi.thrift                | 1 +
 1 file changed, 1 insertion(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/3dae7048/thrift-interface-descriptions/service-cpis/profile-service/iam-admin-services/iam-admin-services-cpi.thrift
----------------------------------------------------------------------
diff --git a/thrift-interface-descriptions/service-cpis/profile-service/iam-admin-services/iam-admin-services-cpi.thrift b/thrift-interface-descriptions/service-cpis/profile-service/iam-admin-services/iam-admin-services-cpi.thrift
index 3f4d63e..a1d894b 100644
--- a/thrift-interface-descriptions/service-cpis/profile-service/iam-admin-services/iam-admin-services-cpi.thrift
+++ b/thrift-interface-descriptions/service-cpis/profile-service/iam-admin-services/iam-admin-services-cpi.thrift
@@ -31,6 +31,7 @@ include "../../../data-models/credential-store-models/credential_store_data_mode
 include "iam_admin_services_cpi_errors.thrift"
 
 namespace java org.apache.airavata.service.profile.iam.admin.services.cpi
+namespace php Airavata.Service.Iam.Admin.Services.CPI
 
 const string IAM_ADMIN_SERVICES_CPI_VERSION = "0.17"
 const string IAM_ADMIN_SERVICES_CPI_NAME = "IamAdminServices"


[05/50] [abbrv] airavata git commit: Add Tenant Profile Thrift Model

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeRequestEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeRequestEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeRequestEvent.java
index 69eeb27..315159c 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeRequestEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeRequestEvent.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/parallelism/ApplicationParallelismType.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/parallelism/ApplicationParallelismType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/parallelism/ApplicationParallelismType.java
index b3b081e..dcd30d3 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/parallelism/ApplicationParallelismType.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/parallelism/ApplicationParallelismType.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessModel.java
index 512bc86..5fa77d0 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessModel.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/scheduling/ComputationalResourceSchedulingModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/scheduling/ComputationalResourceSchedulingModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/scheduling/ComputationalResourceSchedulingModel.java
index 054936c..a3be728 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/scheduling/ComputationalResourceSchedulingModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/scheduling/ComputationalResourceSchedulingModel.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/security/AuthzToken.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/security/AuthzToken.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/security/AuthzToken.java
index 4a079b7..91d5e48 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/security/AuthzToken.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/security/AuthzToken.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ExperimentState.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ExperimentState.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ExperimentState.java
index 888877f..84e468b 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ExperimentState.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ExperimentState.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ExperimentStatus.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ExperimentStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ExperimentStatus.java
index ebbb14e..241bc6d 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ExperimentStatus.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ExperimentStatus.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/JobState.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/JobState.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/JobState.java
index b3baf72..69d7857 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/JobState.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/JobState.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/JobStatus.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/JobStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/JobStatus.java
index ff276b1..24e2d0b 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/JobStatus.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/JobStatus.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ProcessState.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ProcessState.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ProcessState.java
index d9ae6a0..1a3ec2d 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ProcessState.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ProcessState.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ProcessStatus.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ProcessStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ProcessStatus.java
index e30cbdd..d058fbc 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ProcessStatus.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ProcessStatus.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/QueueStatusModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/QueueStatusModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/QueueStatusModel.java
index 26d9063..8d3b45f 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/QueueStatusModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/QueueStatusModel.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/TaskState.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/TaskState.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/TaskState.java
index 6c5a986..e85376f 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/TaskState.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/TaskState.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/TaskStatus.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/TaskStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/TaskStatus.java
index d7939db..fd72d45 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/TaskStatus.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/TaskStatus.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/DataStageType.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/DataStageType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/DataStageType.java
index 3ecb663..fa22c62 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/DataStageType.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/DataStageType.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/DataStagingTaskModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/DataStagingTaskModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/DataStagingTaskModel.java
index 9d83006..e27c7ae 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/DataStagingTaskModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/DataStagingTaskModel.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/EnvironmentSetupTaskModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/EnvironmentSetupTaskModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/EnvironmentSetupTaskModel.java
index 1a6bf3f..bc5b96f 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/EnvironmentSetupTaskModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/EnvironmentSetupTaskModel.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/JobSubmissionTaskModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/JobSubmissionTaskModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/JobSubmissionTaskModel.java
index 5e11911..6242758 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/JobSubmissionTaskModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/JobSubmissionTaskModel.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/MonitorTaskModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/MonitorTaskModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/MonitorTaskModel.java
index f2df170..fa2ea02 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/MonitorTaskModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/MonitorTaskModel.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/TaskModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/TaskModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/TaskModel.java
index 0a296e3..12770ca 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/TaskModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/TaskModel.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/TaskTypes.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/TaskTypes.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/TaskTypes.java
index cbb06c4..ee1852c 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/TaskTypes.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/TaskTypes.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
  *


[21/50] [abbrv] airavata git commit: Merge remote-tracking branch 'origin/develop' into develop

Posted by sm...@apache.org.
Merge remote-tracking branch 'origin/develop' into develop


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

Branch: refs/heads/registry-refactoring
Commit: 93e18115751e3ca1c6bd04fa6f0e12a20012471e
Parents: 3dae704 d37c9d2
Author: scnakandala <su...@gmail.com>
Authored: Tue May 2 16:30:45 2017 -0400
Committer: scnakandala <su...@gmail.com>
Committed: Tue May 2 16:30:45 2017 -0400

----------------------------------------------------------------------
 .../java/org/apache/airavata/api/Airavata.java  |    28 +-
 .../airavata/api/airavata_apiConstants.java     |    28 +-
 .../main/resources/lib/airavata/Airavata.cpp    | 18316 ++++++++++-------
 .../src/main/resources/lib/airavata/Airavata.h  |  1390 +-
 .../lib/airavata/Airavata_server.skeleton.cpp   |    35 +
 .../resources/lib/airavata/airavata_api_types.h |     1 +
 .../lib/airavata/airavata_data_models_types.h   |     2 +
 .../lib/airavata/airavata_errors_types.cpp      |   205 +-
 .../lib/airavata/airavata_errors_types.h        |    44 +
 .../lib/airavata/db_event_model_constants.cpp   |    34 +
 .../lib/airavata/db_event_model_constants.h     |    41 +
 .../lib/airavata/db_event_model_types.cpp       |   627 +
 .../lib/airavata/db_event_model_types.h         |   318 +
 .../lib/airavata/messaging_events_types.cpp     |     8 +-
 .../lib/airavata/messaging_events_types.h       |     3 +-
 .../airavata/replica_catalog_models_types.cpp   |   726 +-
 .../lib/airavata/replica_catalog_models_types.h |   274 +-
 .../airavata/tenant_profile_model_constants.cpp |    34 +
 .../airavata/tenant_profile_model_constants.h   |    41 +
 .../lib/airavata/tenant_profile_model_types.cpp |   541 +
 .../lib/airavata/tenant_profile_model_types.h   |   244 +
 .../lib/airavata/user_profile_model_types.cpp   |   241 +-
 .../lib/airavata/user_profile_model_types.h     |    57 +-
 .../resources/lib/Airavata/API/Airavata.php     |    12 +
 .../resources/lib/Airavata/API/Error/Types.php  |    82 +
 .../Model/AppCatalog/ComputeResource/Types.php  |     2 +-
 .../lib/Airavata/Model/Application/Io/Types.php |     6 +-
 .../lib/Airavata/Model/Data/Replica/Types.php   |   572 +-
 .../lib/Airavata/Model/Dbevent/Types.php        |   573 +
 .../Airavata/Model/Messaging/Event/Types.php    |     2 +
 .../lib/Airavata/Model/Tenant/Types.php         |   528 +
 .../resources/lib/Airavata/Model/User/Types.php |   292 +-
 .../lib/apache/airavata/api/Airavata-remote     |    49 +
 .../lib/apache/airavata/api/Airavata.py         |  8167 +++++---
 .../lib/apache/airavata/api/error/ttypes.py     |    76 +
 .../resources/lib/apache/airavata/api/ttypes.py |     1 +
 .../airavata/model/data/replica/ttypes.py       |   430 +-
 .../apache/airavata/model/dbevent/__init__.py   |     1 +
 .../apache/airavata/model/dbevent/constants.py  |    11 +
 .../lib/apache/airavata/model/dbevent/ttypes.py |   494 +
 .../airavata/model/messaging/event/ttypes.py    |     3 +
 .../apache/airavata/model/tenant/__init__.py    |     1 +
 .../apache/airavata/model/tenant/constants.py   |    11 +
 .../lib/apache/airavata/model/tenant/ttypes.py  |   352 +
 .../lib/apache/airavata/model/ttypes.py         |     2 +
 .../lib/apache/airavata/model/user/ttypes.py    |   234 +-
 .../apache/airavata/model/ComponentState.java   |    28 +-
 .../apache/airavata/model/ComponentStatus.java  |    28 +-
 .../org/apache/airavata/model/EdgeModel.java    |    28 +-
 .../org/apache/airavata/model/NodeModel.java    |    28 +-
 .../org/apache/airavata/model/PortModel.java    |    28 +-
 .../apache/airavata/model/WorkflowModel.java    |    28 +-
 .../apache/airavata/model/WorkflowState.java    |    28 +-
 .../apache/airavata/model/WorkflowStatus.java   |    28 +-
 .../ApplicationDeploymentDescription.java       |    28 +-
 .../appdeployment/ApplicationModule.java        |    28 +-
 .../appcatalog/appdeployment/CommandObject.java |    28 +-
 .../appcatalog/appdeployment/SetEnvPaths.java   |    28 +-
 .../ApplicationInterfaceDescription.java        |    28 +-
 .../appcatalog/computeresource/BatchQueue.java  |    28 +-
 .../computeresource/CloudJobSubmission.java     |    28 +-
 .../ComputeResourceDescription.java             |    28 +-
 .../appcatalog/computeresource/DMType.java      |    28 +-
 .../appcatalog/computeresource/FileSystems.java |    28 +-
 .../computeresource/GlobusJobSubmission.java    |    28 +-
 .../computeresource/JobManagerCommand.java      |    28 +-
 .../computeresource/JobSubmissionInterface.java |    28 +-
 .../computeresource/JobSubmissionProtocol.java  |    28 +-
 .../computeresource/LOCALSubmission.java        |    28 +-
 .../appcatalog/computeresource/MonitorMode.java |    28 +-
 .../computeresource/ProviderName.java           |    28 +-
 .../computeresource/ResourceJobManager.java     |    28 +-
 .../computeresource/ResourceJobManagerType.java |    32 +-
 .../computeresource/SSHJobSubmission.java       |    28 +-
 .../computeresource/UnicoreJobSubmission.java   |    28 +-
 .../ComputeResourcePreference.java              |    28 +-
 .../gatewayprofile/GatewayResourceProfile.java  |    28 +-
 .../gatewayprofile/StoragePreference.java       |    28 +-
 .../StorageResourceDescription.java             |    28 +-
 .../UserComputeResourcePreference.java          |    28 +-
 .../UserResourceProfile.java                    |    28 +-
 .../UserStoragePreference.java                  |    28 +-
 .../airavata/model/application/io/DataType.java |    28 +-
 .../application/io/InputDataObjectType.java     |    28 +-
 .../application/io/OutputDataObjectType.java    |    28 +-
 .../airavata/model/commons/ErrorModel.java      |    28 +-
 .../model/commons/ValidationResults.java        |    28 +-
 .../airavata/model/commons/ValidatorResult.java |    28 +-
 .../commons/airavata_commonsConstants.java      |    28 +-
 .../credential/store/CertificateCredential.java |    28 +-
 .../model/credential/store/CommunityUser.java   |    28 +-
 .../credential/store/CredentialOwnerType.java   |    28 +-
 .../credential/store/CredentialSummary.java     |    28 +-
 .../credential/store/PasswordCredential.java    |    28 +-
 .../model/credential/store/SSHCredential.java   |    28 +-
 .../model/credential/store/SummaryType.java     |    28 +-
 .../credential_store_data_modelsConstants.java  |    28 +-
 .../airavata/model/data/movement/DMType.java    |    28 +-
 .../data/movement/DataMovementInterface.java    |    28 +-
 .../data/movement/DataMovementProtocol.java     |    28 +-
 .../data/movement/GridFTPDataMovement.java      |    28 +-
 .../model/data/movement/LOCALDataMovement.java  |    28 +-
 .../model/data/movement/SCPDataMovement.java    |    28 +-
 .../model/data/movement/SecurityProtocol.java   |    28 +-
 .../data/movement/UnicoreDataMovement.java      |    28 +-
 .../model/data/replica/DataProductModel.java    |   112 +-
 .../model/data/replica/DataProductType.java     |    28 +-
 .../data/replica/DataReplicaLocationModel.java  |    72 +-
 .../data/replica/ReplicaLocationCategory.java   |    28 +-
 .../data/replica/ReplicaPersistentType.java     |    28 +-
 .../model/error/AiravataClientException.java    |    28 +-
 .../airavata/model/error/AiravataErrorType.java |    28 +-
 .../model/error/AiravataSystemException.java    |    28 +-
 .../model/error/AuthenticationException.java    |    28 +-
 .../model/error/AuthorizationException.java     |    28 +-
 .../error/ExperimentNotFoundException.java      |    28 +-
 .../model/error/InvalidRequestException.java    |    28 +-
 .../model/error/LaunchValidationException.java  |    28 +-
 .../model/error/ProjectNotFoundException.java   |    28 +-
 .../airavata/model/error/TimedOutException.java |    28 +-
 .../airavata/model/error/ValidationResults.java |    28 +-
 .../airavata/model/error/ValidatorResult.java   |    28 +-
 .../model/experiment/ExperimentModel.java       |    28 +-
 .../experiment/ExperimentSearchFields.java      |    28 +-
 .../model/experiment/ExperimentStatistics.java  |    28 +-
 .../experiment/ExperimentSummaryModel.java      |    28 +-
 .../model/experiment/ExperimentType.java        |    28 +-
 .../model/experiment/ProjectSearchFields.java   |    28 +-
 .../experiment/UserConfigurationDataModel.java  |    28 +-
 .../apache/airavata/model/group/GroupModel.java |    28 +-
 .../model/group/ResourcePermissionType.java     |    28 +-
 .../airavata/model/group/ResourceType.java      |    28 +-
 .../org/apache/airavata/model/job/JobModel.java |    28 +-
 .../event/ExperimentStatusChangeEvent.java      |    28 +-
 .../messaging/event/ExperimentSubmitEvent.java  |    28 +-
 .../model/messaging/event/JobIdentifier.java    |    28 +-
 .../messaging/event/JobStatusChangeEvent.java   |    28 +-
 .../event/JobStatusChangeRequestEvent.java      |    28 +-
 .../airavata/model/messaging/event/Message.java |    28 +-
 .../model/messaging/event/MessageLevel.java     |    28 +-
 .../model/messaging/event/MessageType.java      |    28 +-
 .../messaging/event/ProcessIdentifier.java      |    28 +-
 .../event/ProcessStatusChangeEvent.java         |    28 +-
 .../event/ProcessStatusChangeRequestEvent.java  |    28 +-
 .../messaging/event/ProcessSubmitEvent.java     |    28 +-
 .../messaging/event/ProcessTerminateEvent.java  |    28 +-
 .../model/messaging/event/TaskIdentifier.java   |    28 +-
 .../messaging/event/TaskOutputChangeEvent.java  |    28 +-
 .../messaging/event/TaskStatusChangeEvent.java  |    28 +-
 .../event/TaskStatusChangeRequestEvent.java     |    28 +-
 .../parallelism/ApplicationParallelismType.java |    28 +-
 .../airavata/model/process/ProcessModel.java    |    28 +-
 .../ComputationalResourceSchedulingModel.java   |    28 +-
 .../airavata/model/security/AuthzToken.java     |    28 +-
 .../airavata/model/status/ExperimentState.java  |    28 +-
 .../airavata/model/status/ExperimentStatus.java |    28 +-
 .../apache/airavata/model/status/JobState.java  |    28 +-
 .../apache/airavata/model/status/JobStatus.java |    28 +-
 .../airavata/model/status/ProcessState.java     |    28 +-
 .../airavata/model/status/ProcessStatus.java    |    28 +-
 .../airavata/model/status/QueueStatusModel.java |    28 +-
 .../apache/airavata/model/status/TaskState.java |    28 +-
 .../airavata/model/status/TaskStatus.java       |    28 +-
 .../airavata/model/task/DataStageType.java      |    28 +-
 .../model/task/DataStagingTaskModel.java        |    28 +-
 .../model/task/EnvironmentSetupTaskModel.java   |    28 +-
 .../model/task/JobSubmissionTaskModel.java      |    28 +-
 .../airavata/model/task/MonitorTaskModel.java   |    28 +-
 .../apache/airavata/model/task/TaskModel.java   |    28 +-
 .../apache/airavata/model/task/TaskTypes.java   |    28 +-
 .../apache/airavata/model/tenant/Tenant.java    |  2322 +++
 .../model/tenant/TenantApprovalStatus.java      |    77 +
 .../airavata/model/user/NSFDemographics.java    |    28 +-
 .../org/apache/airavata/model/user/Status.java  |    28 +-
 .../airavata/model/user/USCitizenship.java      |    28 +-
 .../apache/airavata/model/user/UserProfile.java |   734 +-
 .../apache/airavata/model/user/disability.java  |    28 +-
 .../apache/airavata/model/user/ethnicity.java   |    28 +-
 .../org/apache/airavata/model/user/race.java    |    28 +-
 .../model/user/user_profile_modelConstants.java |    28 +-
 .../airavata/model/workspace/Gateway.java       |    28 +-
 .../model/workspace/GatewayApprovalStatus.java  |    28 +-
 .../apache/airavata/model/workspace/Group.java  |    28 +-
 .../airavata/model/workspace/Notification.java  |    28 +-
 .../model/workspace/NotificationPriority.java   |    28 +-
 .../airavata/model/workspace/Project.java       |    28 +-
 .../apache/airavata/model/workspace/User.java   |    28 +-
 .../core/impl/TenantManagementKeycloakImpl.java |     8 +-
 .../testing-0.17/files/client_truststore.jks    |   271 +
 .../testing-0.17/group_vars/all/vars.yml        |    10 +-
 .../testing-0.17/group_vars/all/vault.yml       |    18 +-
 .../testing-0.17/group_vars/pga/vars.yml        |    15 +-
 .../testing-0.17/group_vars/pga/vault.yml       |    34 +-
 .../ansible/roles/api-orch/defaults/main.yml    |     2 +-
 .../templates/airavata-server.properties.j2     |    32 +-
 dev-tools/ansible/roles/database/vars/main.yml  |     2 +
 dev-tools/ansible/roles/gfac/defaults/main.yml  |     2 +-
 .../templates/airavata-server.properties.j2     |     6 +-
 dev-tools/ansible/roles/pga/defaults/main.yml   |     5 +
 dev-tools/ansible/roles/pga/tasks/main.yml      |     2 +-
 .../roles/pga/templates/pga_config.php.j2       |    20 +-
 .../main/resources/airavata-server.properties   |     2 +
 .../src/main/resources/client_truststore.jks    |   Bin 3740 -> 5312 bytes
 .../org/apache/airavata/server/ServerMain.java  |     2 +-
 .../airavata-apis/airavata_api.thrift           |     4 +-
 .../component-cpis/registry-api.thrift          |     2 +-
 .../component-cpis/user-profile-cpi.thrift      |     2 +-
 .../data-models/airavata_data_models.thrift     |     5 +-
 .../user_resource_profile_model.thrift          |     2 +-
 .../group_manager_model.thrift                  |    48 -
 .../user-group-models/user_profile_model.thrift |   186 -
 .../group_manager_model.thrift                  |    48 +
 .../tenant_profile_model.thrift                 |    58 +
 .../user_profile_model.thrift                   |   197 +
 .../iam-admin-services-cpi.thrift               |     2 +-
 .../profile-user/profile-user-cpi.thrift        |     2 +-
 216 files changed, 28999 insertions(+), 14256 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/93e18115/thrift-interface-descriptions/service-cpis/profile-service/iam-admin-services/iam-admin-services-cpi.thrift
----------------------------------------------------------------------