You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sc...@apache.org on 2017/05/24 21:34:11 UTC

[01/61] [abbrv] airavata git commit: Add Tenant Profile Thrift Model

Repository: airavata
Updated Branches:
  refs/heads/master f6f2adc5a -> df6cfd7d2


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"
 
 


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

Posted by sc...@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/master
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();


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

Posted by sc...@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/master
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


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

Posted by sc...@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/master
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(-)
----------------------------------------------------------------------



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

Posted by sc...@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/master
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 =================== -->


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

Posted by sc...@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 {


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

Posted by sc...@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/master
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(-)
----------------------------------------------------------------------



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

Posted by sc...@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/master
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(-)
----------------------------------------------------------------------



[37/61] [abbrv] airavata git commit: Updating test keycloak integration deployment

Posted by sc...@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/master
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


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

Posted by sc...@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);


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

Posted by sc...@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/master
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 }}


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

Posted by sc...@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/master
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;
                 }


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

Posted by sc...@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/master
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
----------------------------------------------------------------------


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

Posted by sc...@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)
  *


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

Posted by sc...@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/master
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)
  *


[55/61] [abbrv] airavata git commit: adding new API method to get the group memberships for a user

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/cb27490d/modules/sharing-registry/sharing-service-docs/api-docs/index.html
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-service-docs/api-docs/index.html b/modules/sharing-registry/sharing-service-docs/api-docs/index.html
index 8773c10..740be59 100644
--- a/modules/sharing-registry/sharing-service-docs/api-docs/index.html
+++ b/modules/sharing-registry/sharing-service-docs/api-docs/index.html
@@ -1,24 +1,3 @@
-<!--
-
-
-    Licensed to the Apache Software Foundation (ASF) under one
-    or more contributor license agreements.  See the NOTICE file
-    distributed with this work for additional information
-    regarding copyright ownership.  The ASF licenses this file
-    to you under the Apache License, Version 2.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.
-
--->
 <html><head>
 <link href="style.css" rel="stylesheet" type="text/css"/>
 <title>All Thrift declarations</title></head><body>
@@ -42,6 +21,7 @@
 <li><a href="sharing_cpi.html#Fn_SharingRegistryService_deleteGroup">deleteGroup</a></li>
 <li><a href="sharing_cpi.html#Fn_SharingRegistryService_deletePermissionType">deletePermissionType</a></li>
 <li><a href="sharing_cpi.html#Fn_SharingRegistryService_deleteUser">deleteUser</a></li>
+<li><a href="sharing_cpi.html#Fn_SharingRegistryService_getAllMemberGroupsForUser">getAllMemberGroupsForUser</a></li>
 <li><a href="sharing_cpi.html#Fn_SharingRegistryService_getDomain">getDomain</a></li>
 <li><a href="sharing_cpi.html#Fn_SharingRegistryService_getDomains">getDomains</a></li>
 <li><a href="sharing_cpi.html#Fn_SharingRegistryService_getEntity">getEntity</a></li>
@@ -84,6 +64,7 @@
 </tr><tr>
 <td>sharing_models</td><td></td>
 <td><a href="sharing_models.html#Struct_Domain">Domain</a><br/>
+<a href="sharing_models.html#Struct_DuplicateEntryException">DuplicateEntryException</a><br/>
 <a href="sharing_models.html#Struct_Entity">Entity</a><br/>
 <a href="sharing_models.html#Enum_EntitySearchField">EntitySearchField</a><br/>
 <a href="sharing_models.html#Struct_EntityType">EntityType</a><br/>
@@ -102,124 +83,5 @@
 </td>
 <td><code><a href="sharing_models.html#Const_DO_NOT_SET_AT_CLIENTS_ID">DO_NOT_SET_AT_CLIENTS_ID</a></code><br/>
 </code></td>
-</tr><tr>
-<td>airavata_errors</td><td></td>
-<td><a href="airavata_errors.html#Struct_AiravataClientException">AiravataClientException</a><br/>
-<a href="airavata_errors.html#Enum_AiravataErrorType">AiravataErrorType</a><br/>
-<a href="airavata_errors.html#Struct_AiravataSystemException">AiravataSystemException</a><br/>
-<a href="airavata_errors.html#Struct_AuthenticationException">AuthenticationException</a><br/>
-<a href="airavata_errors.html#Struct_AuthorizationException">AuthorizationException</a><br/>
-<a href="airavata_errors.html#Struct_DuplicateEntryException">DuplicateEntryException</a><br/>
-<a href="airavata_errors.html#Struct_ExperimentNotFoundException">ExperimentNotFoundException</a><br/>
-<a href="airavata_errors.html#Struct_InvalidRequestException">InvalidRequestException</a><br/>
-<a href="airavata_errors.html#Struct_LaunchValidationException">LaunchValidationException</a><br/>
-<a href="airavata_errors.html#Struct_ProjectNotFoundException">ProjectNotFoundException</a><br/>
-<a href="airavata_errors.html#Struct_TimedOutException">TimedOutException</a><br/>
-<a href="airavata_errors.html#Struct_ValidationResults">ValidationResults</a><br/>
-<a href="airavata_errors.html#Struct_ValidatorResult">ValidatorResult</a><br/>
-</td>
-<td></code></td>
-</tr><tr>
-<td>experiment_model</td><td></td>
-<td><a href="experiment_model.html#Struct_ExperimentModel">ExperimentModel</a><br/>
-<a href="experiment_model.html#Enum_ExperimentSearchFields">ExperimentSearchFields</a><br/>
-<a href="experiment_model.html#Struct_ExperimentStatistics">ExperimentStatistics</a><br/>
-<a href="experiment_model.html#Struct_ExperimentSummaryModel">ExperimentSummaryModel</a><br/>
-<a href="experiment_model.html#Enum_ExperimentType">ExperimentType</a><br/>
-<a href="experiment_model.html#Enum_ProjectSearchFields">ProjectSearchFields</a><br/>
-<a href="experiment_model.html#Struct_UserConfigurationDataModel">UserConfigurationDataModel</a><br/>
-</td>
-<td></code></td>
-</tr><tr>
-<td>airavata_commons</td><td></td>
-<td><a href="airavata_commons.html#Struct_ErrorModel">ErrorModel</a><br/>
-<a href="airavata_commons.html#Struct_ValidationResults">ValidationResults</a><br/>
-<a href="airavata_commons.html#Struct_ValidatorResult">ValidatorResult</a><br/>
-</td>
-<td><code><a href="airavata_commons.html#Const_DEFAULT_ID">DEFAULT_ID</a></code><br/>
-</code></td>
-</tr><tr>
-<td>application_io_models</td><td></td>
-<td><a href="application_io_models.html#Enum_DataType">DataType</a><br/>
-<a href="application_io_models.html#Struct_InputDataObjectType">InputDataObjectType</a><br/>
-<a href="application_io_models.html#Struct_OutputDataObjectType">OutputDataObjectType</a><br/>
-</td>
-<td></code></td>
-</tr><tr>
-<td>compute_resource_model</td><td></td>
-<td><a href="compute_resource_model.html#Struct_BatchQueue">BatchQueue</a><br/>
-<a href="compute_resource_model.html#Struct_CloudJobSubmission">CloudJobSubmission</a><br/>
-<a href="compute_resource_model.html#Struct_ComputeResourceDescription">ComputeResourceDescription</a><br/>
-<a href="compute_resource_model.html#Enum_DMType">DMType</a><br/>
-<a href="compute_resource_model.html#Enum_FileSystems">FileSystems</a><br/>
-<a href="compute_resource_model.html#Struct_GlobusJobSubmission">GlobusJobSubmission</a><br/>
-<a href="compute_resource_model.html#Enum_JobManagerCommand">JobManagerCommand</a><br/>
-<a href="compute_resource_model.html#Struct_JobSubmissionInterface">JobSubmissionInterface</a><br/>
-<a href="compute_resource_model.html#Enum_JobSubmissionProtocol">JobSubmissionProtocol</a><br/>
-<a href="compute_resource_model.html#Struct_LOCALSubmission">LOCALSubmission</a><br/>
-<a href="compute_resource_model.html#Enum_MonitorMode">MonitorMode</a><br/>
-<a href="compute_resource_model.html#Enum_ProviderName">ProviderName</a><br/>
-<a href="compute_resource_model.html#Struct_ResourceJobManager">ResourceJobManager</a><br/>
-<a href="compute_resource_model.html#Enum_ResourceJobManagerType">ResourceJobManagerType</a><br/>
-<a href="compute_resource_model.html#Struct_SSHJobSubmission">SSHJobSubmission</a><br/>
-<a href="compute_resource_model.html#Struct_UnicoreJobSubmission">UnicoreJobSubmission</a><br/>
-</td>
-<td></code></td>
-</tr><tr>
-<td>parallelism_model</td><td></td>
-<td><a href="parallelism_model.html#Enum_ApplicationParallelismType">ApplicationParallelismType</a><br/>
-</td>
-<td></code></td>
-</tr><tr>
-<td>data_movement_models</td><td></td>
-<td><a href="data_movement_models.html#Enum_DMType">DMType</a><br/>
-<a href="data_movement_models.html#Struct_DataMovementInterface">DataMovementInterface</a><br/>
-<a href="data_movement_models.html#Enum_DataMovementProtocol">DataMovementProtocol</a><br/>
-<a href="data_movement_models.html#Struct_GridFTPDataMovement">GridFTPDataMovement</a><br/>
-<a href="data_movement_models.html#Struct_LOCALDataMovement">LOCALDataMovement</a><br/>
-<a href="data_movement_models.html#Struct_SCPDataMovement">SCPDataMovement</a><br/>
-<a href="data_movement_models.html#Enum_SecurityProtocol">SecurityProtocol</a><br/>
-<a href="data_movement_models.html#Struct_UnicoreDataMovement">UnicoreDataMovement</a><br/>
-</td>
-<td></code></td>
-</tr><tr>
-<td>scheduling_model</td><td></td>
-<td><a href="scheduling_model.html#Struct_ComputationalResourceSchedulingModel">ComputationalResourceSchedulingModel</a><br/>
-</td>
-<td></code></td>
-</tr><tr>
-<td>status_models</td><td></td>
-<td><a href="status_models.html#Enum_ExperimentState">ExperimentState</a><br/>
-<a href="status_models.html#Struct_ExperimentStatus">ExperimentStatus</a><br/>
-<a href="status_models.html#Enum_JobState">JobState</a><br/>
-<a href="status_models.html#Struct_JobStatus">JobStatus</a><br/>
-<a href="status_models.html#Enum_ProcessState">ProcessState</a><br/>
-<a href="status_models.html#Struct_ProcessStatus">ProcessStatus</a><br/>
-<a href="status_models.html#Struct_QueueStatusModel">QueueStatusModel</a><br/>
-<a href="status_models.html#Enum_TaskState">TaskState</a><br/>
-<a href="status_models.html#Struct_TaskStatus">TaskStatus</a><br/>
-</td>
-<td></code></td>
-</tr><tr>
-<td>process_model</td><td></td>
-<td><a href="process_model.html#Struct_ProcessModel">ProcessModel</a><br/>
-</td>
-<td></code></td>
-</tr><tr>
-<td>task_model</td><td></td>
-<td><a href="task_model.html#Enum_DataStageType">DataStageType</a><br/>
-<a href="task_model.html#Struct_DataStagingTaskModel">DataStagingTaskModel</a><br/>
-<a href="task_model.html#Struct_EnvironmentSetupTaskModel">EnvironmentSetupTaskModel</a><br/>
-<a href="task_model.html#Struct_JobSubmissionTaskModel">JobSubmissionTaskModel</a><br/>
-<a href="task_model.html#Struct_MonitorTaskModel">MonitorTaskModel</a><br/>
-<a href="task_model.html#Struct_TaskModel">TaskModel</a><br/>
-<a href="task_model.html#Enum_TaskTypes">TaskTypes</a><br/>
-</td>
-<td></code></td>
-</tr><tr>
-<td>job_model</td><td></td>
-<td><a href="job_model.html#Struct_JobModel">JobModel</a><br/>
-</td>
-<td></code></td>
 </tr></table>
 </div></body></html>

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb27490d/modules/sharing-registry/sharing-service-docs/api-docs/sharing_cpi.html
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-service-docs/api-docs/sharing_cpi.html b/modules/sharing-registry/sharing-service-docs/api-docs/sharing_cpi.html
index 8f55070..4be429a 100644
--- a/modules/sharing-registry/sharing-service-docs/api-docs/sharing_cpi.html
+++ b/modules/sharing-registry/sharing-service-docs/api-docs/sharing_cpi.html
@@ -1,24 +1,3 @@
-<!--
-
-
-    Licensed to the Apache Software Foundation (ASF) under one
-    or more contributor license agreements.  See the NOTICE file
-    distributed with this work for additional information
-    regarding copyright ownership.  The ASF licenses this file
-    to you under the Apache License, Version 2.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.
-
--->
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
@@ -46,6 +25,7 @@
 <li><a href="#Fn_SharingRegistryService_deleteGroup">deleteGroup</a></li>
 <li><a href="#Fn_SharingRegistryService_deletePermissionType">deletePermissionType</a></li>
 <li><a href="#Fn_SharingRegistryService_deleteUser">deleteUser</a></li>
+<li><a href="#Fn_SharingRegistryService_getAllMemberGroupsForUser">getAllMemberGroupsForUser</a></li>
 <li><a href="#Fn_SharingRegistryService_getDomain">getDomain</a></li>
 <li><a href="#Fn_SharingRegistryService_getDomains">getDomains</a></li>
 <li><a href="#Fn_SharingRegistryService_getEntity">getEntity</a></li>
@@ -90,7 +70,7 @@
 <h3 id="Svc_SharingRegistryService">Service: SharingRegistryService</h3>
 <div class="definition"><h4 id="Fn_SharingRegistryService_createDomain">Function: SharingRegistryService.createDomain</h4>
 <pre><code>string</code> createDomain(<code><a href="sharing_models.html#Struct_Domain">sharing_models.Domain</a></code> domain)
-    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>, <code><a href="airavata_errors.html#Struct_DuplicateEntryException">airavata_errors.DuplicateEntryException</a></code>
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>, <code><a href="sharing_models.html#Struct_DuplicateEntryException">sharing_models.DuplicateEntryException</a></code>
 </pre><p>API method to create a new domain</p>
 <br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_updateDomain">Function: SharingRegistryService.updateDomain</h4>
 <pre><code>bool</code> updateDomain(<code><a href="sharing_models.html#Struct_Domain">sharing_models.Domain</a></code> domain)
@@ -115,7 +95,7 @@
 </pre><p>API method to get all domain.</p>
 <br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_createUser">Function: SharingRegistryService.createUser</h4>
 <pre><code>string</code> createUser(<code><a href="sharing_models.html#Struct_User">sharing_models.User</a></code> user)
-    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>, <code><a href="airavata_errors.html#Struct_DuplicateEntryException">airavata_errors.DuplicateEntryException</a></code>
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>, <code><a href="sharing_models.html#Struct_DuplicateEntryException">sharing_models.DuplicateEntryException</a></code>
 </pre><p>API method to register a user in the system</p>
 <br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_updatedUser">Function: SharingRegistryService.updatedUser</h4>
 <pre><code>bool</code> updatedUser(<code><a href="sharing_models.html#Struct_User">sharing_models.User</a></code> user)
@@ -211,9 +191,13 @@
                                      <code>string</code> groupId)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
 </pre><p>API method to remove a child group from parent group.</p>
-<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_createEntityType">Function: SharingRegistryService.createEntityType</h4>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getAllMemberGroupsForUser">Function: SharingRegistryService.getAllMemberGroupsForUser</h4>
+<pre><code>list&lt;<code><a href="sharing_models.html#Struct_UserGroup">sharing_models.UserGroup</a></code>&gt;</code> getAllMemberGroupsForUser(<code>string</code> domainId,
+                                                         <code>string</code> userId)
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
+</pre></div><div class="definition"><h4 id="Fn_SharingRegistryService_createEntityType">Function: SharingRegistryService.createEntityType</h4>
 <pre><code>string</code> createEntityType(<code><a href="sharing_models.html#Struct_EntityType">sharing_models.EntityType</a></code> entityType)
-    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>, <code><a href="airavata_errors.html#Struct_DuplicateEntryException">airavata_errors.DuplicateEntryException</a></code>
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>, <code><a href="sharing_models.html#Struct_DuplicateEntryException">sharing_models.DuplicateEntryException</a></code>
 </pre><p>API method to create a new entity type</p>
 <br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_updateEntityType">Function: SharingRegistryService.updateEntityType</h4>
 <pre><code>bool</code> updateEntityType(<code><a href="sharing_models.html#Struct_EntityType">sharing_models.EntityType</a></code> entityType)
@@ -285,7 +269,7 @@
 </pre><p>API method to get a list of shared groups given the entity id</p>
 <br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_createPermissionType">Function: SharingRegistryService.createPermissionType</h4>
 <pre><code>string</code> createPermissionType(<code><a href="sharing_models.html#Struct_PermissionType">sharing_models.PermissionType</a></code> permissionType)
-    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>, <code><a href="airavata_errors.html#Struct_DuplicateEntryException">airavata_errors.DuplicateEntryException</a></code>
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>, <code><a href="sharing_models.html#Struct_DuplicateEntryException">sharing_models.DuplicateEntryException</a></code>
 </pre><p>API method to create permission type</p>
 <br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_updatePermissionType">Function: SharingRegistryService.updatePermissionType</h4>
 <pre><code>bool</code> updatePermissionType(<code><a href="sharing_models.html#Struct_PermissionType">sharing_models.PermissionType</a></code> permissionType)

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb27490d/modules/sharing-registry/sharing-service-docs/api-docs/sharing_models.html
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-service-docs/api-docs/sharing_models.html b/modules/sharing-registry/sharing-service-docs/api-docs/sharing_models.html
index 07e4a1d..f6bf941 100644
--- a/modules/sharing-registry/sharing-service-docs/api-docs/sharing_models.html
+++ b/modules/sharing-registry/sharing-service-docs/api-docs/sharing_models.html
@@ -1,24 +1,3 @@
-<!--
-
-
-    Licensed to the Apache Software Foundation (ASF) under one
-    or more contributor license agreements.  See the NOTICE file
-    distributed with this work for additional information
-    regarding copyright ownership.  The ASF licenses this file
-    to you under the Apache License, Version 2.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.
-
--->
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
@@ -32,6 +11,7 @@
 <tr>
 <td>sharing_models</td><td></td>
 <td><a href="#Struct_Domain">Domain</a><br/>
+<a href="#Struct_DuplicateEntryException">DuplicateEntryException</a><br/>
 <a href="#Struct_Entity">Entity</a><br/>
 <a href="#Enum_EntitySearchField">EntitySearchField</a><br/>
 <a href="#Struct_EntityType">EntityType</a><br/>
@@ -309,4 +289,12 @@ set will be default to current time</li>
 <tr><td>1</td><td>message</td><td><code>string</code></td><td></td><td>required</td><td></td></tr>
 </table><br/><p>Exception model used in the sharing registry service</p>
 
+<br/></div><div class="definition"><h3 id="Struct_DuplicateEntryException">Exception: DuplicateEntryException</h3>
+<table class="table-bordered table-striped table-condensed"><thead><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default value</th></thead>
+<tr><td>1</td><td>message</td><td><code>string</code></td><td></td><td>required</td><td></td></tr>
+</table><br/>This exception is thrown when you try to save a duplicate entity that already exists
+  in the database.
+
+  message: contains the associated error message
+
 <br/></div></div></body></html>

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb27490d/modules/sharing-registry/sharing-service-docs/api-docs/style.css
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-service-docs/api-docs/style.css b/modules/sharing-registry/sharing-service-docs/api-docs/style.css
index c53ad37..34fd9d7 100644
--- a/modules/sharing-registry/sharing-service-docs/api-docs/style.css
+++ b/modules/sharing-registry/sharing-service-docs/api-docs/style.css
@@ -1,21 +1,11 @@
-/**
+/*!
+ * Bootstrap v2.0.3
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ * Copyright 2012 Twitter, Inc
+ * Licensed under the Apache License v2.0
+ * 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.
+ * Designed and built with all the love in the world @twitter by @mdo and @fat.
  */
 .clearfix{*zoom:1;}.clearfix:before,.clearfix:after{display:table;content:"";}
 .clearfix:after{clear:both;}

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb27490d/modules/sharing-registry/thrift_models/sharing_cpi.thrift
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/thrift_models/sharing_cpi.thrift b/modules/sharing-registry/thrift_models/sharing_cpi.thrift
index 8791d24..c408846 100644
--- a/modules/sharing-registry/thrift_models/sharing_cpi.thrift
+++ b/modules/sharing-registry/thrift_models/sharing_cpi.thrift
@@ -21,14 +21,13 @@
 namespace java org.apache.airavata.sharing.registry.service.cpi
 
 include "./sharing_models.thrift"
-include "../../../thrift-interface-descriptions/airavata-apis/airavata_errors.thrift"
 
 service SharingRegistryService {
 
     /**
       <p>API method to create a new domain</p>
     */
-    string createDomain(1: required sharing_models.Domain domain) throws (1: sharing_models.SharingRegistryException sre, 2: airavata_errors.DuplicateEntryException dee)
+    string createDomain(1: required sharing_models.Domain domain) throws (1: sharing_models.SharingRegistryException sre, 2: sharing_models.DuplicateEntryException dee)
     /**
      <p>API method to update a domain</p>
     */
@@ -53,7 +52,7 @@ service SharingRegistryService {
     /**
      <p>API method to register a user in the system</p>
     */
-    string createUser(1: required sharing_models.User user) throws (1: sharing_models.SharingRegistryException sre, 2: airavata_errors.DuplicateEntryException dee)
+    string createUser(1: required sharing_models.User user) throws (1: sharing_models.SharingRegistryException sre, 2: sharing_models.DuplicateEntryException dee)
     /**
      <p>API method to update existing user</p>
     */
@@ -128,10 +127,12 @@ service SharingRegistryService {
     */
     bool removeChildGroupFromParentGroup(1: required string domainId, 2: required string childId, 3: required string groupId) throws (1: sharing_models.SharingRegistryException sre);
 
+    list<sharing_models.UserGroup> getAllMemberGroupsForUser(1: required string domainId, 2: required string userId) throws (1: sharing_models.SharingRegistryException sre);
+
     /**
      <p>API method to create a new entity type</p>
     */
-    string createEntityType(1: required sharing_models.EntityType entityType) throws (1: sharing_models.SharingRegistryException sre, 2: airavata_errors.DuplicateEntryException dee)
+    string createEntityType(1: required sharing_models.EntityType entityType) throws (1: sharing_models.SharingRegistryException sre, 2: sharing_models.DuplicateEntryException dee)
     /**
      <p>API method to update entity type</p>
     */
@@ -190,7 +191,7 @@ service SharingRegistryService {
     /**
      <p>API method to create permission type</p>
     */
-    string createPermissionType(1: required sharing_models.PermissionType permissionType) throws (1: sharing_models.SharingRegistryException sre, 2: airavata_errors.DuplicateEntryException dee)
+    string createPermissionType(1: required sharing_models.PermissionType permissionType) throws (1: sharing_models.SharingRegistryException sre, 2: sharing_models.DuplicateEntryException dee)
     /**
      <p>API method to update permission type</p>
     */

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb27490d/modules/sharing-registry/thrift_models/sharing_models.thrift
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/thrift_models/sharing_models.thrift b/modules/sharing-registry/thrift_models/sharing_models.thrift
index 25c6ea9..141f120 100644
--- a/modules/sharing-registry/thrift_models/sharing_models.thrift
+++ b/modules/sharing-registry/thrift_models/sharing_models.thrift
@@ -277,3 +277,13 @@ struct Sharing {
 exception SharingRegistryException {
   1: required string message
 }
+
+/**
+* This exception is thrown when you try to save a duplicate entity that already exists
+*   in the database.
+*
+*   message: contains the associated error message
+**/
+exception DuplicateEntryException {
+    1: required string message
+}
\ No newline at end of file


[49/61] [abbrv] airavata git commit: Changes related to profile-service-stubs

Posted by sc...@apache.org.
Changes related to profile-service-stubs


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

Branch: refs/heads/master
Commit: 846220595f111a9edd83076648e728be6e460fb4
Parents: 78a3caf
Author: Ajinkya Dhamnaskar <ad...@umail.iu.edu>
Authored: Wed May 17 14:14:23 2017 -0400
Committer: Ajinkya Dhamnaskar <ad...@umail.iu.edu>
Committed: Wed May 17 14:14:23 2017 -0400

----------------------------------------------------------------------
 .../main/java/org/apache/airavata/MigrationManager.java  |  8 +++++---
 .../apache/airavata/UserProfileAiravataThriftClient.java | 11 ++++-------
 2 files changed, 9 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/84622059/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 1b4c649..ba52de4 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
@@ -20,8 +20,9 @@
 package org.apache.airavata;
 
 import org.apache.airavata.common.exception.ApplicationSettingsException;
+import org.apache.airavata.model.security.AuthzToken;
 import org.apache.airavata.model.user.UserProfile;
-import org.apache.airavata.userprofile.cpi.UserProfileService;
+import org.apache.airavata.service.profile.user.cpi.UserProfileService;
 import org.apache.thrift.TException;
 import org.wso2.carbon.um.ws.api.stub.ClaimValue;
 import org.wso2.carbon.um.ws.api.stub.RemoteUserStoreManagerServiceStub;
@@ -34,7 +35,7 @@ import java.util.List;
 public class MigrationManager {
 
     private ArrayList<Wso2ISLoginCredentialsDAO> adminCredentials = new ArrayList<Wso2ISLoginCredentialsDAO>();
-
+    private static AuthzToken authzToken = new AuthzToken("empy_token");
     /*Add the credentials for all the tenants from which the profile should be migrated to Airavata DB*/
 
     public void setISLoginCredentials(){
@@ -120,7 +121,8 @@ public class MigrationManager {
             airavataUserProfile.setHomeOrganization(ISProfile.getOrganization());
             airavataUserProfile.setPhones(ISProfile.getPhones());
             airavataUserProfile.setCountry(ISProfile.getCountry());
-            client.addUserProfile(airavataUserProfile);
+            //TODO: fix authtzToken, for now we are using empty token
+            client.addUserProfile(authzToken, airavataUserProfile);
         }
         return false;
     }

http://git-wip-us.apache.org/repos/asf/airavata/blob/84622059/modules/user-profile-migration/src/main/java/org/apache/airavata/UserProfileAiravataThriftClient.java
----------------------------------------------------------------------
diff --git a/modules/user-profile-migration/src/main/java/org/apache/airavata/UserProfileAiravataThriftClient.java b/modules/user-profile-migration/src/main/java/org/apache/airavata/UserProfileAiravataThriftClient.java
index 71dff21..56f2235 100644
--- a/modules/user-profile-migration/src/main/java/org/apache/airavata/UserProfileAiravataThriftClient.java
+++ b/modules/user-profile-migration/src/main/java/org/apache/airavata/UserProfileAiravataThriftClient.java
@@ -21,14 +21,11 @@ package org.apache.airavata;
 
 import org.apache.airavata.common.exception.ApplicationSettingsException;
 import org.apache.airavata.common.utils.ServerSettings;
-import org.apache.airavata.userprofile.cpi.UserProfileService;
-import org.apache.airavata.userprofile.cpi.exception.UserProfileServiceException;
-import org.apache.airavata.userprofile.cpi.client.UserProfileServiceClientFactory;
+import org.apache.airavata.service.profile.client.ProfileServiceClientFactory;
+import org.apache.airavata.service.profile.user.cpi.UserProfileService;
+import org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException;
 import org.apache.thrift.TException;
 
-import java.util.ArrayList;
-import java.util.List;
-
 public class UserProfileAiravataThriftClient {
 
     public UserProfileService.Client getUserProfileServiceClient() throws TException, ApplicationSettingsException {
@@ -36,7 +33,7 @@ public class UserProfileAiravataThriftClient {
         final int serverPort = Integer.parseInt(ServerSettings.getUserProfileServerPort());
         final String serverHost = ServerSettings.getUserProfileServerHost();
         try {
-            return UserProfileServiceClientFactory.createUserProfileServiceClient(serverHost, serverPort);
+            return ProfileServiceClientFactory.createUserProfileServiceClient(serverHost, serverPort);
         } catch (UserProfileServiceException e) {
             throw new TException("Unable to create registry client...", e);
         }


[59/61] [abbrv] airavata git commit: AIRAVATA-2342 Setting up trust store for Keycloak ResteasyClient

Posted by sc...@apache.org.
AIRAVATA-2342 Setting up trust store for Keycloak ResteasyClient

The Keycloak ResteasyClient uses its own SSLContext so can't rely on the
configuration of the default SSLContext that the TrustStoreManager
performs.


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

Branch: refs/heads/master
Commit: 0eda7d202c68bc64caa876a888b92e035d9ebcef
Parents: 0a6afd1
Author: Marcus Christie <ma...@apache.org>
Authored: Tue May 23 16:55:24 2017 -0400
Committer: Marcus Christie <ma...@apache.org>
Committed: Tue May 23 16:57:50 2017 -0400

----------------------------------------------------------------------
 .../core/impl/TenantManagementKeycloakImpl.java | 63 ++++++++++++++++----
 .../handlers/IamAdminServicesHandler.java       | 15 ++---
 2 files changed, 56 insertions(+), 22 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/0eda7d20/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 0d2e9a8..60a8f5d 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
@@ -28,12 +28,19 @@ import org.apache.airavata.model.user.UserProfile;
 import org.apache.airavata.model.workspace.Gateway;
 import org.apache.airavata.service.profile.iam.admin.services.core.interfaces.TenantManagementInterface;
 import org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException;
+import org.jboss.resteasy.client.jaxrs.ResteasyClient;
+import org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder;
 import org.keycloak.admin.client.Keycloak;
+import org.keycloak.admin.client.KeycloakBuilder;
 import org.keycloak.admin.client.resource.UserResource;
 import org.keycloak.representations.idm.*;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+
 import javax.ws.rs.core.Response;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.security.KeyStore;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
@@ -42,23 +49,57 @@ public class TenantManagementKeycloakImpl implements TenantManagementInterface {
 
     private final static Logger logger = LoggerFactory.getLogger(TenantManagementKeycloakImpl.class);
 
+    // TODO: close Keycloak client once done with it?
     private static Keycloak getClient(String adminUrl, String realm, PasswordCredential AdminPasswordCreds) {
 
-        return Keycloak.getInstance(
-                adminUrl,
-                realm, // the realm to log in to
-                AdminPasswordCreds.getLoginUserName(), AdminPasswordCreds.getPassword(),  // the user
-                "admin-cli"); // admin-cli is the client ID used for keycloak admin operations.
+        ResteasyClient resteasyClient = new ResteasyClientBuilder()
+                .connectionPoolSize(10)
+                .trustStore(loadKeyStore())
+                .build();
+        return KeycloakBuilder.builder()
+                .serverUrl(adminUrl)
+                .realm(realm)
+                .username(AdminPasswordCreds.getLoginUserName())
+                .password(AdminPasswordCreds.getPassword())
+                .clientId("admin-cli")
+                .resteasyClient(resteasyClient)
+                .build();
     }
 
     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
-            );
+        ResteasyClient resteasyClient = new ResteasyClientBuilder()
+                    .connectionPoolSize(10)
+                    .trustStore(loadKeyStore())
+                    .build();
+        return KeycloakBuilder.builder()
+                .serverUrl(adminUrl)
+                .realm(realm)
+                .authorization(authToken)
+                .clientId("admin-cli")
+                .resteasyClient(resteasyClient)
+                .build();
+    }
+
+    private static KeyStore loadKeyStore() {
+
+        FileInputStream fis = null;
+        try {
+            fis = new java.io.FileInputStream(ServerSettings.getTrustStorePath());
+            KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());
+            ks.load(fis, ServerSettings.getTrustStorePassword().toCharArray());
+            return ks;
+        } catch (Exception e) {
+            throw new RuntimeException("Failed to load trust store KeyStore instance", e);
+        } finally {
+            if (fis != null) {
+                try {
+                    fis.close();
+                } catch (IOException e) {
+                    logger.error("Failed to close trust store FileInputStream", e);
+                }
+            }
+        }
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/airavata/blob/0eda7d20/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 26fa1ed..9f33cd5 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
@@ -37,23 +37,16 @@ import org.apache.thrift.TException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.net.URL;
 import java.util.List;
 
 public class IamAdminServicesHandler implements IamAdminServices.Iface {
 
     private final static Logger logger = LoggerFactory.getLogger(IamAdminServicesHandler.class);
 
-    public IamAdminServicesHandler() {
-
-        try {
-            //initialize SSL context with the trust store that contains the CA cert signing the Keycloak server cert
-            TrustStoreManager trustStoreManager = new TrustStoreManager();
-            trustStoreManager.initializeTrustStoreManager(ServerSettings.getTrustStorePath(),
-                    ServerSettings.getTrustStorePassword());
-        } catch (Exception e) {
-            throw new RuntimeException(e.getMessage(), e);
-        }
-    }
 
     @Override
     public String getAPIVersion(AuthzToken authzToken) throws IamAdminServicesException, AuthorizationException {


[51/61] [abbrv] airavata git commit: adding few more configurable parameters to the BatchQueue model

Posted by sc...@apache.org.
adding few more configurable parameters to the BatchQueue model


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

Branch: refs/heads/master
Commit: 11f12dfc2e490f49f03d4f642bf1b3c17cd830c0
Parents: e988672
Author: scnakandala <su...@gmail.com>
Authored: Mon May 22 11:30:29 2017 -0400
Committer: scnakandala <su...@gmail.com>
Committed: Mon May 22 11:30:29 2017 -0400

----------------------------------------------------------------------
 .../airavata/compute_resource_model_types.cpp   |  70 ++++--
 .../lib/airavata/compute_resource_model_types.h |  34 ++-
 .../Model/AppCatalog/ComputeResource/Types.php  |  64 +++++-
 .../model/appcatalog/computeresource/ttypes.py  |  50 ++++-
 .../appcatalog/computeresource/BatchQueue.java  | 223 ++++++++++++++++++-
 .../ComputeResourceDescription.java             | 112 +++++-----
 .../core/app/catalog/model/BatchQueue.java      |  24 +-
 .../catalog/resources/BatchQueueResource.java   |  20 ++
 .../app/catalog/util/AppCatalogJPAUtils.java    |   4 +-
 .../util/AppCatalogThriftConversion.java        |   8 +-
 .../src/main/resources/appcatalog-derby.sql     |   2 +
 .../src/main/resources/appcatalog-mysql.sql     |   2 +
 .../compute_resource_model.thrift               |   6 +-
 13 files changed, 505 insertions(+), 114 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/11f12dfc/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 7921ef3..711e304 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
@@ -454,6 +454,16 @@ void BatchQueue::__set_defaultCPUCount(const int32_t val) {
 __isset.defaultCPUCount = true;
 }
 
+void BatchQueue::__set_defaultWalltime(const int32_t val) {
+  this->defaultWalltime = val;
+__isset.defaultWalltime = true;
+}
+
+void BatchQueue::__set_queueSpecificMacros(const std::string& val) {
+  this->queueSpecificMacros = val;
+__isset.queueSpecificMacros = true;
+}
+
 void BatchQueue::__set_isDefaultQueue(const bool val) {
   this->isDefaultQueue = val;
 __isset.isDefaultQueue = true;
@@ -562,6 +572,22 @@ uint32_t BatchQueue::read(::apache::thrift::protocol::TProtocol* iprot) {
         }
         break;
       case 11:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          xfer += iprot->readI32(this->defaultWalltime);
+          this->__isset.defaultWalltime = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 12:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->queueSpecificMacros);
+          this->__isset.queueSpecificMacros = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 13:
         if (ftype == ::apache::thrift::protocol::T_BOOL) {
           xfer += iprot->readBool(this->isDefaultQueue);
           this->__isset.isDefaultQueue = true;
@@ -637,8 +663,18 @@ uint32_t BatchQueue::write(::apache::thrift::protocol::TProtocol* oprot) const {
     xfer += oprot->writeI32(this->defaultCPUCount);
     xfer += oprot->writeFieldEnd();
   }
+  if (this->__isset.defaultWalltime) {
+    xfer += oprot->writeFieldBegin("defaultWalltime", ::apache::thrift::protocol::T_I32, 11);
+    xfer += oprot->writeI32(this->defaultWalltime);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.queueSpecificMacros) {
+    xfer += oprot->writeFieldBegin("queueSpecificMacros", ::apache::thrift::protocol::T_STRING, 12);
+    xfer += oprot->writeString(this->queueSpecificMacros);
+    xfer += oprot->writeFieldEnd();
+  }
   if (this->__isset.isDefaultQueue) {
-    xfer += oprot->writeFieldBegin("isDefaultQueue", ::apache::thrift::protocol::T_BOOL, 11);
+    xfer += oprot->writeFieldBegin("isDefaultQueue", ::apache::thrift::protocol::T_BOOL, 13);
     xfer += oprot->writeBool(this->isDefaultQueue);
     xfer += oprot->writeFieldEnd();
   }
@@ -659,6 +695,8 @@ void swap(BatchQueue &a, BatchQueue &b) {
   swap(a.cpuPerNode, b.cpuPerNode);
   swap(a.defaultNodeCount, b.defaultNodeCount);
   swap(a.defaultCPUCount, b.defaultCPUCount);
+  swap(a.defaultWalltime, b.defaultWalltime);
+  swap(a.queueSpecificMacros, b.queueSpecificMacros);
   swap(a.isDefaultQueue, b.isDefaultQueue);
   swap(a.__isset, b.__isset);
 }
@@ -674,6 +712,8 @@ BatchQueue::BatchQueue(const BatchQueue& other21) {
   cpuPerNode = other21.cpuPerNode;
   defaultNodeCount = other21.defaultNodeCount;
   defaultCPUCount = other21.defaultCPUCount;
+  defaultWalltime = other21.defaultWalltime;
+  queueSpecificMacros = other21.queueSpecificMacros;
   isDefaultQueue = other21.isDefaultQueue;
   __isset = other21.__isset;
 }
@@ -688,6 +728,8 @@ BatchQueue& BatchQueue::operator=(const BatchQueue& other22) {
   cpuPerNode = other22.cpuPerNode;
   defaultNodeCount = other22.defaultNodeCount;
   defaultCPUCount = other22.defaultCPUCount;
+  defaultWalltime = other22.defaultWalltime;
+  queueSpecificMacros = other22.queueSpecificMacros;
   isDefaultQueue = other22.isDefaultQueue;
   __isset = other22.__isset;
   return *this;
@@ -705,6 +747,8 @@ void BatchQueue::printTo(std::ostream& out) const {
   out << ", " << "cpuPerNode="; (__isset.cpuPerNode ? (out << to_string(cpuPerNode)) : (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 << ", " << "queueSpecificMacros="; (__isset.queueSpecificMacros ? (out << to_string(queueSpecificMacros)) : (out << "<null>"));
   out << ", " << "isDefaultQueue="; (__isset.isDefaultQueue ? (out << to_string(isDefaultQueue)) : (out << "<null>"));
   out << ")";
 }
@@ -1807,9 +1851,9 @@ void ComputeResourceDescription::__set_defaultCPUCount(const int32_t val) {
 __isset.defaultCPUCount = true;
 }
 
-void ComputeResourceDescription::__set_defaultWallltime(const int32_t val) {
-  this->defaultWallltime = val;
-__isset.defaultWallltime = true;
+void ComputeResourceDescription::__set_defaultWalltime(const int32_t val) {
+  this->defaultWalltime = val;
+__isset.defaultWalltime = true;
 }
 
 uint32_t ComputeResourceDescription::read(::apache::thrift::protocol::TProtocol* iprot) {
@@ -2050,8 +2094,8 @@ uint32_t ComputeResourceDescription::read(::apache::thrift::protocol::TProtocol*
         break;
       case 18:
         if (ftype == ::apache::thrift::protocol::T_I32) {
-          xfer += iprot->readI32(this->defaultWallltime);
-          this->__isset.defaultWallltime = true;
+          xfer += iprot->readI32(this->defaultWalltime);
+          this->__isset.defaultWalltime = true;
         } else {
           xfer += iprot->skip(ftype);
         }
@@ -2209,9 +2253,9 @@ uint32_t ComputeResourceDescription::write(::apache::thrift::protocol::TProtocol
     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);
+  if (this->__isset.defaultWalltime) {
+    xfer += oprot->writeFieldBegin("defaultWalltime", ::apache::thrift::protocol::T_I32, 18);
+    xfer += oprot->writeI32(this->defaultWalltime);
     xfer += oprot->writeFieldEnd();
   }
   xfer += oprot->writeFieldStop();
@@ -2238,7 +2282,7 @@ void swap(ComputeResourceDescription &a, ComputeResourceDescription &b) {
   swap(a.cpusPerNode, b.cpusPerNode);
   swap(a.defaultNodeCount, b.defaultNodeCount);
   swap(a.defaultCPUCount, b.defaultCPUCount);
-  swap(a.defaultWallltime, b.defaultWallltime);
+  swap(a.defaultWalltime, b.defaultWalltime);
   swap(a.__isset, b.__isset);
 }
 
@@ -2260,7 +2304,7 @@ ComputeResourceDescription::ComputeResourceDescription(const ComputeResourceDesc
   cpusPerNode = other94.cpusPerNode;
   defaultNodeCount = other94.defaultNodeCount;
   defaultCPUCount = other94.defaultCPUCount;
-  defaultWallltime = other94.defaultWallltime;
+  defaultWalltime = other94.defaultWalltime;
   __isset = other94.__isset;
 }
 ComputeResourceDescription& ComputeResourceDescription::operator=(const ComputeResourceDescription& other95) {
@@ -2281,7 +2325,7 @@ ComputeResourceDescription& ComputeResourceDescription::operator=(const ComputeR
   cpusPerNode = other95.cpusPerNode;
   defaultNodeCount = other95.defaultNodeCount;
   defaultCPUCount = other95.defaultCPUCount;
-  defaultWallltime = other95.defaultWallltime;
+  defaultWalltime = other95.defaultWalltime;
   __isset = other95.__isset;
   return *this;
 }
@@ -2305,7 +2349,7 @@ void ComputeResourceDescription::printTo(std::ostream& out) const {
   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 << ", " << "defaultWalltime="; (__isset.defaultWalltime ? (out << to_string(defaultWalltime)) : (out << "<null>"));
   out << ")";
 }
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/11f12dfc/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 997c2cb..96debe9 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
@@ -226,7 +226,7 @@ inline std::ostream& operator<<(std::ostream& out, const ResourceJobManager& obj
 }
 
 typedef struct _BatchQueue__isset {
-  _BatchQueue__isset() : queueDescription(false), maxRunTime(false), maxNodes(false), maxProcessors(false), maxJobsInQueue(false), maxMemory(false), cpuPerNode(false), defaultNodeCount(false), defaultCPUCount(false), isDefaultQueue(false) {}
+  _BatchQueue__isset() : queueDescription(false), maxRunTime(false), maxNodes(false), maxProcessors(false), maxJobsInQueue(false), maxMemory(false), cpuPerNode(false), defaultNodeCount(false), defaultCPUCount(false), defaultWalltime(false), queueSpecificMacros(false), isDefaultQueue(false) {}
   bool queueDescription :1;
   bool maxRunTime :1;
   bool maxNodes :1;
@@ -236,6 +236,8 @@ typedef struct _BatchQueue__isset {
   bool cpuPerNode :1;
   bool defaultNodeCount :1;
   bool defaultCPUCount :1;
+  bool defaultWalltime :1;
+  bool queueSpecificMacros :1;
   bool isDefaultQueue :1;
 } _BatchQueue__isset;
 
@@ -244,7 +246,7 @@ class BatchQueue {
 
   BatchQueue(const BatchQueue&);
   BatchQueue& operator=(const BatchQueue&);
-  BatchQueue() : queueName(), queueDescription(), maxRunTime(0), maxNodes(0), maxProcessors(0), maxJobsInQueue(0), maxMemory(0), cpuPerNode(0), defaultNodeCount(0), defaultCPUCount(0), isDefaultQueue(0) {
+  BatchQueue() : queueName(), queueDescription(), maxRunTime(0), maxNodes(0), maxProcessors(0), maxJobsInQueue(0), maxMemory(0), cpuPerNode(0), defaultNodeCount(0), defaultCPUCount(0), defaultWalltime(0), queueSpecificMacros(), isDefaultQueue(0) {
   }
 
   virtual ~BatchQueue() throw();
@@ -258,6 +260,8 @@ class BatchQueue {
   int32_t cpuPerNode;
   int32_t defaultNodeCount;
   int32_t defaultCPUCount;
+  int32_t defaultWalltime;
+  std::string queueSpecificMacros;
   bool isDefaultQueue;
 
   _BatchQueue__isset __isset;
@@ -282,6 +286,10 @@ class BatchQueue {
 
   void __set_defaultCPUCount(const int32_t val);
 
+  void __set_defaultWalltime(const int32_t val);
+
+  void __set_queueSpecificMacros(const std::string& val);
+
   void __set_isDefaultQueue(const bool val);
 
   bool operator == (const BatchQueue & rhs) const
@@ -324,6 +332,14 @@ class BatchQueue {
       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.queueSpecificMacros != rhs.__isset.queueSpecificMacros)
+      return false;
+    else if (__isset.queueSpecificMacros && !(queueSpecificMacros == rhs.queueSpecificMacros))
+      return false;
     if (__isset.isDefaultQueue != rhs.__isset.isDefaultQueue)
       return false;
     else if (__isset.isDefaultQueue && !(isDefaultQueue == rhs.isDefaultQueue))
@@ -711,7 +727,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), cpusPerNode(false), defaultNodeCount(false), defaultCPUCount(false), defaultWallltime(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), defaultWalltime(false) {}
   bool hostAliases :1;
   bool ipAddresses :1;
   bool resourceDescription :1;
@@ -727,7 +743,7 @@ typedef struct _ComputeResourceDescription__isset {
   bool cpusPerNode :1;
   bool defaultNodeCount :1;
   bool defaultCPUCount :1;
-  bool defaultWallltime :1;
+  bool defaultWalltime :1;
 } _ComputeResourceDescription__isset;
 
 class ComputeResourceDescription {
@@ -735,7 +751,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(), cpusPerNode(0), defaultNodeCount(0), defaultCPUCount(0), defaultWallltime(0) {
+  ComputeResourceDescription() : computeResourceId("DO_NOT_SET_AT_CLIENTS"), hostName(), resourceDescription(), enabled(0), maxMemoryPerNode(0), gatewayUsageReporting(0), gatewayUsageModuleLoadCommand(), gatewayUsageExecutable(), cpusPerNode(0), defaultNodeCount(0), defaultCPUCount(0), defaultWalltime(0) {
   }
 
   virtual ~ComputeResourceDescription() throw();
@@ -756,7 +772,7 @@ class ComputeResourceDescription {
   int32_t cpusPerNode;
   int32_t defaultNodeCount;
   int32_t defaultCPUCount;
-  int32_t defaultWallltime;
+  int32_t defaultWalltime;
 
   _ComputeResourceDescription__isset __isset;
 
@@ -794,7 +810,7 @@ class ComputeResourceDescription {
 
   void __set_defaultCPUCount(const int32_t val);
 
-  void __set_defaultWallltime(const int32_t val);
+  void __set_defaultWalltime(const int32_t val);
 
   bool operator == (const ComputeResourceDescription & rhs) const
   {
@@ -862,9 +878,9 @@ class ComputeResourceDescription {
       return false;
     else if (__isset.defaultCPUCount && !(defaultCPUCount == rhs.defaultCPUCount))
       return false;
-    if (__isset.defaultWallltime != rhs.__isset.defaultWallltime)
+    if (__isset.defaultWalltime != rhs.__isset.defaultWalltime)
       return false;
-    else if (__isset.defaultWallltime && !(defaultWallltime == rhs.defaultWallltime))
+    else if (__isset.defaultWalltime && !(defaultWalltime == rhs.defaultWalltime))
       return false;
     return true;
   }

http://git-wip-us.apache.org/repos/asf/airavata/blob/11f12dfc/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 e250c65..47e6e24 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
@@ -539,6 +539,14 @@ class BatchQueue {
    */
   public $defaultCPUCount = null;
   /**
+   * @var int
+   */
+  public $defaultWalltime = null;
+  /**
+   * @var string
+   */
+  public $queueSpecificMacros = null;
+  /**
    * @var bool
    */
   public $isDefaultQueue = null;
@@ -587,6 +595,14 @@ class BatchQueue {
           'type' => TType::I32,
           ),
         11 => array(
+          'var' => 'defaultWalltime',
+          'type' => TType::I32,
+          ),
+        12 => array(
+          'var' => 'queueSpecificMacros',
+          'type' => TType::STRING,
+          ),
+        13 => array(
           'var' => 'isDefaultQueue',
           'type' => TType::BOOL,
           ),
@@ -623,6 +639,12 @@ class BatchQueue {
       if (isset($vals['defaultCPUCount'])) {
         $this->defaultCPUCount = $vals['defaultCPUCount'];
       }
+      if (isset($vals['defaultWalltime'])) {
+        $this->defaultWalltime = $vals['defaultWalltime'];
+      }
+      if (isset($vals['queueSpecificMacros'])) {
+        $this->queueSpecificMacros = $vals['queueSpecificMacros'];
+      }
       if (isset($vals['isDefaultQueue'])) {
         $this->isDefaultQueue = $vals['isDefaultQueue'];
       }
@@ -719,6 +741,20 @@ class BatchQueue {
           }
           break;
         case 11:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->defaultWalltime);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 12:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->queueSpecificMacros);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 13:
           if ($ftype == TType::BOOL) {
             $xfer += $input->readBool($this->isDefaultQueue);
           } else {
@@ -788,8 +824,18 @@ class BatchQueue {
       $xfer += $output->writeI32($this->defaultCPUCount);
       $xfer += $output->writeFieldEnd();
     }
+    if ($this->defaultWalltime !== null) {
+      $xfer += $output->writeFieldBegin('defaultWalltime', TType::I32, 11);
+      $xfer += $output->writeI32($this->defaultWalltime);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->queueSpecificMacros !== null) {
+      $xfer += $output->writeFieldBegin('queueSpecificMacros', TType::STRING, 12);
+      $xfer += $output->writeString($this->queueSpecificMacros);
+      $xfer += $output->writeFieldEnd();
+    }
     if ($this->isDefaultQueue !== null) {
-      $xfer += $output->writeFieldBegin('isDefaultQueue', TType::BOOL, 11);
+      $xfer += $output->writeFieldBegin('isDefaultQueue', TType::BOOL, 13);
       $xfer += $output->writeBool($this->isDefaultQueue);
       $xfer += $output->writeFieldEnd();
     }
@@ -1900,7 +1946,7 @@ class ComputeResourceDescription {
   /**
    * @var int
    */
-  public $defaultWallltime = null;
+  public $defaultWalltime = null;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
@@ -2005,7 +2051,7 @@ class ComputeResourceDescription {
           'type' => TType::I32,
           ),
         18 => array(
-          'var' => 'defaultWallltime',
+          'var' => 'defaultWalltime',
           'type' => TType::I32,
           ),
         );
@@ -2062,8 +2108,8 @@ class ComputeResourceDescription {
       if (isset($vals['defaultCPUCount'])) {
         $this->defaultCPUCount = $vals['defaultCPUCount'];
       }
-      if (isset($vals['defaultWallltime'])) {
-        $this->defaultWallltime = $vals['defaultWallltime'];
+      if (isset($vals['defaultWalltime'])) {
+        $this->defaultWalltime = $vals['defaultWalltime'];
       }
     }
   }
@@ -2274,7 +2320,7 @@ class ComputeResourceDescription {
           break;
         case 18:
           if ($ftype == TType::I32) {
-            $xfer += $input->readI32($this->defaultWallltime);
+            $xfer += $input->readI32($this->defaultWalltime);
           } else {
             $xfer += $input->skip($ftype);
           }
@@ -2450,9 +2496,9 @@ class ComputeResourceDescription {
       $xfer += $output->writeI32($this->defaultCPUCount);
       $xfer += $output->writeFieldEnd();
     }
-    if ($this->defaultWallltime !== null) {
-      $xfer += $output->writeFieldBegin('defaultWallltime', TType::I32, 18);
-      $xfer += $output->writeI32($this->defaultWallltime);
+    if ($this->defaultWalltime !== null) {
+      $xfer += $output->writeFieldBegin('defaultWalltime', TType::I32, 18);
+      $xfer += $output->writeI32($this->defaultWalltime);
       $xfer += $output->writeFieldEnd();
     }
     $xfer += $output->writeFieldStop();

http://git-wip-us.apache.org/repos/asf/airavata/blob/11f12dfc/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 b2fcc2e..9d9aa0d 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
@@ -464,6 +464,8 @@ class BatchQueue:
    - cpuPerNode
    - defaultNodeCount
    - defaultCPUCount
+   - defaultWalltime
+   - queueSpecificMacros
    - isDefaultQueue
   """
 
@@ -479,10 +481,12 @@ class BatchQueue:
     (8, TType.I32, 'cpuPerNode', None, None, ), # 8
     (9, TType.I32, 'defaultNodeCount', None, None, ), # 9
     (10, TType.I32, 'defaultCPUCount', None, None, ), # 10
-    (11, TType.BOOL, 'isDefaultQueue', None, None, ), # 11
+    (11, TType.I32, 'defaultWalltime', None, None, ), # 11
+    (12, TType.STRING, 'queueSpecificMacros', None, None, ), # 12
+    (13, TType.BOOL, 'isDefaultQueue', None, None, ), # 13
   )
 
-  def __init__(self, queueName=None, queueDescription=None, maxRunTime=None, maxNodes=None, maxProcessors=None, maxJobsInQueue=None, maxMemory=None, cpuPerNode=None, defaultNodeCount=None, defaultCPUCount=None, isDefaultQueue=None,):
+  def __init__(self, queueName=None, queueDescription=None, maxRunTime=None, maxNodes=None, maxProcessors=None, maxJobsInQueue=None, maxMemory=None, cpuPerNode=None, defaultNodeCount=None, defaultCPUCount=None, defaultWalltime=None, queueSpecificMacros=None, isDefaultQueue=None,):
     self.queueName = queueName
     self.queueDescription = queueDescription
     self.maxRunTime = maxRunTime
@@ -493,6 +497,8 @@ class BatchQueue:
     self.cpuPerNode = cpuPerNode
     self.defaultNodeCount = defaultNodeCount
     self.defaultCPUCount = defaultCPUCount
+    self.defaultWalltime = defaultWalltime
+    self.queueSpecificMacros = queueSpecificMacros
     self.isDefaultQueue = isDefaultQueue
 
   def read(self, iprot):
@@ -555,6 +561,16 @@ class BatchQueue:
         else:
           iprot.skip(ftype)
       elif fid == 11:
+        if ftype == TType.I32:
+          self.defaultWalltime = iprot.readI32()
+        else:
+          iprot.skip(ftype)
+      elif fid == 12:
+        if ftype == TType.STRING:
+          self.queueSpecificMacros = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 13:
         if ftype == TType.BOOL:
           self.isDefaultQueue = iprot.readBool()
         else:
@@ -609,8 +625,16 @@ class BatchQueue:
       oprot.writeFieldBegin('defaultCPUCount', TType.I32, 10)
       oprot.writeI32(self.defaultCPUCount)
       oprot.writeFieldEnd()
+    if self.defaultWalltime is not None:
+      oprot.writeFieldBegin('defaultWalltime', TType.I32, 11)
+      oprot.writeI32(self.defaultWalltime)
+      oprot.writeFieldEnd()
+    if self.queueSpecificMacros is not None:
+      oprot.writeFieldBegin('queueSpecificMacros', TType.STRING, 12)
+      oprot.writeString(self.queueSpecificMacros)
+      oprot.writeFieldEnd()
     if self.isDefaultQueue is not None:
-      oprot.writeFieldBegin('isDefaultQueue', TType.BOOL, 11)
+      oprot.writeFieldBegin('isDefaultQueue', TType.BOOL, 13)
       oprot.writeBool(self.isDefaultQueue)
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
@@ -634,6 +658,8 @@ class BatchQueue:
     value = (value * 31) ^ hash(self.cpuPerNode)
     value = (value * 31) ^ hash(self.defaultNodeCount)
     value = (value * 31) ^ hash(self.defaultCPUCount)
+    value = (value * 31) ^ hash(self.defaultWalltime)
+    value = (value * 31) ^ hash(self.queueSpecificMacros)
     value = (value * 31) ^ hash(self.isDefaultQueue)
     return value
 
@@ -1434,7 +1460,7 @@ class ComputeResourceDescription:
    - cpusPerNode
    - defaultNodeCount
    - defaultCPUCount
-   - defaultWallltime
+   - defaultWalltime
   """
 
   thrift_spec = (
@@ -1456,10 +1482,10 @@ class ComputeResourceDescription:
     (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
+    (18, TType.I32, 'defaultWalltime', 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, cpusPerNode=None, defaultNodeCount=None, defaultCPUCount=None, defaultWallltime=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, defaultWalltime=None,):
     self.computeResourceId = computeResourceId
     self.hostName = hostName
     self.hostAliases = hostAliases
@@ -1477,7 +1503,7 @@ class ComputeResourceDescription:
     self.cpusPerNode = cpusPerNode
     self.defaultNodeCount = defaultNodeCount
     self.defaultCPUCount = defaultCPUCount
-    self.defaultWallltime = defaultWallltime
+    self.defaultWalltime = defaultWalltime
 
   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:
@@ -1609,7 +1635,7 @@ class ComputeResourceDescription:
           iprot.skip(ftype)
       elif fid == 18:
         if ftype == TType.I32:
-          self.defaultWallltime = iprot.readI32()
+          self.defaultWalltime = iprot.readI32()
         else:
           iprot.skip(ftype)
       else:
@@ -1709,9 +1735,9 @@ class ComputeResourceDescription:
       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)
+    if self.defaultWalltime is not None:
+      oprot.writeFieldBegin('defaultWalltime', TType.I32, 18)
+      oprot.writeI32(self.defaultWalltime)
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
     oprot.writeStructEnd()
@@ -1743,7 +1769,7 @@ class ComputeResourceDescription:
     value = (value * 31) ^ hash(self.cpusPerNode)
     value = (value * 31) ^ hash(self.defaultNodeCount)
     value = (value * 31) ^ hash(self.defaultCPUCount)
-    value = (value * 31) ^ hash(self.defaultWallltime)
+    value = (value * 31) ^ hash(self.defaultWalltime)
     return value
 
   def __repr__(self):

http://git-wip-us.apache.org/repos/asf/airavata/blob/11f12dfc/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 67dfc20..550971d 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
@@ -71,7 +71,9 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
   private static final org.apache.thrift.protocol.TField CPU_PER_NODE_FIELD_DESC = new org.apache.thrift.protocol.TField("cpuPerNode", org.apache.thrift.protocol.TType.I32, (short)8);
   private static final org.apache.thrift.protocol.TField DEFAULT_NODE_COUNT_FIELD_DESC = new org.apache.thrift.protocol.TField("defaultNodeCount", org.apache.thrift.protocol.TType.I32, (short)9);
   private static final org.apache.thrift.protocol.TField DEFAULT_CPUCOUNT_FIELD_DESC = new org.apache.thrift.protocol.TField("defaultCPUCount", org.apache.thrift.protocol.TType.I32, (short)10);
-  private static final org.apache.thrift.protocol.TField IS_DEFAULT_QUEUE_FIELD_DESC = new org.apache.thrift.protocol.TField("isDefaultQueue", org.apache.thrift.protocol.TType.BOOL, (short)11);
+  private static final org.apache.thrift.protocol.TField DEFAULT_WALLTIME_FIELD_DESC = new org.apache.thrift.protocol.TField("defaultWalltime", org.apache.thrift.protocol.TType.I32, (short)11);
+  private static final org.apache.thrift.protocol.TField QUEUE_SPECIFIC_MACROS_FIELD_DESC = new org.apache.thrift.protocol.TField("queueSpecificMacros", org.apache.thrift.protocol.TType.STRING, (short)12);
+  private static final org.apache.thrift.protocol.TField IS_DEFAULT_QUEUE_FIELD_DESC = new org.apache.thrift.protocol.TField("isDefaultQueue", org.apache.thrift.protocol.TType.BOOL, (short)13);
 
   private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
   static {
@@ -89,6 +91,8 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
   private int cpuPerNode; // optional
   private int defaultNodeCount; // optional
   private int defaultCPUCount; // optional
+  private int defaultWalltime; // optional
+  private String queueSpecificMacros; // optional
   private boolean isDefaultQueue; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@@ -103,7 +107,9 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
     CPU_PER_NODE((short)8, "cpuPerNode"),
     DEFAULT_NODE_COUNT((short)9, "defaultNodeCount"),
     DEFAULT_CPUCOUNT((short)10, "defaultCPUCount"),
-    IS_DEFAULT_QUEUE((short)11, "isDefaultQueue");
+    DEFAULT_WALLTIME((short)11, "defaultWalltime"),
+    QUEUE_SPECIFIC_MACROS((short)12, "queueSpecificMacros"),
+    IS_DEFAULT_QUEUE((short)13, "isDefaultQueue");
 
     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -138,7 +144,11 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
           return DEFAULT_NODE_COUNT;
         case 10: // DEFAULT_CPUCOUNT
           return DEFAULT_CPUCOUNT;
-        case 11: // IS_DEFAULT_QUEUE
+        case 11: // DEFAULT_WALLTIME
+          return DEFAULT_WALLTIME;
+        case 12: // QUEUE_SPECIFIC_MACROS
+          return QUEUE_SPECIFIC_MACROS;
+        case 13: // IS_DEFAULT_QUEUE
           return IS_DEFAULT_QUEUE;
         default:
           return null;
@@ -188,9 +198,10 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
   private static final int __CPUPERNODE_ISSET_ID = 5;
   private static final int __DEFAULTNODECOUNT_ISSET_ID = 6;
   private static final int __DEFAULTCPUCOUNT_ISSET_ID = 7;
-  private static final int __ISDEFAULTQUEUE_ISSET_ID = 8;
+  private static final int __DEFAULTWALLTIME_ISSET_ID = 8;
+  private static final int __ISDEFAULTQUEUE_ISSET_ID = 9;
   private short __isset_bitfield = 0;
-  private static final _Fields optionals[] = {_Fields.QUEUE_DESCRIPTION,_Fields.MAX_RUN_TIME,_Fields.MAX_NODES,_Fields.MAX_PROCESSORS,_Fields.MAX_JOBS_IN_QUEUE,_Fields.MAX_MEMORY,_Fields.CPU_PER_NODE,_Fields.DEFAULT_NODE_COUNT,_Fields.DEFAULT_CPUCOUNT,_Fields.IS_DEFAULT_QUEUE};
+  private static final _Fields optionals[] = {_Fields.QUEUE_DESCRIPTION,_Fields.MAX_RUN_TIME,_Fields.MAX_NODES,_Fields.MAX_PROCESSORS,_Fields.MAX_JOBS_IN_QUEUE,_Fields.MAX_MEMORY,_Fields.CPU_PER_NODE,_Fields.DEFAULT_NODE_COUNT,_Fields.DEFAULT_CPUCOUNT,_Fields.DEFAULT_WALLTIME,_Fields.QUEUE_SPECIFIC_MACROS,_Fields.IS_DEFAULT_QUEUE};
   public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
   static {
     Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
@@ -214,6 +225,10 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
     tmpMap.put(_Fields.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.QUEUE_SPECIFIC_MACROS, new org.apache.thrift.meta_data.FieldMetaData("queueSpecificMacros", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     tmpMap.put(_Fields.IS_DEFAULT_QUEUE, new org.apache.thrift.meta_data.FieldMetaData("isDefaultQueue", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
     metaDataMap = Collections.unmodifiableMap(tmpMap);
@@ -249,6 +264,10 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
     this.cpuPerNode = other.cpuPerNode;
     this.defaultNodeCount = other.defaultNodeCount;
     this.defaultCPUCount = other.defaultCPUCount;
+    this.defaultWalltime = other.defaultWalltime;
+    if (other.isSetQueueSpecificMacros()) {
+      this.queueSpecificMacros = other.queueSpecificMacros;
+    }
     this.isDefaultQueue = other.isDefaultQueue;
   }
 
@@ -276,6 +295,9 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
     this.defaultNodeCount = 0;
     setDefaultCPUCountIsSet(false);
     this.defaultCPUCount = 0;
+    setDefaultWalltimeIsSet(false);
+    this.defaultWalltime = 0;
+    this.queueSpecificMacros = null;
     setIsDefaultQueueIsSet(false);
     this.isDefaultQueue = false;
   }
@@ -502,6 +524,51 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
     __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 String getQueueSpecificMacros() {
+    return this.queueSpecificMacros;
+  }
+
+  public void setQueueSpecificMacros(String queueSpecificMacros) {
+    this.queueSpecificMacros = queueSpecificMacros;
+  }
+
+  public void unsetQueueSpecificMacros() {
+    this.queueSpecificMacros = null;
+  }
+
+  /** Returns true if field queueSpecificMacros is set (has been assigned a value) and false otherwise */
+  public boolean isSetQueueSpecificMacros() {
+    return this.queueSpecificMacros != null;
+  }
+
+  public void setQueueSpecificMacrosIsSet(boolean value) {
+    if (!value) {
+      this.queueSpecificMacros = null;
+    }
+  }
+
   public boolean isIsDefaultQueue() {
     return this.isDefaultQueue;
   }
@@ -606,6 +673,22 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
       }
       break;
 
+    case DEFAULT_WALLTIME:
+      if (value == null) {
+        unsetDefaultWalltime();
+      } else {
+        setDefaultWalltime((Integer)value);
+      }
+      break;
+
+    case QUEUE_SPECIFIC_MACROS:
+      if (value == null) {
+        unsetQueueSpecificMacros();
+      } else {
+        setQueueSpecificMacros((String)value);
+      }
+      break;
+
     case IS_DEFAULT_QUEUE:
       if (value == null) {
         unsetIsDefaultQueue();
@@ -649,6 +732,12 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
     case DEFAULT_CPUCOUNT:
       return getDefaultCPUCount();
 
+    case DEFAULT_WALLTIME:
+      return getDefaultWalltime();
+
+    case QUEUE_SPECIFIC_MACROS:
+      return getQueueSpecificMacros();
+
     case IS_DEFAULT_QUEUE:
       return isIsDefaultQueue();
 
@@ -683,6 +772,10 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
       return isSetDefaultNodeCount();
     case DEFAULT_CPUCOUNT:
       return isSetDefaultCPUCount();
+    case DEFAULT_WALLTIME:
+      return isSetDefaultWalltime();
+    case QUEUE_SPECIFIC_MACROS:
+      return isSetQueueSpecificMacros();
     case IS_DEFAULT_QUEUE:
       return isSetIsDefaultQueue();
     }
@@ -792,6 +885,24 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
         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_queueSpecificMacros = true && this.isSetQueueSpecificMacros();
+    boolean that_present_queueSpecificMacros = true && that.isSetQueueSpecificMacros();
+    if (this_present_queueSpecificMacros || that_present_queueSpecificMacros) {
+      if (!(this_present_queueSpecificMacros && that_present_queueSpecificMacros))
+        return false;
+      if (!this.queueSpecificMacros.equals(that.queueSpecificMacros))
+        return false;
+    }
+
     boolean this_present_isDefaultQueue = true && this.isSetIsDefaultQueue();
     boolean that_present_isDefaultQueue = true && that.isSetIsDefaultQueue();
     if (this_present_isDefaultQueue || that_present_isDefaultQueue) {
@@ -858,6 +969,16 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
     if (present_defaultCPUCount)
       list.add(defaultCPUCount);
 
+    boolean present_defaultWalltime = true && (isSetDefaultWalltime());
+    list.add(present_defaultWalltime);
+    if (present_defaultWalltime)
+      list.add(defaultWalltime);
+
+    boolean present_queueSpecificMacros = true && (isSetQueueSpecificMacros());
+    list.add(present_queueSpecificMacros);
+    if (present_queueSpecificMacros)
+      list.add(queueSpecificMacros);
+
     boolean present_isDefaultQueue = true && (isSetIsDefaultQueue());
     list.add(present_isDefaultQueue);
     if (present_isDefaultQueue)
@@ -974,6 +1095,26 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
         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(isSetQueueSpecificMacros()).compareTo(other.isSetQueueSpecificMacros());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetQueueSpecificMacros()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.queueSpecificMacros, other.queueSpecificMacros);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
     lastComparison = Boolean.valueOf(isSetIsDefaultQueue()).compareTo(other.isSetIsDefaultQueue());
     if (lastComparison != 0) {
       return lastComparison;
@@ -1069,6 +1210,22 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
       sb.append(this.defaultCPUCount);
       first = false;
     }
+    if (isSetDefaultWalltime()) {
+      if (!first) sb.append(", ");
+      sb.append("defaultWalltime:");
+      sb.append(this.defaultWalltime);
+      first = false;
+    }
+    if (isSetQueueSpecificMacros()) {
+      if (!first) sb.append(", ");
+      sb.append("queueSpecificMacros:");
+      if (this.queueSpecificMacros == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.queueSpecificMacros);
+      }
+      first = false;
+    }
     if (isSetIsDefaultQueue()) {
       if (!first) sb.append(", ");
       sb.append("isDefaultQueue:");
@@ -1204,7 +1361,23 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 11: // IS_DEFAULT_QUEUE
+          case 11: // 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 12: // QUEUE_SPECIFIC_MACROS
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.queueSpecificMacros = iprot.readString();
+              struct.setQueueSpecificMacrosIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 13: // IS_DEFAULT_QUEUE
             if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
               struct.isDefaultQueue = iprot.readBool();
               struct.setIsDefaultQueueIsSet(true);
@@ -1277,6 +1450,18 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
         oprot.writeI32(struct.defaultCPUCount);
         oprot.writeFieldEnd();
       }
+      if (struct.isSetDefaultWalltime()) {
+        oprot.writeFieldBegin(DEFAULT_WALLTIME_FIELD_DESC);
+        oprot.writeI32(struct.defaultWalltime);
+        oprot.writeFieldEnd();
+      }
+      if (struct.queueSpecificMacros != null) {
+        if (struct.isSetQueueSpecificMacros()) {
+          oprot.writeFieldBegin(QUEUE_SPECIFIC_MACROS_FIELD_DESC);
+          oprot.writeString(struct.queueSpecificMacros);
+          oprot.writeFieldEnd();
+        }
+      }
       if (struct.isSetIsDefaultQueue()) {
         oprot.writeFieldBegin(IS_DEFAULT_QUEUE_FIELD_DESC);
         oprot.writeBool(struct.isDefaultQueue);
@@ -1328,10 +1513,16 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
       if (struct.isSetDefaultCPUCount()) {
         optionals.set(8);
       }
-      if (struct.isSetIsDefaultQueue()) {
+      if (struct.isSetDefaultWalltime()) {
         optionals.set(9);
       }
-      oprot.writeBitSet(optionals, 10);
+      if (struct.isSetQueueSpecificMacros()) {
+        optionals.set(10);
+      }
+      if (struct.isSetIsDefaultQueue()) {
+        optionals.set(11);
+      }
+      oprot.writeBitSet(optionals, 12);
       if (struct.isSetQueueDescription()) {
         oprot.writeString(struct.queueDescription);
       }
@@ -1359,6 +1550,12 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
       if (struct.isSetDefaultCPUCount()) {
         oprot.writeI32(struct.defaultCPUCount);
       }
+      if (struct.isSetDefaultWalltime()) {
+        oprot.writeI32(struct.defaultWalltime);
+      }
+      if (struct.isSetQueueSpecificMacros()) {
+        oprot.writeString(struct.queueSpecificMacros);
+      }
       if (struct.isSetIsDefaultQueue()) {
         oprot.writeBool(struct.isDefaultQueue);
       }
@@ -1369,7 +1566,7 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
       TTupleProtocol iprot = (TTupleProtocol) prot;
       struct.queueName = iprot.readString();
       struct.setQueueNameIsSet(true);
-      BitSet incoming = iprot.readBitSet(10);
+      BitSet incoming = iprot.readBitSet(12);
       if (incoming.get(0)) {
         struct.queueDescription = iprot.readString();
         struct.setQueueDescriptionIsSet(true);
@@ -1407,6 +1604,14 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
         struct.setDefaultCPUCountIsSet(true);
       }
       if (incoming.get(9)) {
+        struct.defaultWalltime = iprot.readI32();
+        struct.setDefaultWalltimeIsSet(true);
+      }
+      if (incoming.get(10)) {
+        struct.queueSpecificMacros = iprot.readString();
+        struct.setQueueSpecificMacrosIsSet(true);
+      }
+      if (incoming.get(11)) {
         struct.isDefaultQueue = iprot.readBool();
         struct.setIsDefaultQueueIsSet(true);
       }

http://git-wip-us.apache.org/repos/asf/airavata/blob/11f12dfc/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 b10f8a8..65ad6ad 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
@@ -101,7 +101,7 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
   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 org.apache.thrift.protocol.TField DEFAULT_WALLTIME_FIELD_DESC = new org.apache.thrift.protocol.TField("defaultWalltime", org.apache.thrift.protocol.TType.I32, (short)18);
 
   private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
   static {
@@ -126,7 +126,7 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
   private int cpusPerNode; // optional
   private int defaultNodeCount; // optional
   private int defaultCPUCount; // optional
-  private int defaultWallltime; // optional
+  private int defaultWalltime; // 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 {
@@ -147,7 +147,7 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
     CPUS_PER_NODE((short)15, "cpusPerNode"),
     DEFAULT_NODE_COUNT((short)16, "defaultNodeCount"),
     DEFAULT_CPUCOUNT((short)17, "defaultCPUCount"),
-    DEFAULT_WALLLTIME((short)18, "defaultWallltime");
+    DEFAULT_WALLTIME((short)18, "defaultWalltime");
 
     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -196,8 +196,8 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
           return DEFAULT_NODE_COUNT;
         case 17: // DEFAULT_CPUCOUNT
           return DEFAULT_CPUCOUNT;
-        case 18: // DEFAULT_WALLLTIME
-          return DEFAULT_WALLLTIME;
+        case 18: // DEFAULT_WALLTIME
+          return DEFAULT_WALLTIME;
         default:
           return null;
       }
@@ -244,9 +244,9 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
   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 static final int __DEFAULTWALLTIME_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,_Fields.CPUS_PER_NODE,_Fields.DEFAULT_NODE_COUNT,_Fields.DEFAULT_CPUCOUNT,_Fields.DEFAULT_WALLLTIME};
+  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_WALLTIME};
   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);
@@ -291,7 +291,7 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
         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, 
+    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)));
     metaDataMap = Collections.unmodifiableMap(tmpMap);
     org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ComputeResourceDescription.class, metaDataMap);
@@ -381,7 +381,7 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
     this.cpusPerNode = other.cpusPerNode;
     this.defaultNodeCount = other.defaultNodeCount;
     this.defaultCPUCount = other.defaultCPUCount;
-    this.defaultWallltime = other.defaultWallltime;
+    this.defaultWalltime = other.defaultWalltime;
   }
 
   public ComputeResourceDescription deepCopy() {
@@ -414,8 +414,8 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
     this.defaultNodeCount = 0;
     setDefaultCPUCountIsSet(false);
     this.defaultCPUCount = 0;
-    setDefaultWallltimeIsSet(false);
-    this.defaultWallltime = 0;
+    setDefaultWalltimeIsSet(false);
+    this.defaultWalltime = 0;
   }
 
   public String getComputeResourceId() {
@@ -889,26 +889,26 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
     __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __DEFAULTCPUCOUNT_ISSET_ID, value);
   }
 
-  public int getDefaultWallltime() {
-    return this.defaultWallltime;
+  public int getDefaultWalltime() {
+    return this.defaultWalltime;
   }
 
-  public void setDefaultWallltime(int defaultWallltime) {
-    this.defaultWallltime = defaultWallltime;
-    setDefaultWallltimeIsSet(true);
+  public void setDefaultWalltime(int defaultWalltime) {
+    this.defaultWalltime = defaultWalltime;
+    setDefaultWalltimeIsSet(true);
   }
 
-  public void unsetDefaultWallltime() {
-    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __DEFAULTWALLLTIME_ISSET_ID);
+  public void unsetDefaultWalltime() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __DEFAULTWALLTIME_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);
+  /** 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 setDefaultWallltimeIsSet(boolean value) {
-    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __DEFAULTWALLLTIME_ISSET_ID, value);
+  public void setDefaultWalltimeIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __DEFAULTWALLTIME_ISSET_ID, value);
   }
 
   public void setFieldValue(_Fields field, Object value) {
@@ -1049,11 +1049,11 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
       }
       break;
 
-    case DEFAULT_WALLLTIME:
+    case DEFAULT_WALLTIME:
       if (value == null) {
-        unsetDefaultWallltime();
+        unsetDefaultWalltime();
       } else {
-        setDefaultWallltime((Integer)value);
+        setDefaultWalltime((Integer)value);
       }
       break;
 
@@ -1113,8 +1113,8 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
     case DEFAULT_CPUCOUNT:
       return getDefaultCPUCount();
 
-    case DEFAULT_WALLLTIME:
-      return getDefaultWallltime();
+    case DEFAULT_WALLTIME:
+      return getDefaultWalltime();
 
     }
     throw new IllegalStateException();
@@ -1161,8 +1161,8 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
       return isSetDefaultNodeCount();
     case DEFAULT_CPUCOUNT:
       return isSetDefaultCPUCount();
-    case DEFAULT_WALLLTIME:
-      return isSetDefaultWallltime();
+    case DEFAULT_WALLTIME:
+      return isSetDefaultWalltime();
     }
     throw new IllegalStateException();
   }
@@ -1333,12 +1333,12 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
         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))
+    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.defaultWallltime != that.defaultWallltime)
+      if (this.defaultWalltime != that.defaultWalltime)
         return false;
     }
 
@@ -1434,10 +1434,10 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
     if (present_defaultCPUCount)
       list.add(defaultCPUCount);
 
-    boolean present_defaultWallltime = true && (isSetDefaultWallltime());
-    list.add(present_defaultWallltime);
-    if (present_defaultWallltime)
-      list.add(defaultWallltime);
+    boolean present_defaultWalltime = true && (isSetDefaultWalltime());
+    list.add(present_defaultWalltime);
+    if (present_defaultWalltime)
+      list.add(defaultWalltime);
 
     return list.hashCode();
   }
@@ -1620,12 +1620,12 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
         return lastComparison;
       }
     }
-    lastComparison = Boolean.valueOf(isSetDefaultWallltime()).compareTo(other.isSetDefaultWallltime());
+    lastComparison = Boolean.valueOf(isSetDefaultWalltime()).compareTo(other.isSetDefaultWalltime());
     if (lastComparison != 0) {
       return lastComparison;
     }
-    if (isSetDefaultWallltime()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.defaultWallltime, other.defaultWallltime);
+    if (isSetDefaultWalltime()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.defaultWalltime, other.defaultWalltime);
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -1791,10 +1791,10 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
       sb.append(this.defaultCPUCount);
       first = false;
     }
-    if (isSetDefaultWallltime()) {
+    if (isSetDefaultWalltime()) {
       if (!first) sb.append(", ");
-      sb.append("defaultWallltime:");
-      sb.append(this.defaultWallltime);
+      sb.append("defaultWalltime:");
+      sb.append(this.defaultWalltime);
       first = false;
     }
     sb.append(")");
@@ -2051,10 +2051,10 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 18: // DEFAULT_WALLLTIME
+          case 18: // DEFAULT_WALLTIME
             if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
-              struct.defaultWallltime = iprot.readI32();
-              struct.setDefaultWallltimeIsSet(true);
+              struct.defaultWalltime = iprot.readI32();
+              struct.setDefaultWalltimeIsSet(true);
             } else { 
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
@@ -2218,9 +2218,9 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
         oprot.writeI32(struct.defaultCPUCount);
         oprot.writeFieldEnd();
       }
-      if (struct.isSetDefaultWallltime()) {
-        oprot.writeFieldBegin(DEFAULT_WALLLTIME_FIELD_DESC);
-        oprot.writeI32(struct.defaultWallltime);
+      if (struct.isSetDefaultWalltime()) {
+        oprot.writeFieldBegin(DEFAULT_WALLTIME_FIELD_DESC);
+        oprot.writeI32(struct.defaultWalltime);
         oprot.writeFieldEnd();
       }
       oprot.writeFieldStop();
@@ -2288,7 +2288,7 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
       if (struct.isSetDefaultCPUCount()) {
         optionals.set(14);
       }
-      if (struct.isSetDefaultWallltime()) {
+      if (struct.isSetDefaultWalltime()) {
         optionals.set(15);
       }
       oprot.writeBitSet(optionals, 16);
@@ -2374,8 +2374,8 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
       if (struct.isSetDefaultCPUCount()) {
         oprot.writeI32(struct.defaultCPUCount);
       }
-      if (struct.isSetDefaultWallltime()) {
-        oprot.writeI32(struct.defaultWallltime);
+      if (struct.isSetDefaultWalltime()) {
+        oprot.writeI32(struct.defaultWalltime);
       }
     }
 
@@ -2507,8 +2507,8 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
         struct.setDefaultCPUCountIsSet(true);
       }
       if (incoming.get(15)) {
-        struct.defaultWallltime = iprot.readI32();
-        struct.setDefaultWallltimeIsSet(true);
+        struct.defaultWalltime = iprot.readI32();
+        struct.setDefaultWalltimeIsSet(true);
       }
     }
   }

http://git-wip-us.apache.org/repos/asf/airavata/blob/11f12dfc/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/BatchQueue.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/BatchQueue.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/BatchQueue.java
index 7c9e173..1bd9a9b 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/BatchQueue.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/BatchQueue.java
@@ -66,6 +66,12 @@ public class BatchQueue implements Serializable {
 	@Column(name = "DEFAULT_CPU_COUNT")
 	private int defaultCPUCount;
 
+	@Column(name = "DEFAULT_WALLTIME")
+	private int defaultWalltime;
+
+	@Column(name = "QUEUE_SPECIFIC_MACROS")
+	private String queueSpecificMacros;
+
 	@Column(name = "IS_DEFAULT_QUEUE")
 	private boolean isDefaultQueue;
 
@@ -165,11 +171,27 @@ public class BatchQueue implements Serializable {
 		this.defaultCPUCount = defaultCPUCount;
 	}
 
-	public boolean isDefaultQueue() {
+	public boolean getIsDefaultQueue() {
 		return isDefaultQueue;
 	}
 
 	public void setIsDefaultQueue(boolean isDefaultQueue) {
 		this.isDefaultQueue = isDefaultQueue;
 	}
+
+	public int getDefaultWalltime() {
+		return defaultWalltime;
+	}
+
+	public void setDefaultWalltime(int defaultWalltime) {
+		this.defaultWalltime = defaultWalltime;
+	}
+
+	public String getQueueSpecificMacros() {
+		return queueSpecificMacros;
+	}
+
+	public void setQueueSpecificMacros(String queueSpecificMacros) {
+		this.queueSpecificMacros = queueSpecificMacros;
+	}
 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/11f12dfc/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/BatchQueueResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/BatchQueueResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/BatchQueueResource.java
index ca0619b..a3988e2 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/BatchQueueResource.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/BatchQueueResource.java
@@ -51,6 +51,8 @@ public class BatchQueueResource extends AppCatAbstractResource {
 	private int cpuPerNode;
 	private int defaultNodeCount;
 	private int defaultCPUCount;
+	private int defaultWalltime;
+	private String queueSpecificMacros;
 	private boolean isDefaultQueue;
 
 
@@ -275,6 +277,8 @@ public class BatchQueueResource extends AppCatAbstractResource {
 			batchQueue.setCpuPerNode(getCpuPerNode());
 			batchQueue.setDefaultCPUCount(getDefaultCPUCount());
 			batchQueue.setDefaultNodeCount(getDefaultNodeCount());
+			batchQueue.setDefaultWalltime(getDefaultWalltime());
+			batchQueue.setQueueSpecificMacros(getQueueSpecificMacros());
 			batchQueue.setIsDefaultQueue(isDefaultQueue());
 			if (existingBatchQueue == null) {
 				em.persist(batchQueue);
@@ -437,4 +441,20 @@ public class BatchQueueResource extends AppCatAbstractResource {
 	public void setIsDefaultQueue(boolean isDefaultQueue) {
 		this.isDefaultQueue = isDefaultQueue;
 	}
+
+	public int getDefaultWalltime() {
+		return defaultWalltime;
+	}
+
+	public void setDefaultWalltime(int defaultWalltime) {
+		this.defaultWalltime = defaultWalltime;
+	}
+
+	public String getQueueSpecificMacros() {
+		return queueSpecificMacros;
+	}
+
+	public void setQueueSpecificMacros(String queueSpecificMacros) {
+		this.queueSpecificMacros = queueSpecificMacros;
+	}
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/11f12dfc/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 04cf776..3a97b11 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
@@ -527,7 +527,9 @@ public class AppCatalogJPAUtils {
             batchQueueResource.setCpuPerNode(o.getCpuPerNode());
             batchQueueResource.setDefaultNodeCount(o.getDefaultNodeCount());
             batchQueueResource.setDefaultCPUCount(o.getDefaultCPUCount());
-            batchQueueResource.setIsDefaultQueue(o.isDefaultQueue());
+            batchQueueResource.setDefaultWalltime(o.getDefaultWalltime());
+            batchQueueResource.setQueueSpecificMacros(o.getQueueSpecificMacros());
+            batchQueueResource.setIsDefaultQueue(o.getIsDefaultQueue());
         }
         return batchQueueResource;
     }

http://git-wip-us.apache.org/repos/asf/airavata/blob/11f12dfc/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 690f6d2..acfc16e 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
@@ -54,7 +54,7 @@ public class AppCatalogThriftConversion {
         resource.setCpusPerNode(description.getCpusPerNode());
         resource.setDefaultNodeCount(description.getDefaultNodeCount());
         resource.setDefaultCPUCount(description.getDefaultCPUCount());
-        resource.setDefaultWalltime(description.getDefaultWallltime());
+        resource.setDefaultWalltime(description.getDefaultWalltime());
         resource.setEnabled(description.isEnabled());
         resource.setGatewayUsageReporting(description.isGatewayUsageReporting());
         resource.setGatewayUsageExec(description.getGatewayUsageExecutable());
@@ -80,7 +80,7 @@ public class AppCatalogThriftConversion {
         description.setCpusPerNode(resource.getCpusPerNode());
         description.setDefaultNodeCount(resource.getDefaultNodeCount());
         description.setDefaultCPUCount(resource.getDefaultCPUCount());
-        description.setDefaultWallltime(resource.getDefaultWalltime());
+        description.setDefaultWalltime(resource.getDefaultWalltime());
         description.setEnabled(resource.isEnabled());
         description.setGatewayUsageReporting(resource.isGatewayUsageReporting());
         description.setGatewayUsageExecutable(resource.getGatewayUsageExec());
@@ -265,6 +265,8 @@ public class AppCatalogThriftConversion {
         batchQueue.setCpuPerNode(resource.getCpuPerNode());
         batchQueue.setDefaultNodeCount(resource.getDefaultNodeCount());
         batchQueue.setDefaultCPUCount(resource.getDefaultCPUCount());
+        batchQueue.setDefaultWalltime(resource.getDefaultWalltime());
+        batchQueue.setQueueSpecificMacros(resource.getQueueSpecificMacros());
         batchQueue.setIsDefaultQueue(resource.isDefaultQueue());
         return batchQueue;
     }
@@ -281,6 +283,8 @@ public class AppCatalogThriftConversion {
         batchQueue.setCpuPerNode(resource.getCpuPerNode());
         batchQueue.setDefaultCPUCount(resource.getDefaultCPUCount());
         batchQueue.setDefaultNodeCount(resource.getDefaultNodeCount());
+        batchQueue.setDefaultWalltime(resource.getDefaultWalltime());
+        batchQueue.setQueueSpecificMacros(resource.getQueueSpecificMacros());
         batchQueue.setIsDefaultQueue(resource.isIsDefaultQueue());
         return batchQueue;
     }

http://git-wip-us.apache.org/repos/asf/airavata/blob/11f12dfc/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 8014ccf..68fd1ff 100644
--- a/modules/registry/registry-core/src/main/resources/appcatalog-derby.sql
+++ b/modules/registry/registry-core/src/main/resources/appcatalog-derby.sql
@@ -374,6 +374,8 @@ CREATE TABLE BATCH_QUEUE
         CPU_PER_NODE INTEGER,
         DEFAULT_NODE_COUNT INTEGER,
         DEFAULT_CPU_COUNT INTEGER,
+        DEFAULT_WALLTIME INTEGER,
+        QUEUE_SPECIFIC_MACROS VARCHAR(255),
         IS_DEFAULT_QUEUE BOOLEAN,
         PRIMARY KEY (COMPUTE_RESOURCE_ID,QUEUE_NAME),
         FOREIGN KEY (COMPUTE_RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE

http://git-wip-us.apache.org/repos/asf/airavata/blob/11f12dfc/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 5de9ebf..997bb2d 100644
--- a/modules/registry/registry-core/src/main/resources/appcatalog-mysql.sql
+++ b/modules/registry/registry-core/src/main/resources/appcatalog-mysql.sql
@@ -373,6 +373,8 @@ CREATE TABLE BATCH_QUEUE
         CPU_PER_NODE INTEGER,
         DEFAULT_NODE_COUNT INTEGER,
         DEFAULT_CPU_COUNT INTEGER,
+        DEFAULT_WALLTIME INTEGER,
+        QUEUE_SPECIFIC_MACROS VARCHAR(255),
         IS_DEFAULT_QUEUE TINYINT(1),
         PRIMARY KEY (COMPUTE_RESOURCE_ID,QUEUE_NAME),
         FOREIGN KEY (COMPUTE_RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE

http://git-wip-us.apache.org/repos/asf/airavata/blob/11f12dfc/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 aaa3dbe..87f2ff3 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
@@ -160,7 +160,9 @@ struct BatchQueue {
     8: optional i32 cpuPerNode,
     9: optional i32 defaultNodeCount,
     10: optional i32 defaultCPUCount,
-    11: optional bool isDefaultQueue
+    11: optional i32 defaultWalltime,
+    12: optional string queueSpecificMacros,
+    13: optional bool isDefaultQueue
 }
 
 
@@ -361,5 +363,5 @@ struct ComputeResourceDescription {
     15: optional i32 cpusPerNode,
     16: optional i32 defaultNodeCount,
     17: optional i32 defaultCPUCount,
-    18: optional i32 defaultWallltime,
+    18: optional i32 defaultWalltime,
 }


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

Posted by sc...@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
   };
 };
 


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

Posted by sc...@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)


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

Posted by sc...@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/master
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 {


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

Posted by sc...@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;


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

Posted by sc...@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>

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

Posted by sc...@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/master
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))


[60/61] [abbrv] airavata git commit: AIRAVATA-2342 Cleaning up dependencies for Keycloak client

Posted by sc...@apache.org.
AIRAVATA-2342 Cleaning up dependencies for Keycloak client

* Keycloak client requires version 2.5.4 of Jackson libraries.
* Keycloak client requires the 2.0 JAX-RS API. The 1.0 JAX-RS API was
  included transitively because of the jersey-core dependency. It
  doesn't look like we are using jersey-client or any other
  com.sun.jersey dependencies, so I removed them. For similar reasons I
  removed org.apache.whirr dependencies.


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

Branch: refs/heads/master
Commit: ff0ccae998a3a289df76afe31220cde126ba1795
Parents: 0eda7d2
Author: Marcus Christie <ma...@apache.org>
Authored: Wed May 24 11:33:48 2017 -0400
Committer: Marcus Christie <ma...@apache.org>
Committed: Wed May 24 11:33:48 2017 -0400

----------------------------------------------------------------------
 .../iam-admin-services-core/pom.xml             | 11 +++-
 modules/distribution/pom.xml                    | 61 ++------------------
 2 files changed, 12 insertions(+), 60 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/ff0ccae9/airavata-services/profile-service/iam-admin-services-core/pom.xml
----------------------------------------------------------------------
diff --git a/airavata-services/profile-service/iam-admin-services-core/pom.xml b/airavata-services/profile-service/iam-admin-services-core/pom.xml
index 51bde16..5a2d6e8 100644
--- a/airavata-services/profile-service/iam-admin-services-core/pom.xml
+++ b/airavata-services/profile-service/iam-admin-services-core/pom.xml
@@ -37,15 +37,20 @@
         <dependency>
             <groupId>org.jboss.resteasy</groupId>
             <artifactId>resteasy-client</artifactId>
-            <version>3.1.2.Final</version>
+            <version>3.0.14.Final</version>
         </dependency>
         <!-- https://mvnrepository.com/artifact/org.jboss.resteasy/resteasy-jackson2-provider -->
         <dependency>
             <groupId>org.jboss.resteasy</groupId>
             <artifactId>resteasy-jackson2-provider</artifactId>
-            <version>3.1.2.Final</version>
+            <version>3.0.14.Final</version>
+        </dependency>
+        <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
+        <dependency>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-databind</artifactId>
+            <version>2.5.4</version>
         </dependency>
-        <!-- https://mvnrepository.com/artifact/org.keycloak/keycloak-admin-client -->
         <!-- https://mvnrepository.com/artifact/org.keycloak/keycloak-admin-client -->
         <dependency>
             <groupId>org.keycloak</groupId>

http://git-wip-us.apache.org/repos/asf/airavata/blob/ff0ccae9/modules/distribution/pom.xml
----------------------------------------------------------------------
diff --git a/modules/distribution/pom.xml b/modules/distribution/pom.xml
index 7eb50d0..336820c 100644
--- a/modules/distribution/pom.xml
+++ b/modules/distribution/pom.xml
@@ -272,11 +272,6 @@
             <version>1.2.1</version>
         </dependency>
         <dependency>
-            <groupId>com.sun.jersey</groupId>
-            <artifactId>jersey-client</artifactId>
-            <version>${jersey.version}</version>
-        </dependency>
-        <dependency>
             <groupId>javax.servlet</groupId>
             <artifactId>javax.servlet-api</artifactId>
             <version>3.0.1</version>
@@ -293,35 +288,6 @@
             <version>7.0.22</version>
         </dependency>
         <dependency>
-            <groupId>com.sun.jersey</groupId>
-            <artifactId>jersey-servlet</artifactId>
-            <version>${jersey.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.sun.jersey</groupId>
-            <artifactId>jersey-json</artifactId>
-            <version>${jersey.version}</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>stax</groupId>
-                    <artifactId>stax-api</artifactId>
-                </exclusion>
-            </exclusions>
-
-        </dependency>
-        <dependency>
-            <groupId>com.sun.jersey.contribs</groupId>
-            <artifactId>jersey-multipart</artifactId>
-            <version>${jersey.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.sun.jersey</groupId>
-            <artifactId>jersey-server</artifactId>
-            <version>${jersey.version}</version>
-        </dependency>
-        <!--dependency> <groupId>com.sun.jersey</groupId> <artifactId>jersey-client</artifactId>
-            <version>${jersey.version}</version> </dependency -->
-        <dependency>
             <groupId>org.codehaus.jackson</groupId>
             <artifactId>jackson-mapper-asl</artifactId>
             <version>1.9.2</version>
@@ -374,26 +340,6 @@
             <version>1.0.3</version>
         </dependency>
         <dependency>
-            <groupId>org.apache.whirr</groupId>
-            <artifactId>whirr-core</artifactId>
-            <version>0.7.1</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.bouncycastle</groupId>
-                    <artifactId>bcprov-jdk16</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.jclouds.driver</groupId>
-                    <artifactId>jclouds-bouncycastle</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.whirr</groupId>
-            <artifactId>whirr-hadoop</artifactId>
-            <version>0.7.1</version>
-        </dependency>
-        <dependency>
             <groupId>org.hamcrest</groupId>
             <artifactId>hamcrest-all</artifactId>
             <version>1.1</version>
@@ -441,20 +387,21 @@
             <artifactId>libthrift</artifactId>
             <version>${thrift.version}</version>
         </dependency>
+        <!-- Keycloak admin client requires Jackson 2.8.6 -->
         <dependency>
             <groupId>com.fasterxml.jackson.core</groupId>
             <artifactId>jackson-databind</artifactId>
-            <version>2.0.0</version>
+            <version>2.5.4</version>
         </dependency>
         <dependency>
             <groupId>com.fasterxml.jackson.core</groupId>
             <artifactId>jackson-core</artifactId>
-            <version>2.0.0</version>
+            <version>2.5.4</version>
         </dependency>
         <dependency>
             <groupId>com.fasterxml.jackson.core</groupId>
             <artifactId>jackson-annotations</artifactId>
-            <version>2.0.0</version>
+            <version>2.5.4</version>
         </dependency>
         <!-- zookeeper dependencies -->
 


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

Posted by sc...@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/master
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


[54/61] [abbrv] airavata git commit: Merge branch 'master' into develop

Posted by sc...@apache.org.
Merge branch 'master' into develop


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

Branch: refs/heads/master
Commit: 701f36a7a138753ae944a63a2f11b8f89825a3c9
Parents: f19cc0c f6f2adc
Author: Marcus Christie <ma...@apache.org>
Authored: Mon May 22 16:08:48 2017 -0400
Committer: Marcus Christie <ma...@apache.org>
Committed: Mon May 22 16:08:48 2017 -0400

----------------------------------------------------------------------
 dev-tools/ansible/.gitignore                    |   1 +
 dev-tools/ansible/README.md                     |  21 ++
 .../dreg-production/files/pga-ssl-vhost.conf.j2 |   2 +
 .../dreg-production/group_vars/pga/vars.yml     |   2 +-
 .../cornell-dnasequence/pga-ssl-vhost.conf.j2   |  31 ---
 .../pga_config/cornell-dnasequence/vars.yml     |  63 ------
 .../pga_config/cornell-dnasequence/vault.yml    |  18 --
 .../pga_config/nanoconfinement/vars.yml         |  55 +++++
 .../pga_config/nanoconfinement/vault.yml        |  18 ++
 .../production/pga_config/ultrascan/vars.yml    |   5 +-
 dev-tools/ansible/pga-scigap-prod.yml           |   2 +-
 dev-tools/ansible/requirements.txt              |   1 +
 dev-tools/ansible/roles/java/vars/main.yml      |   8 +-
 dev-tools/ansible/roles/pga/defaults/main.yml   |   4 +
 dev-tools/ansible/roles/pga/files/ssl.conf      | 217 +++++++++++++++++++
 dev-tools/ansible/roles/pga/tasks/main.yml      |   8 +
 .../roles/pga/templates/pga-ssl-vhost.conf.j2   |   2 +
 17 files changed, 338 insertions(+), 120 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/701f36a7/dev-tools/ansible/README.md
----------------------------------------------------------------------

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


[45/61] [abbrv] airavata git commit: Merge remote-tracking branch 'upstream/develop' into develop

Posted by sc...@apache.org.
Merge remote-tracking branch 'upstream/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/9f57e1f3
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/9f57e1f3
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/9f57e1f3

Branch: refs/heads/master
Commit: 9f57e1f3d03d14423d142ee64c0815b6721d2e4e
Parents: 7177cac e988672
Author: Ajinkya Dhamnaskar <ad...@umail.iu.edu>
Authored: Wed May 17 13:59:04 2017 -0400
Committer: Ajinkya Dhamnaskar <ad...@umail.iu.edu>
Committed: Wed May 17 13:59:04 2017 -0400

----------------------------------------------------------------------
 README                                          |     3 -
 airavata-api/airavata-api-server/pom.xml        |    51 +-
 .../airavata/api/server/AiravataAPIServer.java  |    12 +-
 .../api/server/AiravataDerbyServer.java         |     4 +-
 .../server/handler/AiravataServerHandler.java   |   193 +-
 .../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       |     5 +-
 airavata-api/airavata-api-stubs/pom.xml         |    31 +-
 .../java/org/apache/airavata/api/Airavata.java  | 55575 ++++++++++-------
 .../api/client/AiravataClientFactory.java       |     4 +-
 .../airavata-cpp-sdk/pom.xml                    |    27 +-
 .../src/main/assembly/bin-assembly.xml          |    29 +-
 .../main/resources/lib/airavata/Airavata.cpp    | 17236 ++---
 .../src/main/resources/lib/airavata/Airavata.h  |  1230 +-
 .../lib/airavata/Airavata_server.skeleton.cpp   |    30 +
 .../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 +
 .../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/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   |   239 +-
 .../lib/airavata/user_profile_model_types.h     |    59 +-
 .../airavata-php-sdk/pom.xml                    |    27 +-
 .../src/main/assembly/bin-assembly.xml          |    29 +-
 .../resources/lib/Airavata/API/Airavata.php     | 11335 ++--
 .../resources/lib/Airavata/API/Error/Types.php  |    82 +
 .../Model/AppCatalog/AppDeployment/Types.php    |    25 +-
 .../Model/AppCatalog/ComputeResource/Types.php  |    94 +-
 .../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 |   279 +-
 .../src/main/resources/lib/Types.php            |    13 +
 .../airavata-python-sdk/pom.xml                 |    27 +-
 .../src/main/assembly/bin-assembly.xml          |    29 +-
 .../lib/apache/airavata/api/Airavata-remote     |    42 +
 .../lib/apache/airavata/api/Airavata.py         |  8090 ++-
 .../lib/apache/airavata/api/error/ttypes.py     |    76 +
 .../resources/lib/apache/airavata/api/ttypes.py |     1 +
 .../model/appcatalog/appdeployment/ttypes.py    |    19 +-
 .../model/appcatalog/computeresource/ttypes.py  |    54 +-
 .../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    |   231 +-
 .../java-client-samples/pom.xml                 |    26 +-
 .../client/samples/CancelExperiments.java       |     4 +-
 .../client/samples/CreateLaunchBES.java         |     3 +-
 .../client/samples/CreateLaunchExperiment.java  |     4 +-
 .../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       |   117 +-
 .../application_deployment_modelConstants.java  |    28 +-
 .../application_interface_modelConstants.java   |    28 +-
 .../ComputeResourceDescription.java             |   404 +-
 .../computeresource/ResourceJobManagerType.java |     4 +
 .../compute_resource_modelConstants.java        |    28 +-
 .../gatewayprofile/DataStoragePreference.java   |    28 +-
 .../application/io/InputDataObjectType.java     |    63 +-
 .../credential/store/SSHCredentialSummary.java  |    28 +-
 .../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 +
 .../model/messaging/event/MessageType.java      |     5 +-
 .../model/messaging/event/TaskSubmitEvent.java  |    28 +-
 .../messaging/event/TaskTerminateEvent.java     |    28 +-
 .../event/messaging_eventsConstants.java        |    28 +-
 .../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       |    31 +-
 .../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         |     4 +-
 .../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 +
 dev-tools/ansible/.gitignore                    |     2 +
 dev-tools/ansible/README.md                     |    10 +-
 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       |    20 +
 dev-tools/ansible/dev_pga_deploy.yml            |    20 +
 dev-tools/ansible/group_vars/.gitignore         |     1 -
 dev-tools/ansible/group_vars/all.yml            |    91 -
 dev-tools/ansible/group_vars/dev-airavata.yml   |     2 -
 dev-tools/ansible/group_vars/dev-pga.yml        |     3 -
 dev-tools/ansible/group_vars/local.yml.template |     4 -
 dev-tools/ansible/hosts                         |    35 -
 .../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     |    20 +
 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 |    20 +
 .../roles/airavata_deploy/defaults/main.yml     |    20 +
 .../roles/airavata_deploy/handlers/main.yml     |    20 +
 .../roles/airavata_deploy/tasks/main.yml        |    20 +
 .../ansible/roles/api-orch/defaults/main.yml    |    27 +
 .../ansible/roles/api-orch/handlers/main.yml    |    20 +
 dev-tools/ansible/roles/api-orch/tasks/main.yml |    42 +-
 .../templates/airavata-server.properties.j2     |    54 +-
 .../api-orch/templates/gfac-config.yaml.j2      |     6 +
 .../roles/api-orch/templates/logback.xml.j2     |    55 +
 .../ansible/roles/common/defaults/main.yml      |    23 +
 dev-tools/ansible/roles/common/tasks/main.yml   |    32 +-
 dev-tools/ansible/roles/common/vars/main.yml    |    20 +
 .../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    |    20 +
 dev-tools/ansible/roles/database/tasks/main.yml |    81 +-
 .../roles/database/tasks/secure_install.yml     |    20 +
 dev-tools/ansible/roles/database/vars/main.yml  |    29 +-
 .../ansible/roles/env_setup/tasks/main.yml      |    30 +-
 .../ansible/roles/env_setup/tasks/redhat.yml    |    20 +
 dev-tools/ansible/roles/gfac/defaults/main.yml  |    21 +
 dev-tools/ansible/roles/gfac/handlers/main.yml  |    20 +
 dev-tools/ansible/roles/gfac/tasks/main.yml     |    34 +-
 .../templates/airavata-server.properties.j2     |    21 +-
 .../roles/gfac/templates/gfac-config.yaml.j2    |     8 +
 .../ansible/roles/gfac/templates/logback.xml.j2 |    55 +
 dev-tools/ansible/roles/java/tasks/main.yml     |    26 +
 dev-tools/ansible/roles/java/vars/main.yml      |    20 +
 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   |    24 +-
 .../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      |   175 +-
 .../ansible/roles/pga/templates/httpd.conf.j2   |   353 -
 .../roles/pga/templates/pga-ssl-vhost.conf.j2   |    29 +
 .../roles/pga/templates/pga-vhost.conf.j2       |    14 +
 .../roles/pga/templates/pga_config.php.j2       |    44 +-
 dev-tools/ansible/roles/pga/vars/main.yml       |    30 -
 .../ansible/roles/pga_deploy/handlers/main.yml  |    20 +
 .../ansible/roles/pga_deploy/tasks/main.yml     |    20 +
 .../ansible/roles/rabbitmq/handlers/main.yml    |    20 +
 dev-tools/ansible/roles/rabbitmq/tasks/main.yml |    20 +
 dev-tools/ansible/roles/rabbitmq/vars/main.yml  |    20 +
 dev-tools/ansible/roles/registry/tasks/main.yml |    20 +
 .../templates/airavata-server.properties.j2     |     7 +
 dev-tools/ansible/roles/wso2_is/tasks/main.yml  |    20 +
 dev-tools/ansible/roles/wso2_is/vars/main.yml   |    20 +
 .../ansible/roles/zookeeper/handlers/main.yml   |    20 +
 .../ansible/roles/zookeeper/tasks/main.yml      |    20 +
 dev-tools/ansible/roles/zookeeper/vars/main.yml |    20 +
 dev-tools/ansible/site.yml                      |    20 +
 modules/cloud/cloud-provisioning/pom.xml        |     5 -
 modules/cluster-monitoring/pom.xml              |    25 +-
 .../monitoring/ClusterStatusMonitorJob.java     |     5 +-
 .../ClusterStatusMonitorJobScheduler.java       |     5 +-
 modules/commons/pom.xml                         |    35 +-
 .../airavata/common/utils/BuildConstant.java    |     4 +-
 .../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      |     3 +-
 .../airavata/common/logging/LogEntry.java       |     3 +-
 .../airavata/common/logging/MDCConstants.java   |     3 +-
 .../apache/airavata/common/logging/MDCUtil.java |    19 +
 .../airavata/common/logging/ServerId.java       |     3 +-
 .../common/logging/kafka/KafkaAppender.java     |     3 +-
 .../airavata/common/utils/AiravataJobState.java |     5 +-
 .../airavata/common/utils/AiravataUtils.java    |     4 +-
 .../airavata/common/utils/AiravataZKUtils.java  |     5 +-
 .../common/utils/ApplicationSettings.java       |    24 +-
 .../airavata/common/utils/AwsMetadata.java      |     3 +-
 .../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   |    26 +-
 .../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 +-
 .../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 +-
 modules/configuration/client/pom.xml            |    26 +-
 modules/configuration/pom.xml                   |    26 +-
 modules/configuration/server/pom.xml            |    26 +-
 .../src/main/resources/LSF_Groovy.template      |     3 +
 .../src/main/resources/UGE_Groovy.template      |     3 +-
 .../resources/airavata-default-xacml-policy.xml |    18 +-
 .../main/resources/airavata-server.properties   |    39 +-
 .../src/main/resources/client_truststore.jks    |   Bin 2423 -> 5312 bytes
 .../server/src/main/resources/log4j.properties  |    48 -
 .../server/src/main/resources/logback.xml       |    70 +-
 .../credential-store-service/pom.xml            |    33 +-
 .../credential/store/credential/AuditInfo.java  |     4 +-
 .../store/credential/CommunityUser.java         |     4 +-
 .../credential/store/credential/Credential.java |     4 +-
 .../store/credential/CredentialOwnerType.java   |    19 +
 .../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    |     3 +-
 .../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     |     6 +-
 .../store/store/impl/db/ParentDAO.java          |     4 +-
 .../store/store/impl/util/ConnectionPool.java   |     5 +-
 .../impl/util/CredentialStoreInitUtil.java      |     5 +-
 .../store/store/impl/util/DatabaseCreator.java  |     5 +-
 .../store/store/impl/util/JdbcStorage.java      |     5 +-
 .../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      |    19 +
 .../store/notifier/impl/EmailNotifierTest.java  |     4 +-
 .../store/impl/db/CommunityUserDAOTest.java     |     4 +-
 .../store/store/impl/db/CredentialsDAOTest.java |     4 +-
 .../store/store/impl/db/SSHCredentialTest.java  |     4 +-
 .../store/util/ConfigurationReaderTest.java     |     4 +-
 .../store/util/TokenGeneratorTest.java          |     4 +-
 .../credential-store-stubs/pom.xml              |    31 +-
 .../client/CredentialStoreClientFactory.java    |     4 +-
 .../credential/store/client/TestSSLClient.java  |     3 +-
 .../store/cpi/CredentialStoreService.java       |    19 +
 .../cpi/credential_store_cpiConstants.java      |    19 +
 .../exception/CredentialStoreException.java     |    19 +
 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                    |    64 +-
 .../src/main/assembly/bin-assembly.xml          |    32 +-
 .../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     |     3 +-
 .../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  |     4 +-
 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 +
 .../apache/airavata/gfac/core/GFacUtils.java    |     8 +-
 .../gfac/core/cluster/OutputParser.java         |     2 +-
 .../gfac/core/cluster/RemoteCluster.java        |    12 +-
 .../gfac/core/context/ProcessContext.java       |    49 +-
 modules/gfac/gfac-impl/pom.xml                  |    26 +-
 .../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  |     3 +-
 .../airavata/gfac/impl/BESRemoteCluster.java    |    28 +-
 .../gfac/impl/DefaultHostScheduler.java         |     3 +-
 .../org/apache/airavata/gfac/impl/Factory.java  |     3 +-
 .../airavata/gfac/impl/GFacEngineImpl.java      |     6 +-
 .../apache/airavata/gfac/impl/GFacWorker.java   |     4 +-
 .../airavata/gfac/impl/HPCRemoteCluster.java    |    32 +-
 .../apache/airavata/gfac/impl/HTTPUtils.java    |    19 +
 .../airavata/gfac/impl/LocalCommandOutput.java  |     3 +-
 .../airavata/gfac/impl/LocalRemoteCluster.java  |    21 +-
 .../org/apache/airavata/gfac/impl/SSHUtils.java |     3 +-
 .../airavata/gfac/impl/StandardOutReader.java   |     5 +-
 .../job/AiravataCustomCommandOutputParser.java  |     6 +-
 .../gfac/impl/job/ForkJobConfiguration.java     |     6 +-
 .../gfac/impl/job/ForkOutputParser.java         |     6 +-
 .../apache/airavata/gfac/impl/job/JobUtil.java  |     3 +-
 .../gfac/impl/job/LSFJobConfiguration.java      |     5 +-
 .../airavata/gfac/impl/job/LSFOutputParser.java |    11 +-
 .../gfac/impl/job/PBSJobConfiguration.java      |     5 +-
 .../airavata/gfac/impl/job/PBSOutputParser.java |     5 +-
 .../gfac/impl/job/SlurmJobConfiguration.java    |     5 +-
 .../gfac/impl/job/SlurmOutputParser.java        |     5 +-
 .../gfac/impl/job/UGEJobConfiguration.java      |     5 +-
 .../airavata/gfac/impl/job/UGEOutputParser.java |     5 +-
 .../airavata/gfac/impl/task/ArchiveTask.java    |     3 +-
 .../gfac/impl/task/AuroraJobSubmissionTask.java |     3 +-
 .../gfac/impl/task/BESJobSubmissionTask.java    |    19 +
 .../airavata/gfac/impl/task/DataStageTask.java  |     3 +-
 .../gfac/impl/task/DataStreamingTask.java       |     6 +-
 .../impl/task/DefaultJobSubmissionTask.java     |     6 +-
 .../gfac/impl/task/EnvironmentSetupTask.java    |     3 +-
 .../gfac/impl/task/ForkJobSubmissionTask.java   |     6 +-
 .../gfac/impl/task/LocalJobSubmissionTask.java  |     6 +-
 .../gfac/impl/task/SCPDataStageTask.java        |    30 +-
 .../airavata/gfac/impl/task/TaskUtils.java      |     3 +-
 .../gfac/impl/task/utils/StreamData.java        |     6 +-
 .../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 |     3 +-
 .../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  |    19 +
 .../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    |     3 +-
 .../gfac/monitor/email/EmailBasedMonitor.java   |     5 +-
 .../email/parser/AiravataCustomMailParser.java  |     5 +-
 .../monitor/email/parser/LSFEmailParser.java    |     6 +-
 .../monitor/email/parser/PBSEmailParser.java    |     5 +-
 .../monitor/email/parser/SLURMEmailParser.java  |     5 +-
 .../monitor/email/parser/UGEEmailParser.java    |     5 +-
 .../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   |    19 +
 .../gfac/services/impl/CredentialStoreTest.java |    19 +
 .../impl/GSISSHProviderTestWithMyProxyAuth.java |    19 +
 .../gfac/services/impl/LocalProviderTest.java   |    19 +
 .../impl/SSHProviderTestWithSSHAuth.java        |    19 +
 .../GSISecurityContextTestWithMyProxyAuth.java  |    19 +
 .../email/parser/PBSEmailParserTest.java        |    19 +
 .../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 |     5 +-
 .../gfac/client/GfacClientFactoryTest.java      |     6 +-
 .../airavata/gfac/client/util/Initialize.java   |     4 +-
 modules/gfac/pom.xml                            |    26 +-
 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     |     4 +-
 .../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   |    22 +-
 .../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           |     5 +-
 .../core/validator/JobMetadataValidator.java    |     5 +-
 .../validator/impl/BatchQueueValidator.java     |     5 +-
 .../impl/ExperimentStatusValidator.java         |     5 +-
 .../airavata/orchestrator/cpi/Orchestrator.java |     5 +-
 .../cpi/impl/AbstractOrchestrator.java          |     5 +-
 .../cpi/impl/SimpleOrchestratorImpl.java        |     5 +-
 .../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   |    31 +-
 .../orchestrator/server/OrchestratorServer.java |    11 +-
 .../server/OrchestratorServerHandler.java       |     4 +-
 .../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            |   132 -
 .../registry/core/RegistryException.java        |    28 -
 .../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 -
 .../workspacecatalog/GatewayRepository.java     |    36 -
 .../NotificationRepository.java                 |    35 -
 .../workspacecatalog/ProjectRepository.java     |    35 -
 .../workspacecatalog/UserProfileRepository.java |    88 -
 .../airavata/registry/core/utils/Committer.java |    27 -
 .../registry/core/utils/JPAConstants.java       |    32 -
 .../airavata/registry/core/utils/JPAUtils.java  |    83 -
 .../core/utils/ObjectMapperSingleton.java       |    39 -
 .../registry/core/utils/QueryConstants.java     |    22 -
 .../airavata/registry/core/utils/Utils.java     |   156 -
 .../src/main/resources/META-INF/persistence.xml |    32 -
 .../src/main/resources/workspace_catalog.sql    |   125 -
 .../repositories/WorkspaceRepositoryTest.java   |   197 -
 modules/registry/pom.xml                        |    26 +-
 modules/registry/registry-core/pom.xml          |    26 +-
 .../core/app/catalog/impl/AppCatalogImpl.java   |     4 +-
 .../catalog/impl/ApplicationDeploymentImpl.java |     6 +-
 .../catalog/impl/ApplicationInterfaceImpl.java  |     4 +-
 .../app/catalog/impl/ComputeResourceImpl.java   |     4 +-
 .../catalog/impl/GwyResourceProfileImpl.java    |     4 +-
 .../app/catalog/impl/StorageResourceImpl.java   |     4 +-
 .../catalog/impl/UsrResourceProfileImpl.java    |     8 +-
 .../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    |    14 +-
 .../app/catalog/model/ApplicationIntInput.java  |     4 +-
 .../app/catalog/model/ApplicationIntOutput.java |     4 +-
 .../app/catalog/model/ApplicationInterface.java |     4 +-
 .../app/catalog/model/ApplicationModule.java    |     4 +-
 .../core/app/catalog/model/BatchQueue.java      |     4 +-
 .../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 |     4 +-
 .../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    |    10 +-
 .../model/UserComputeResourcePreferencePK.java  |    28 +-
 .../app/catalog/model/UserResourceProfile.java  |     4 +-
 .../catalog/model/UserResourceProfilePK.java    |     4 +-
 .../catalog/model/UserStoragePreference.java    |    10 +-
 .../catalog/model/UserStoragePreferencePK.java  |    26 +-
 .../resources/AppCatAbstractResource.java       |     4 +-
 .../catalog/resources/AppCatalogResource.java   |    19 +
 .../resources/AppDeploymentResource.java        |    15 +-
 .../resources/AppEnvironmentResource.java       |     4 +-
 .../catalog/resources/AppInterfaceResource.java |     4 +-
 ...ppModuleMappingAppCatalogResourceAppCat.java |     4 +-
 .../catalog/resources/AppModuleResource.java    |     4 +-
 .../resources/ApplicationInputResource.java     |     2 +-
 .../resources/ApplicationOutputResource.java    |     2 +-
 .../catalog/resources/BatchQueueResource.java   |     4 +-
 .../resources/CloudSubmissionResource.java      |     5 +-
 .../ComputeHostPreferenceResource.java          |     4 +-
 .../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      |     4 +-
 .../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      |    14 +-
 .../resources/UserResourceProfileResource.java  |     2 +-
 .../UserStoragePreferenceResource.java          |    18 +-
 .../app/catalog/util/AppCatalogJPAUtils.java    |     9 +-
 .../catalog/util/AppCatalogQueryGenerator.java  |     4 +-
 .../catalog/util/AppCatalogResourceType.java    |     4 +-
 .../util/AppCatalogThriftConversion.java        |    13 +-
 .../core/app/catalog/util/AppCatalogUtils.java  |     4 +-
 .../experiment/catalog/ExpCatResourceUtils.java |     5 +-
 .../catalog/ExperimentCatResource.java          |     5 +-
 .../core/experiment/catalog/JPAConstants.java   |     4 +-
 .../core/experiment/catalog/ResourceType.java   |     5 +-
 .../catalog/impl/ExperimentCatalogImpl.java     |     4 +-
 .../catalog/impl/ExperimentRegistry.java        |    14 +-
 .../catalog/impl/GatewayRegistry.java           |     4 +-
 .../catalog/impl/NotificationRegistry.java      |     4 +-
 .../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          |     5 +-
 .../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  |     5 +-
 .../experiment/catalog/model/ProcessError.java  |     5 +-
 .../catalog/model/ProcessErrorPK.java           |     5 +-
 .../experiment/catalog/model/ProcessInput.java  |     5 +-
 .../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   |     5 +-
 .../experiment/catalog/model/QueueStatusPK.java |     5 +-
 .../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    |     5 +-
 .../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      |     4 +-
 .../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 |     4 +-
 .../resources/ProcessOutputResource.java        |     4 +-
 .../catalog/resources/ProcessResource.java      |     4 +-
 .../ProcessResourceScheduleResource.java        |     4 +-
 .../resources/ProcessStatusResource.java        |     4 +-
 .../catalog/resources/ProjectResource.java      |     5 +-
 .../catalog/resources/ProjectUserResource.java  |     4 +-
 .../catalog/resources/QueueStatusResource.java  |     5 +-
 .../catalog/resources/TaskErrorResource.java    |     4 +-
 .../catalog/resources/TaskResource.java         |     4 +-
 .../catalog/resources/TaskStatusResource.java   |     4 +-
 .../UserConfigurationDataResource.java          |     4 +-
 .../catalog/resources/UserResource.java         |     5 +-
 .../experiment/catalog/resources/Utils.java     |     3 +-
 .../catalog/resources/WorkerResource.java       |     9 +-
 .../catalog/utils/QueryGenerator.java           |     4 +-
 .../utils/ThriftDataModelConversion.java        |    19 +
 .../registry/core/impl/RegistryImpl.java        |     6 +-
 .../catalog/impl/ReplicaCatalogImpl.java        |    48 +-
 .../replica/catalog/model/Configuration.java    |    19 +
 .../replica/catalog/model/Configuration_PK.java |     4 +-
 .../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/appcatalog-derby.sql     |     5 +
 .../src/main/resources/appcatalog-mysql.sql     |     5 +
 .../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    |     4 +-
 .../airavata/app/catalog/util/Initialize.java   |     4 +-
 .../catalog/AbstractResourceTest.java           |     4 +-
 .../catalog/ExperimentInputResourceTest.java    |    19 +
 .../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        |    19 +
 .../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       |     2 +-
 .../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      |     2 +-
 .../registry/cpi/ExperimentCatalog.java         |     2 +-
 .../cpi/ExperimentCatalogException.java         |     6 +-
 .../cpi/ExperimentCatalogModelType.java         |     2 +-
 .../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        |     2 +-
 .../airavata/registry/cpi/WorkflowCatalog.java  |     6 +-
 .../registry/cpi/WorkflowCatalogException.java  |     2 +-
 .../airavata/registry/cpi/utils/Constants.java  |     4 +-
 .../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  |    57 +-
 .../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 |    19 +
 .../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  |  8997 ++-
 .../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  |     7 +-
 modules/sharing-registry/pom.xml                |    21 +
 .../sharing-data-migrator/pom.xml               |    21 +
 .../migrator/airavata/AiravataDataMigrator.java |    35 +-
 .../migrator/airavata/ConnectionFactory.java    |     5 +-
 .../sharing-registry-distribution/pom.xml       |    21 +
 .../src/main/assembly/bin-assembly.xml          |    37 +-
 .../sharing-registry-server/pom.xml             |    32 +
 .../registry/db/entities/DomainEntity.java      |     5 +-
 .../registry/db/entities/EntityEntity.java      |    16 +-
 .../sharing/registry/db/entities/EntityPK.java  |     5 +-
 .../registry/db/entities/EntityTypeEntity.java  |     5 +-
 .../registry/db/entities/EntityTypePK.java      |     5 +-
 .../db/entities/GroupMembershipEntity.java      |     5 +-
 .../registry/db/entities/GroupMembershipPK.java |     5 +-
 .../db/entities/PermissionTypeEntity.java       |     5 +-
 .../registry/db/entities/PermissionTypePK.java  |     5 +-
 .../registry/db/entities/SharingEntity.java     |     5 +-
 .../sharing/registry/db/entities/SharingPK.java |     5 +-
 .../registry/db/entities/UserEntity.java        |     5 +-
 .../registry/db/entities/UserGroupEntity.java   |     5 +-
 .../registry/db/entities/UserGroupPK.java       |     5 +-
 .../sharing/registry/db/entities/UserPK.java    |     5 +-
 .../db/repositories/AbstractRepository.java     |     5 +-
 .../db/repositories/DomainRepository.java       |     5 +-
 .../db/repositories/EntityRepository.java       |    18 +-
 .../db/repositories/EntityTypeRepository.java   |     5 +-
 .../repositories/GroupMembershipRepository.java |     5 +-
 .../repositories/PermissionTypeRepository.java  |     5 +-
 .../db/repositories/SharingRepository.java      |    16 +-
 .../db/repositories/UserGroupRepository.java    |    19 +-
 .../db/repositories/UserRepository.java         |     5 +-
 .../sharing/registry/db/utils/Committer.java    |     5 +-
 .../registry/db/utils/ConnectionPool.java       |     5 +-
 .../sharing/registry/db/utils/DBConstants.java  |     6 +-
 .../registry/db/utils/DatabaseCreator.java      |     5 +-
 .../sharing/registry/db/utils/JPAUtils.java     |     5 +-
 .../sharing/registry/db/utils/JdbcStorage.java  |     5 +-
 .../db/utils/ObjectMapperSingleton.java         |     5 +-
 .../messaging/SharingServiceDBEventHandler.java |   243 +
 .../SharingServiceDBEventMessagingFactory.java  |   111 +
 .../sharing/registry/server/ServerMain.java     |     5 +-
 .../registry/server/SharingRegistryServer.java  |    25 +-
 .../server/SharingRegistryServerHandler.java    |   185 +-
 .../sharing/registry/utils/Constants.java       |    38 +
 .../utils/ThriftDataModelConversion.java        |    28 +
 .../main/resources/sharing-registry-derby.sql   |     3 +-
 .../main/resources/sharing-registry-mysql.sql   |     1 +
 .../airavata/sharing/registry/CipresTest.java   |     5 +-
 .../SharingRegistryServerHandlerTest.java       |     5 +-
 .../registry/SharingRegistryServiceTest.java    |    33 +-
 .../sharing/registry/util/Initialize.java       |     4 +-
 .../sharing-registry-stubs/pom.xml              |    26 +
 .../SharingRegistryServiceClientFactory.java    |     6 +-
 .../sharing/registry/models/Domain.java         |    19 +
 .../sharing/registry/models/Entity.java         |   167 +-
 .../registry/models/EntitySearchField.java      |    25 +-
 .../sharing/registry/models/EntityType.java     |    19 +
 .../registry/models/GroupCardinality.java       |    19 +
 .../sharing/registry/models/GroupChildType.java |    19 +
 .../registry/models/GroupMembership.java        |    19 +
 .../sharing/registry/models/GroupType.java      |    19 +
 .../sharing/registry/models/PermissionType.java |    19 +
 .../registry/models/SearchCondition.java        |    23 +-
 .../sharing/registry/models/SearchCriteria.java |    19 +
 .../sharing/registry/models/Sharing.java        |    19 +
 .../models/SharingRegistryException.java        |    19 +
 .../sharing/registry/models/SharingType.java    |    19 +
 .../airavata/sharing/registry/models/User.java  |    19 +
 .../sharing/registry/models/UserGroup.java      |    19 +
 .../models/sharing_modelsConstants.java         |    19 +
 .../service/cpi/SharingRegistryService.java     | 19874 ++++--
 .../sharing-service-docs/api-docs/index.html    |   146 +
 .../api-docs/sharing_cpi.html                   |    64 +-
 .../api-docs/sharing_models.html                |    55 +-
 .../sharing-service-docs/api-docs/style.css     |    22 +-
 .../sharing-service-docs/index.html             |    21 +
 .../sharing-service-docs/style.css              |    22 +-
 .../thrift_models/sharing_cpi.thrift            |    33 +-
 .../thrift_models/sharing_models.thrift         |    15 +-
 .../thrift_models/thrift-gen.sh                 |    24 +-
 .../test-suite/multi-tenanted-airavata/pom.xml  |    26 +-
 .../multitenantedairavata/AiravataClient.java   |     6 +-
 .../multitenantedairavata/AiravataIT.java       |     6 +-
 .../ApplicationRegister.java                    |     6 +-
 .../ComputeResourceRegister.java                |     6 +-
 .../ExperimentExecution.java                    |     6 +-
 .../FrameworkBootstrapping.java                 |    19 +
 .../multitenantedairavata/FrameworkSetup.java   |     6 +-
 .../multitenantedairavata/GatewayRegister.java  |     6 +-
 .../StorageResourceRegister.java                |    19 +
 .../TestFrameworkProps.java                     |     6 +-
 .../utils/ApplicationProperties.java            |    19 +
 .../utils/ComputeResourceProperties.java        |    19 +
 .../utils/FrameworkUtils.java                   |     6 +-
 .../utils/PropertyFileType.java                 |     6 +-
 .../utils/PropertyReader.java                   |     6 +-
 .../utils/TestFrameworkConstants.java           |     6 +-
 .../main/resources/airavata-server.properties   |    31 +-
 modules/test-suite/pom.xml                      |    26 +-
 modules/user-profile-migration/pom.xml          |    33 +-
 .../apache/airavata/ISLoginCredentialsDAO.java  |    59 -
 .../apache/airavata/IdentityServerClient.java   |   118 -
 .../airavata/KeycloakIdentityServerClient.java  |    77 +
 .../org/apache/airavata/MigrationManager.java   |    46 +-
 .../UserProfileAiravataThriftClient.java        |    12 +-
 .../org/apache/airavata/UserProfileDAO.java     |     4 +-
 .../airavata/Wso2ISLoginCredentialsDAO.java     |    78 +
 .../airavata/Wso2IdentityServerClient.java      |   137 +
 modules/user-profile/pom.xml                    |    29 -
 .../user-profile/user-profile-service/pom.xml   |    29 -
 .../user/profile/server/UserProfileServer.java  |   159 -
 .../server/UserProfileServiceHandler.java       |   139 -
 modules/user-profile/user-profile-stubs/pom.xml |    63 -
 .../userprofile/cpi/UserProfileService.java     |  7504 ---
 .../client/UserProfileServiceClientFactory.java |    43 -
 .../exception/UserProfileServiceException.java  |   407 -
 .../cpi/user_profile_cpiConstants.java          |    57 -
 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 |     4 +-
 .../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   |    19 +
 .../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    |     4 +-
 .../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  |     4 +-
 .../model/gpel/script/BPELScriptType.java       |     4 +-
 .../model/gpel/script/WorkflowWSDL.java         |     4 +-
 .../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    |     4 +-
 .../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          |    31 +-
 .../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  |     4 +-
 .../airavata/workflow/core/XmlFormatter.java    |     4 +-
 .../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     |     5 +-
 .../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 +
 pom.xml                                         |   102 +-
 sandbox/amqpwstunnel/python/amqpwstunnel.py     |    20 +
 sandbox/amqpwstunnel/wstest.html                |    21 +
 sandbox/job-status-rest-server/api_test.py      |    20 +
 sandbox/job-status-rest-server/app.py           |    20 +
 .../example/logfile_checker/generate_logs.sh    |    20 +
 .../example/logfile_checker/log_consumer.py     |    20 +
 .../example/logfile_checker/log_streamer.py     |    20 +
 .../simstream/example/logfile_checker/test.txt  |    20 +
 .../example/mem_streamer/memory_consumption.py  |    20 +
 .../example/mem_streamer/memory_streamer.py     |    20 +
 .../application/alanine_dipeptide.py            |    20 +
 .../example/openmm_example/openmm_consumer.py   |    20 +
 .../openmm_example/openmm_log_consumer.py       |    20 +
 .../openmm_example/openmm_rmsd_consumer.py      |    20 +
 .../example/openmm_example/openmm_streamer.py   |    20 +
 .../simstream/example/openmm_example/test.txt   |    20 +
 sandbox/simstream/setup.py                      |    20 +
 sandbox/simstream/simstream/__init__.py         |    20 +
 sandbox/simstream/simstream/datacollector.py    |    20 +
 sandbox/simstream/simstream/datareporter.py     |    20 +
 sandbox/simstream/simstream/eventhandler.py     |    20 +
 sandbox/simstream/simstream/eventmonitor.py     |    20 +
 .../simstream/simstream/pikaasyncconsumer.py    |    20 +
 sandbox/simstream/simstream/pikaproducer.py     |    20 +
 sandbox/simstream/simstream/simstream.py        |    20 +
 .../airavata-apis/airavata_api.thrift           |    42 +-
 .../airavata-apis/airavata_errors.thrift        |     9 +
 .../airavata-apis/db_event_model.thrift         |    81 +
 .../airavata-apis/messaging_events.thrift       |     3 +-
 .../component-cpis/generate-cpi-stubs.sh        |    32 +-
 .../component-cpis/registry-api.thrift          |    20 +-
 .../component-cpis/user-profile-cpi.thrift      |     2 +-
 .../data-models/airavata_data_models.thrift     |     6 +-
 .../application_deployment_model.thrift         |     3 +-
 .../replica_catalog_models.thrift               |    31 +-
 .../compute_resource_model.thrift               |     6 +-
 .../user_resource_profile_model.thrift          |     2 +-
 .../group_manager_model.thrift                  |    48 -
 .../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 +
 1792 files changed, 137341 insertions(+), 66743 deletions(-)
----------------------------------------------------------------------



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

Posted by sc...@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);
+      }
+    }
+  }
+
+}
+


[26/61] [abbrv] airavata git commit: fixing bug in parentPath dir

Posted by sc...@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/master
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);


[47/61] [abbrv] airavata git commit: Removing airavata-commons refrence from itself

Posted by sc...@apache.org.
Removing airavata-commons refrence from itself


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

Branch: refs/heads/master
Commit: 1cfda99ec345694c0115bdbed9432f7b47778015
Parents: aa68a44
Author: Ajinkya Dhamnaskar <ad...@umail.iu.edu>
Authored: Wed May 17 14:13:17 2017 -0400
Committer: Ajinkya Dhamnaskar <ad...@umail.iu.edu>
Committed: Wed May 17 14:13:17 2017 -0400

----------------------------------------------------------------------
 modules/commons/pom.xml | 5 -----
 1 file changed, 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/1cfda99e/modules/commons/pom.xml
----------------------------------------------------------------------
diff --git a/modules/commons/pom.xml b/modules/commons/pom.xml
index e4c1bab..b00c9ee 100644
--- a/modules/commons/pom.xml
+++ b/modules/commons/pom.xml
@@ -138,11 +138,6 @@
             <artifactId>logback-classic</artifactId>
             <version>${logback.version}</version>
         </dependency>
-        <dependency>
-            <groupId>org.apache.airavata</groupId>
-            <artifactId>airavata-commons</artifactId>
-            <version>0.17-SNAPSHOT</version>
-        </dependency>
     </dependencies>
 
     <properties>


[22/61] [abbrv] airavata git commit: removing mongodb user profile configuration

Posted by sc...@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/master
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


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

Posted by sc...@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)
  *


[57/61] [abbrv] airavata git commit: adding new API method to get the group memberships for a user

Posted by sc...@apache.org.
adding new API method to get the group memberships for a user


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

Branch: refs/heads/master
Commit: cb27490d668460afbbbef2953077e9121867f997
Parents: 701f36a
Author: scnakandala <su...@gmail.com>
Authored: Tue May 23 15:45:37 2017 -0400
Committer: scnakandala <su...@gmail.com>
Committed: Tue May 23 15:45:48 2017 -0400

----------------------------------------------------------------------
 .../repositories/GroupMembershipRepository.java |   13 +
 .../server/SharingRegistryServerHandler.java    |   12 +-
 .../SharingRegistryServerHandlerTest.java       |    4 +
 .../sharing/registry/models/Domain.java         |   19 -
 .../sharing/registry/models/Entity.java         |   19 -
 .../registry/models/EntitySearchField.java      |   19 -
 .../sharing/registry/models/EntityType.java     |   19 -
 .../registry/models/GroupCardinality.java       |   19 -
 .../sharing/registry/models/GroupChildType.java |   23 -
 .../registry/models/GroupMembership.java        |   19 -
 .../sharing/registry/models/GroupType.java      |   19 -
 .../sharing/registry/models/PermissionType.java |   19 -
 .../registry/models/SearchCondition.java        |   19 -
 .../sharing/registry/models/SearchCriteria.java |   19 -
 .../sharing/registry/models/Sharing.java        |   19 -
 .../models/SharingRegistryException.java        |   19 -
 .../sharing/registry/models/SharingType.java    |   19 -
 .../airavata/sharing/registry/models/User.java  |   19 -
 .../sharing/registry/models/UserGroup.java      |   19 -
 .../models/sharing_modelsConstants.java         |   19 -
 .../service/cpi/SharingRegistryService.java     | 4721 +++++++++++-------
 .../sharing-service-docs/api-docs/index.html    |  142 +-
 .../api-docs/sharing_cpi.html                   |   36 +-
 .../api-docs/sharing_models.html                |   30 +-
 .../sharing-service-docs/api-docs/style.css     |   22 +-
 .../thrift_models/sharing_cpi.thrift            |   11 +-
 .../thrift_models/sharing_models.thrift         |   10 +
 27 files changed, 2985 insertions(+), 2343 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/cb27490d/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/repositories/GroupMembershipRepository.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/repositories/GroupMembershipRepository.java b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/repositories/GroupMembershipRepository.java
index 12c26fe..2d98c89 100644
--- a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/repositories/GroupMembershipRepository.java
+++ b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/repositories/GroupMembershipRepository.java
@@ -60,6 +60,19 @@ public class GroupMembershipRepository extends AbstractRepository<GroupMembershi
         return groups;
     }
 
+    //TODO Replace with prepared statements
+    public List<UserGroup> getAllMemberGroupsForUser(String domainId, String userId) throws SharingRegistryException {
+        String queryString = "SELECT DISTINCT G FROM " + UserGroupEntity.class.getSimpleName() + " G, " + GroupMembershipEntity.class.getSimpleName()
+                + " GM WHERE GM." + DBConstants.GroupMembershipTable.PARENT_ID + " = G." + DBConstants.UserGroupTable.GROUP_ID + " AND " +
+                "GM." + DBConstants.GroupMembershipTable.DOMAIN_ID + " = G." + DBConstants.UserGroupTable.DOMAIN_ID + " AND " +
+                "GM." + DBConstants.GroupMembershipTable.DOMAIN_ID+"='"+domainId + "' AND "+
+                "GM." + DBConstants.GroupMembershipTable.CHILD_ID+"='"+userId + "' AND GM." + DBConstants.GroupMembershipTable.CHILD_TYPE
+                + "='" + GroupChildType.USER.toString() + "'";
+        UserGroupRepository userGroupRepository = new UserGroupRepository();
+        List<UserGroup> groups = userGroupRepository.select(queryString, 0, -1);
+        return groups;
+    }
+
     public List<GroupMembership> getAllParentMembershipsForChild(String domainId, String childId) throws SharingRegistryException {
         List<GroupMembership> finalParentGroups = new ArrayList<>();
         Map<String, String> filters = new HashMap<>();

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb27490d/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/server/SharingRegistryServerHandler.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/server/SharingRegistryServerHandler.java b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/server/SharingRegistryServerHandler.java
index f592793..30b7fb9 100644
--- a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/server/SharingRegistryServerHandler.java
+++ b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/server/SharingRegistryServerHandler.java
@@ -20,7 +20,6 @@
 package org.apache.airavata.sharing.registry.server;
 
 import org.apache.airavata.common.exception.ApplicationSettingsException;
-import org.apache.airavata.model.error.DuplicateEntryException;
 import org.apache.airavata.sharing.registry.db.entities.*;
 import org.apache.airavata.sharing.registry.db.repositories.*;
 import org.apache.airavata.sharing.registry.db.utils.DBConstants;
@@ -466,6 +465,17 @@ public class SharingRegistryServerHandler implements SharingRegistryService.Ifac
         }
     }
 
+    @Override
+    public List<UserGroup> getAllMemberGroupsForUser(String domainId, String userId) throws SharingRegistryException, TException {
+        try{
+            GroupMembershipRepository groupMembershipRepository = new GroupMembershipRepository();
+            return groupMembershipRepository.getAllMemberGroupsForUser(domainId, userId);
+        }catch (SharingRegistryException ex) {
+            logger.error(ex.getMessage(), ex);
+            throw ex;
+        }
+    }
+
     /**
      * * EntityType Operations
      * *

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb27490d/modules/sharing-registry/sharing-registry-server/src/test/java/org/apache/airavata/sharing/registry/SharingRegistryServerHandlerTest.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-server/src/test/java/org/apache/airavata/sharing/registry/SharingRegistryServerHandlerTest.java b/modules/sharing-registry/sharing-registry-server/src/test/java/org/apache/airavata/sharing/registry/SharingRegistryServerHandlerTest.java
index fb7f763..0e81e68 100644
--- a/modules/sharing-registry/sharing-registry-server/src/test/java/org/apache/airavata/sharing/registry/SharingRegistryServerHandlerTest.java
+++ b/modules/sharing-registry/sharing-registry-server/src/test/java/org/apache/airavata/sharing/registry/SharingRegistryServerHandlerTest.java
@@ -111,6 +111,7 @@ public class SharingRegistryServerHandlerTest {
         userGroup1.setUpdatedTime(System.currentTimeMillis());
 
         Assert.assertNotNull(sharingRegistryServerHandler.createGroup(userGroup1));
+        Assert.assertTrue(sharingRegistryServerHandler.getAllMemberGroupsForUser(domainId, userId1).size() == 1);
 
         UserGroup userGroup2 = new UserGroup();
         String groupName2 = "test-group-2." + System.currentTimeMillis();
@@ -128,7 +129,10 @@ public class SharingRegistryServerHandlerTest {
         Assert.assertNotNull(sharingRegistryServerHandler.createGroup(userGroup2));
 
         sharingRegistryServerHandler.addUsersToGroup(domainId, Arrays.asList(userId1), groupId1);
+
         sharingRegistryServerHandler.addUsersToGroup(domainId, Arrays.asList(userId2, userId3), groupId2);
+        Assert.assertTrue(sharingRegistryServerHandler.getAllMemberGroupsForUser(domainId, userId3).size() == 1);
+
         sharingRegistryServerHandler.addChildGroupsToParentGroup(domainId, Arrays.asList(groupId2), groupId1);
 
         Assert.assertTrue(sharingRegistryServerHandler.getGroupMembersOfTypeGroup(domainId, groupId1, 0, 10).size() == 1);

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb27490d/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Domain.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Domain.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Domain.java
index 9241ae6..a0e89a5 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Domain.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Domain.java
@@ -1,23 +1,4 @@
 /**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.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

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb27490d/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Entity.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Entity.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Entity.java
index 902c678..54064ab 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Entity.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Entity.java
@@ -1,23 +1,4 @@
 /**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.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

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb27490d/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/EntitySearchField.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/EntitySearchField.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/EntitySearchField.java
index 5445abf..2486d4f 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/EntitySearchField.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/EntitySearchField.java
@@ -1,23 +1,4 @@
 /**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.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

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb27490d/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/EntityType.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/EntityType.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/EntityType.java
index 177722d..5d7ce4c 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/EntityType.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/EntityType.java
@@ -1,23 +1,4 @@
 /**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.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

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb27490d/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupCardinality.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupCardinality.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupCardinality.java
index b6ac6c3..00641c6 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupCardinality.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupCardinality.java
@@ -1,23 +1,4 @@
 /**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.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

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb27490d/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupChildType.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupChildType.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupChildType.java
index cdb5903..8503159 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupChildType.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupChildType.java
@@ -1,23 +1,4 @@
 /**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.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
@@ -26,10 +7,6 @@
 package org.apache.airavata.sharing.registry.models;
 
 
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
 /**
  * <p>System internal data type to match group child types</p>
  * 

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb27490d/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupMembership.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupMembership.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupMembership.java
index 52d141d..02920b8 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupMembership.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupMembership.java
@@ -1,23 +1,4 @@
 /**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.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

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb27490d/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupType.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupType.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupType.java
index 04fd3dd..ee4f131 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupType.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupType.java
@@ -1,23 +1,4 @@
 /**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.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

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb27490d/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/PermissionType.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/PermissionType.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/PermissionType.java
index 5df9ee1..f05a484 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/PermissionType.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/PermissionType.java
@@ -1,23 +1,4 @@
 /**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.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

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb27490d/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SearchCondition.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SearchCondition.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SearchCondition.java
index 094e40d..bdeb721 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SearchCondition.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SearchCondition.java
@@ -1,23 +1,4 @@
 /**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.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

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb27490d/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SearchCriteria.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SearchCriteria.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SearchCriteria.java
index b90714b..c0fc452 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SearchCriteria.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SearchCriteria.java
@@ -1,23 +1,4 @@
 /**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.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

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb27490d/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Sharing.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Sharing.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Sharing.java
index 43f7805..203f8db 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Sharing.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Sharing.java
@@ -1,23 +1,4 @@
 /**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.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

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb27490d/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SharingRegistryException.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SharingRegistryException.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SharingRegistryException.java
index da15083..4eca646 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SharingRegistryException.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SharingRegistryException.java
@@ -1,23 +1,4 @@
 /**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.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

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb27490d/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SharingType.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SharingType.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SharingType.java
index 824a2d0..746b23b 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SharingType.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SharingType.java
@@ -1,23 +1,4 @@
 /**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.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

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb27490d/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/User.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/User.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/User.java
index 52839e7..37e9d34 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/User.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/User.java
@@ -1,23 +1,4 @@
 /**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.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

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb27490d/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/UserGroup.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/UserGroup.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/UserGroup.java
index 28b914e..1cd8a0a 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/UserGroup.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/UserGroup.java
@@ -1,23 +1,4 @@
 /**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.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

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb27490d/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/sharing_modelsConstants.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/sharing_modelsConstants.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/sharing_modelsConstants.java
index b6b921a..07fc3c7 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/sharing_modelsConstants.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/sharing_modelsConstants.java
@@ -1,23 +1,4 @@
 /**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.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


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

Posted by sc...@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)
  *


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

Posted by sc...@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


[52/61] [abbrv] airavata git commit: merging airavata pull request 110: Airavata build failures

Posted by sc...@apache.org.
merging airavata pull request 110: Airavata build failures


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

Branch: refs/heads/master
Commit: d71c2aa8f3091c385241419f8254486a968923d4
Parents: 11f12df 706e01d
Author: scnakandala <su...@gmail.com>
Authored: Mon May 22 12:17:50 2017 -0400
Committer: scnakandala <su...@gmail.com>
Committed: Mon May 22 12:17:50 2017 -0400

----------------------------------------------------------------------
 airavata-api/airavata-api-server/pom.xml                 |  5 -----
 modules/commons/pom.xml                                  |  6 ------
 modules/user-profile-migration/pom.xml                   |  2 +-
 .../main/java/org/apache/airavata/MigrationManager.java  |  8 +++++---
 .../apache/airavata/UserProfileAiravataThriftClient.java | 11 ++++-------
 5 files changed, 10 insertions(+), 22 deletions(-)
----------------------------------------------------------------------



[25/61] [abbrv] airavata git commit: fixing bug in moving checkpoint files

Posted by sc...@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/master
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");


[58/61] [abbrv] airavata git commit: adding missing file

Posted by sc...@apache.org.
adding missing file


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

Branch: refs/heads/master
Commit: 0a6afd12e8f5a6f2be9e9e6e8b85bb7efc51eff4
Parents: cb27490
Author: scnakandala <su...@gmail.com>
Authored: Tue May 23 15:53:37 2017 -0400
Committer: scnakandala <su...@gmail.com>
Committed: Tue May 23 15:53:37 2017 -0400

----------------------------------------------------------------------
 .../models/DuplicateEntryException.java         | 398 +++++++++++++++++++
 1 file changed, 398 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/0a6afd12/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/DuplicateEntryException.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/DuplicateEntryException.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/DuplicateEntryException.java
new file mode 100644
index 0000000..2fec596
--- /dev/null
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/DuplicateEntryException.java
@@ -0,0 +1,398 @@
+/**
+ * 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.sharing.registry.models;
+
+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"})
+/**
+ * This exception is thrown when you try to save a duplicate entity that already exists
+ *   in the database.
+ * 
+ *   message: contains the associated error message
+ * 
+ */
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)")
+public class DuplicateEntryException extends TException implements org.apache.thrift.TBase<DuplicateEntryException, DuplicateEntryException._Fields>, java.io.Serializable, Cloneable, Comparable<DuplicateEntryException> {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("DuplicateEntryException");
+
+  private static final org.apache.thrift.protocol.TField MESSAGE_FIELD_DESC = new org.apache.thrift.protocol.TField("message", org.apache.thrift.protocol.TType.STRING, (short)1);
+
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new DuplicateEntryExceptionStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new DuplicateEntryExceptionTupleSchemeFactory());
+  }
+
+  public String message; // 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 {
+    MESSAGE((short)1, "message");
+
+    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: // MESSAGE
+          return MESSAGE;
+        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.MESSAGE, new org.apache.thrift.meta_data.FieldMetaData("message", 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(DuplicateEntryException.class, metaDataMap);
+  }
+
+  public DuplicateEntryException() {
+  }
+
+  public DuplicateEntryException(
+    String message)
+  {
+    this();
+    this.message = message;
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public DuplicateEntryException(DuplicateEntryException other) {
+    if (other.isSetMessage()) {
+      this.message = other.message;
+    }
+  }
+
+  public DuplicateEntryException deepCopy() {
+    return new DuplicateEntryException(this);
+  }
+
+  @Override
+  public void clear() {
+    this.message = null;
+  }
+
+  public String getMessage() {
+    return this.message;
+  }
+
+  public DuplicateEntryException setMessage(String message) {
+    this.message = message;
+    return this;
+  }
+
+  public void unsetMessage() {
+    this.message = null;
+  }
+
+  /** Returns true if field message is set (has been assigned a value) and false otherwise */
+  public boolean isSetMessage() {
+    return this.message != null;
+  }
+
+  public void setMessageIsSet(boolean value) {
+    if (!value) {
+      this.message = null;
+    }
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case MESSAGE:
+      if (value == null) {
+        unsetMessage();
+      } else {
+        setMessage((String)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case MESSAGE:
+      return getMessage();
+
+    }
+    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 MESSAGE:
+      return isSetMessage();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof DuplicateEntryException)
+      return this.equals((DuplicateEntryException)that);
+    return false;
+  }
+
+  public boolean equals(DuplicateEntryException that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_message = true && this.isSetMessage();
+    boolean that_present_message = true && that.isSetMessage();
+    if (this_present_message || that_present_message) {
+      if (!(this_present_message && that_present_message))
+        return false;
+      if (!this.message.equals(that.message))
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    List<Object> list = new ArrayList<Object>();
+
+    boolean present_message = true && (isSetMessage());
+    list.add(present_message);
+    if (present_message)
+      list.add(message);
+
+    return list.hashCode();
+  }
+
+  @Override
+  public int compareTo(DuplicateEntryException other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+
+    lastComparison = Boolean.valueOf(isSetMessage()).compareTo(other.isSetMessage());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetMessage()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.message, other.message);
+      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("DuplicateEntryException(");
+    boolean first = true;
+
+    sb.append("message:");
+    if (this.message == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.message);
+    }
+    first = false;
+    sb.append(")");
+    return sb.toString();
+  }
+
+  public void validate() throws org.apache.thrift.TException {
+    // check for required fields
+    if (message == null) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'message' was not present! 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 {
+      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 DuplicateEntryExceptionStandardSchemeFactory implements SchemeFactory {
+    public DuplicateEntryExceptionStandardScheme getScheme() {
+      return new DuplicateEntryExceptionStandardScheme();
+    }
+  }
+
+  private static class DuplicateEntryExceptionStandardScheme extends StandardScheme<DuplicateEntryException> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, DuplicateEntryException 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: // MESSAGE
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.message = iprot.readString();
+              struct.setMessageIsSet(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, DuplicateEntryException struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.message != null) {
+        oprot.writeFieldBegin(MESSAGE_FIELD_DESC);
+        oprot.writeString(struct.message);
+        oprot.writeFieldEnd();
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class DuplicateEntryExceptionTupleSchemeFactory implements SchemeFactory {
+    public DuplicateEntryExceptionTupleScheme getScheme() {
+      return new DuplicateEntryExceptionTupleScheme();
+    }
+  }
+
+  private static class DuplicateEntryExceptionTupleScheme extends TupleScheme<DuplicateEntryException> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, DuplicateEntryException struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      oprot.writeString(struct.message);
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, DuplicateEntryException struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      struct.message = iprot.readString();
+      struct.setMessageIsSet(true);
+    }
+  }
+
+}
+


[40/61] [abbrv] airavata git commit: AIRAVATA-2342 Simplifying resetUserPassword interface

Posted by sc...@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/master
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)


[19/61] [abbrv] airavata git commit: adding php namespace

Posted by sc...@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/master
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"


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

Posted by sc...@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,
 }


[61/61] [abbrv] airavata git commit: AIRAVATA-2342 remove UPDATE_PASSWORD required action when reset password

Posted by sc...@apache.org.
AIRAVATA-2342 remove UPDATE_PASSWORD required action when reset password

Keycloak automatically adds UPDATE_PASSWORD required action when
resetting the user's password with a temporary one. However, it doesn't
automatically remove the UPDATE_PASSWORD required action when resetting
the user's password with a non-temporary password, so this must be done
also in our code.


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

Branch: refs/heads/master
Commit: df6cfd7d2f68d6b1d6416a9665b49426b2d51710
Parents: ff0ccae
Author: Marcus Christie <ma...@apache.org>
Authored: Wed May 24 12:29:14 2017 -0400
Committer: Marcus Christie <ma...@apache.org>
Committed: Wed May 24 12:29:14 2017 -0400

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


http://git-wip-us.apache.org/repos/asf/airavata/blob/df6cfd7d/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 60a8f5d..bc57f7d 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
@@ -335,6 +335,10 @@ public class TenantManagementKeycloakImpl implements TenantManagementInterface {
                 credential.setValue(newPassword);
                 credential.setTemporary(false);
                 retrievedUser.resetPassword(credential);
+                // Remove the UPDATE_PASSWORD required action
+                UserRepresentation userRepresentation = retrievedUser.toRepresentation();
+                userRepresentation.getRequiredActions().remove("UPDATE_PASSWORD");
+                retrievedUser.update(userRepresentation);
                 return true;
             }else{
                 logger.error("requested User not found");


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

Posted by sc...@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)


[18/61] [abbrv] airavata git commit: Use firstName, lastName in KeyCloakImpl

Posted by sc...@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/master
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())


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

Posted by sc...@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"
 
 


[28/61] [abbrv] airavata git commit: Ansible: setting profile service host and port

Posted by sc...@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/master
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 }}


[48/61] [abbrv] airavata git commit: Renaming user-profile-stubs to profile-service-stubs

Posted by sc...@apache.org.
Renaming user-profile-stubs to profile-service-stubs


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

Branch: refs/heads/master
Commit: 78a3cafce78a0810b9c282419f420426e5cb18ff
Parents: 1cfda99
Author: Ajinkya Dhamnaskar <ad...@umail.iu.edu>
Authored: Wed May 17 14:13:59 2017 -0400
Committer: Ajinkya Dhamnaskar <ad...@umail.iu.edu>
Committed: Wed May 17 14:13:59 2017 -0400

----------------------------------------------------------------------
 modules/user-profile-migration/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/78a3cafc/modules/user-profile-migration/pom.xml
----------------------------------------------------------------------
diff --git a/modules/user-profile-migration/pom.xml b/modules/user-profile-migration/pom.xml
index c76610e..1baa85b 100755
--- a/modules/user-profile-migration/pom.xml
+++ b/modules/user-profile-migration/pom.xml
@@ -69,7 +69,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.airavata</groupId>
-            <artifactId>user-profile-stubs</artifactId>
+            <artifactId>profile-service-stubs</artifactId>
             <version>${project.version}</version>
         </dependency>
         <dependency>


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

Posted by sc...@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)


[56/61] [abbrv] airavata git commit: adding new API method to get the group memberships for a user

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/cb27490d/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/service/cpi/SharingRegistryService.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/service/cpi/SharingRegistryService.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/service/cpi/SharingRegistryService.java
index 60fa2b5..175fef6 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/service/cpi/SharingRegistryService.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/service/cpi/SharingRegistryService.java
@@ -1,23 +1,4 @@
 /**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.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
@@ -63,7 +44,7 @@ public class SharingRegistryService {
      * 
      * @param domain
      */
-    public String createDomain(org.apache.airavata.sharing.registry.models.Domain domain) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.model.error.DuplicateEntryException, org.apache.thrift.TException;
+    public String createDomain(org.apache.airavata.sharing.registry.models.Domain domain) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.sharing.registry.models.DuplicateEntryException, org.apache.thrift.TException;
 
     /**
      * <p>API method to update a domain</p>
@@ -106,7 +87,7 @@ public class SharingRegistryService {
      * 
      * @param user
      */
-    public String createUser(org.apache.airavata.sharing.registry.models.User user) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.model.error.DuplicateEntryException, org.apache.thrift.TException;
+    public String createUser(org.apache.airavata.sharing.registry.models.User user) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.sharing.registry.models.DuplicateEntryException, org.apache.thrift.TException;
 
     /**
      * <p>API method to update existing user</p>
@@ -254,12 +235,14 @@ public class SharingRegistryService {
      */
     public boolean removeChildGroupFromParentGroup(String domainId, String childId, String groupId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException;
 
+    public List<org.apache.airavata.sharing.registry.models.UserGroup> getAllMemberGroupsForUser(String domainId, String userId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException;
+
     /**
      * <p>API method to create a new entity type</p>
      * 
      * @param entityType
      */
-    public String createEntityType(org.apache.airavata.sharing.registry.models.EntityType entityType) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.model.error.DuplicateEntryException, org.apache.thrift.TException;
+    public String createEntityType(org.apache.airavata.sharing.registry.models.EntityType entityType) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.sharing.registry.models.DuplicateEntryException, org.apache.thrift.TException;
 
     /**
      * <p>API method to update entity type</p>
@@ -373,7 +356,7 @@ public class SharingRegistryService {
      * 
      * @param permissionType
      */
-    public String createPermissionType(org.apache.airavata.sharing.registry.models.PermissionType permissionType) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.model.error.DuplicateEntryException, org.apache.thrift.TException;
+    public String createPermissionType(org.apache.airavata.sharing.registry.models.PermissionType permissionType) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.sharing.registry.models.DuplicateEntryException, org.apache.thrift.TException;
 
     /**
      * <p>API method to update permission type</p>
@@ -519,6 +502,8 @@ public class SharingRegistryService {
 
     public void removeChildGroupFromParentGroup(String domainId, String childId, String groupId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
+    public void getAllMemberGroupsForUser(String domainId, String userId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
     public void createEntityType(org.apache.airavata.sharing.registry.models.EntityType entityType, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
     public void updateEntityType(org.apache.airavata.sharing.registry.models.EntityType entityType, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
@@ -591,7 +576,7 @@ public class SharingRegistryService {
       super(iprot, oprot);
     }
 
-    public String createDomain(org.apache.airavata.sharing.registry.models.Domain domain) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.model.error.DuplicateEntryException, org.apache.thrift.TException
+    public String createDomain(org.apache.airavata.sharing.registry.models.Domain domain) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.sharing.registry.models.DuplicateEntryException, org.apache.thrift.TException
     {
       send_createDomain(domain);
       return recv_createDomain();
@@ -604,7 +589,7 @@ public class SharingRegistryService {
       sendBase("createDomain", args);
     }
 
-    public String recv_createDomain() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.model.error.DuplicateEntryException, org.apache.thrift.TException
+    public String recv_createDomain() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.sharing.registry.models.DuplicateEntryException, org.apache.thrift.TException
     {
       createDomain_result result = new createDomain_result();
       receiveBase(result, "createDomain");
@@ -751,7 +736,7 @@ public class SharingRegistryService {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getDomains failed: unknown result");
     }
 
-    public String createUser(org.apache.airavata.sharing.registry.models.User user) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.model.error.DuplicateEntryException, org.apache.thrift.TException
+    public String createUser(org.apache.airavata.sharing.registry.models.User user) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.sharing.registry.models.DuplicateEntryException, org.apache.thrift.TException
     {
       send_createUser(user);
       return recv_createUser();
@@ -764,7 +749,7 @@ public class SharingRegistryService {
       sendBase("createUser", args);
     }
 
-    public String recv_createUser() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.model.error.DuplicateEntryException, org.apache.thrift.TException
+    public String recv_createUser() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.sharing.registry.models.DuplicateEntryException, org.apache.thrift.TException
     {
       createUser_result result = new createUser_result();
       receiveBase(result, "createUser");
@@ -1243,7 +1228,34 @@ public class SharingRegistryService {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "removeChildGroupFromParentGroup failed: unknown result");
     }
 
-    public String createEntityType(org.apache.airavata.sharing.registry.models.EntityType entityType) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.model.error.DuplicateEntryException, org.apache.thrift.TException
+    public List<org.apache.airavata.sharing.registry.models.UserGroup> getAllMemberGroupsForUser(String domainId, String userId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
+    {
+      send_getAllMemberGroupsForUser(domainId, userId);
+      return recv_getAllMemberGroupsForUser();
+    }
+
+    public void send_getAllMemberGroupsForUser(String domainId, String userId) throws org.apache.thrift.TException
+    {
+      getAllMemberGroupsForUser_args args = new getAllMemberGroupsForUser_args();
+      args.setDomainId(domainId);
+      args.setUserId(userId);
+      sendBase("getAllMemberGroupsForUser", args);
+    }
+
+    public List<org.apache.airavata.sharing.registry.models.UserGroup> recv_getAllMemberGroupsForUser() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
+    {
+      getAllMemberGroupsForUser_result result = new getAllMemberGroupsForUser_result();
+      receiveBase(result, "getAllMemberGroupsForUser");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.sre != null) {
+        throw result.sre;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllMemberGroupsForUser failed: unknown result");
+    }
+
+    public String createEntityType(org.apache.airavata.sharing.registry.models.EntityType entityType) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.sharing.registry.models.DuplicateEntryException, org.apache.thrift.TException
     {
       send_createEntityType(entityType);
       return recv_createEntityType();
@@ -1256,7 +1268,7 @@ public class SharingRegistryService {
       sendBase("createEntityType", args);
     }
 
-    public String recv_createEntityType() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.model.error.DuplicateEntryException, org.apache.thrift.TException
+    public String recv_createEntityType() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.sharing.registry.models.DuplicateEntryException, org.apache.thrift.TException
     {
       createEntityType_result result = new createEntityType_result();
       receiveBase(result, "createEntityType");
@@ -1626,7 +1638,7 @@ public class SharingRegistryService {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getListOfSharedGroups failed: unknown result");
     }
 
-    public String createPermissionType(org.apache.airavata.sharing.registry.models.PermissionType permissionType) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.model.error.DuplicateEntryException, org.apache.thrift.TException
+    public String createPermissionType(org.apache.airavata.sharing.registry.models.PermissionType permissionType) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.sharing.registry.models.DuplicateEntryException, org.apache.thrift.TException
     {
       send_createPermissionType(permissionType);
       return recv_createPermissionType();
@@ -1639,7 +1651,7 @@ public class SharingRegistryService {
       sendBase("createPermissionType", args);
     }
 
-    public String recv_createPermissionType() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.model.error.DuplicateEntryException, org.apache.thrift.TException
+    public String recv_createPermissionType() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.sharing.registry.models.DuplicateEntryException, org.apache.thrift.TException
     {
       createPermissionType_result result = new createPermissionType_result();
       receiveBase(result, "createPermissionType");
@@ -1977,7 +1989,7 @@ public class SharingRegistryService {
         prot.writeMessageEnd();
       }
 
-      public String getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.model.error.DuplicateEntryException, org.apache.thrift.TException {
+      public String getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.sharing.registry.models.DuplicateEntryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new IllegalStateException("Method call not finished!");
         }
@@ -2172,7 +2184,7 @@ public class SharingRegistryService {
         prot.writeMessageEnd();
       }
 
-      public String getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.model.error.DuplicateEntryException, org.apache.thrift.TException {
+      public String getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.sharing.registry.models.DuplicateEntryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new IllegalStateException("Method call not finished!");
         }
@@ -2798,6 +2810,41 @@ public class SharingRegistryService {
       }
     }
 
+    public void getAllMemberGroupsForUser(String domainId, String userId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      getAllMemberGroupsForUser_call method_call = new getAllMemberGroupsForUser_call(domainId, userId, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class getAllMemberGroupsForUser_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String domainId;
+      private String userId;
+      public getAllMemberGroupsForUser_call(String domainId, String userId, 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.domainId = domainId;
+        this.userId = userId;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllMemberGroupsForUser", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        getAllMemberGroupsForUser_args args = new getAllMemberGroupsForUser_args();
+        args.setDomainId(domainId);
+        args.setUserId(userId);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public List<org.apache.airavata.sharing.registry.models.UserGroup> getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, 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_getAllMemberGroupsForUser();
+      }
+    }
+
     public void createEntityType(org.apache.airavata.sharing.registry.models.EntityType entityType, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
       createEntityType_call method_call = new createEntityType_call(entityType, resultHandler, this, ___protocolFactory, ___transport);
@@ -2820,7 +2867,7 @@ public class SharingRegistryService {
         prot.writeMessageEnd();
       }
 
-      public String getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.model.error.DuplicateEntryException, org.apache.thrift.TException {
+      public String getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.sharing.registry.models.DuplicateEntryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new IllegalStateException("Method call not finished!");
         }
@@ -3316,7 +3363,7 @@ public class SharingRegistryService {
         prot.writeMessageEnd();
       }
 
-      public String getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.model.error.DuplicateEntryException, org.apache.thrift.TException {
+      public String getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.sharing.registry.models.DuplicateEntryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new IllegalStateException("Method call not finished!");
         }
@@ -3749,6 +3796,7 @@ public class SharingRegistryService {
       processMap.put("getGroupMembersOfTypeGroup", new getGroupMembersOfTypeGroup());
       processMap.put("addChildGroupsToParentGroup", new addChildGroupsToParentGroup());
       processMap.put("removeChildGroupFromParentGroup", new removeChildGroupFromParentGroup());
+      processMap.put("getAllMemberGroupsForUser", new getAllMemberGroupsForUser());
       processMap.put("createEntityType", new createEntityType());
       processMap.put("updateEntityType", new updateEntityType());
       processMap.put("isEntityTypeExists", new isEntityTypeExists());
@@ -3796,7 +3844,7 @@ public class SharingRegistryService {
           result.success = iface.createDomain(args.domain);
         } catch (org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
           result.sre = sre;
-        } catch (org.apache.airavata.model.error.DuplicateEntryException dee) {
+        } catch (org.apache.airavata.sharing.registry.models.DuplicateEntryException dee) {
           result.dee = dee;
         }
         return result;
@@ -3945,7 +3993,7 @@ public class SharingRegistryService {
           result.success = iface.createUser(args.user);
         } catch (org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
           result.sre = sre;
-        } catch (org.apache.airavata.model.error.DuplicateEntryException dee) {
+        } catch (org.apache.airavata.sharing.registry.models.DuplicateEntryException dee) {
           result.dee = dee;
         }
         return result;
@@ -4366,6 +4414,30 @@ public class SharingRegistryService {
       }
     }
 
+    public static class getAllMemberGroupsForUser<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getAllMemberGroupsForUser_args> {
+      public getAllMemberGroupsForUser() {
+        super("getAllMemberGroupsForUser");
+      }
+
+      public getAllMemberGroupsForUser_args getEmptyArgsInstance() {
+        return new getAllMemberGroupsForUser_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public getAllMemberGroupsForUser_result getResult(I iface, getAllMemberGroupsForUser_args args) throws org.apache.thrift.TException {
+        getAllMemberGroupsForUser_result result = new getAllMemberGroupsForUser_result();
+        try {
+          result.success = iface.getAllMemberGroupsForUser(args.domainId, args.userId);
+        } catch (org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+          result.sre = sre;
+        }
+        return result;
+      }
+    }
+
     public static class createEntityType<I extends Iface> extends org.apache.thrift.ProcessFunction<I, createEntityType_args> {
       public createEntityType() {
         super("createEntityType");
@@ -4385,7 +4457,7 @@ public class SharingRegistryService {
           result.success = iface.createEntityType(args.entityType);
         } catch (org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
           result.sre = sre;
-        } catch (org.apache.airavata.model.error.DuplicateEntryException dee) {
+        } catch (org.apache.airavata.sharing.registry.models.DuplicateEntryException dee) {
           result.dee = dee;
         }
         return result;
@@ -4729,7 +4801,7 @@ public class SharingRegistryService {
           result.success = iface.createPermissionType(args.permissionType);
         } catch (org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
           result.sre = sre;
-        } catch (org.apache.airavata.model.error.DuplicateEntryException dee) {
+        } catch (org.apache.airavata.sharing.registry.models.DuplicateEntryException dee) {
           result.dee = dee;
         }
         return result;
@@ -5021,6 +5093,7 @@ public class SharingRegistryService {
       processMap.put("getGroupMembersOfTypeGroup", new getGroupMembersOfTypeGroup());
       processMap.put("addChildGroupsToParentGroup", new addChildGroupsToParentGroup());
       processMap.put("removeChildGroupFromParentGroup", new removeChildGroupFromParentGroup());
+      processMap.put("getAllMemberGroupsForUser", new getAllMemberGroupsForUser());
       processMap.put("createEntityType", new createEntityType());
       processMap.put("updateEntityType", new updateEntityType());
       processMap.put("isEntityTypeExists", new isEntityTypeExists());
@@ -5081,8 +5154,8 @@ public class SharingRegistryService {
                         result.setSreIsSet(true);
                         msg = result;
             }
-            else             if (e instanceof org.apache.airavata.model.error.DuplicateEntryException) {
-                        result.dee = (org.apache.airavata.model.error.DuplicateEntryException) e;
+            else             if (e instanceof org.apache.airavata.sharing.registry.models.DuplicateEntryException) {
+                        result.dee = (org.apache.airavata.sharing.registry.models.DuplicateEntryException) e;
                         result.setDeeIsSet(true);
                         msg = result;
             }
@@ -5431,8 +5504,8 @@ public class SharingRegistryService {
                         result.setSreIsSet(true);
                         msg = result;
             }
-            else             if (e instanceof org.apache.airavata.model.error.DuplicateEntryException) {
-                        result.dee = (org.apache.airavata.model.error.DuplicateEntryException) e;
+            else             if (e instanceof org.apache.airavata.sharing.registry.models.DuplicateEntryException) {
+                        result.dee = (org.apache.airavata.sharing.registry.models.DuplicateEntryException) e;
                         result.setDeeIsSet(true);
                         msg = result;
             }
@@ -6434,20 +6507,20 @@ public class SharingRegistryService {
       }
     }
 
-    public static class createEntityType<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, createEntityType_args, String> {
-      public createEntityType() {
-        super("createEntityType");
+    public static class getAllMemberGroupsForUser<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllMemberGroupsForUser_args, List<org.apache.airavata.sharing.registry.models.UserGroup>> {
+      public getAllMemberGroupsForUser() {
+        super("getAllMemberGroupsForUser");
       }
 
-      public createEntityType_args getEmptyArgsInstance() {
-        return new createEntityType_args();
+      public getAllMemberGroupsForUser_args getEmptyArgsInstance() {
+        return new getAllMemberGroupsForUser_args();
       }
 
-      public AsyncMethodCallback<String> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.UserGroup>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<String>() { 
-          public void onComplete(String o) {
-            createEntityType_result result = new createEntityType_result();
+        return new AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.UserGroup>>() { 
+          public void onComplete(List<org.apache.airavata.sharing.registry.models.UserGroup> o) {
+            getAllMemberGroupsForUser_result result = new getAllMemberGroupsForUser_result();
             result.success = o;
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -6460,17 +6533,12 @@ public class SharingRegistryService {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            createEntityType_result result = new createEntityType_result();
+            getAllMemberGroupsForUser_result result = new getAllMemberGroupsForUser_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
                         result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
                         result.setSreIsSet(true);
                         msg = result;
             }
-            else             if (e instanceof org.apache.airavata.model.error.DuplicateEntryException) {
-                        result.dee = (org.apache.airavata.model.error.DuplicateEntryException) e;
-                        result.setDeeIsSet(true);
-                        msg = result;
-            }
              else 
             {
               msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
@@ -6491,27 +6559,26 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, createEntityType_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
-        iface.createEntityType(args.entityType,resultHandler);
+      public void start(I iface, getAllMemberGroupsForUser_args args, org.apache.thrift.async.AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.UserGroup>> resultHandler) throws TException {
+        iface.getAllMemberGroupsForUser(args.domainId, args.userId,resultHandler);
       }
     }
 
-    public static class updateEntityType<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateEntityType_args, Boolean> {
-      public updateEntityType() {
-        super("updateEntityType");
+    public static class createEntityType<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, createEntityType_args, String> {
+      public createEntityType() {
+        super("createEntityType");
       }
 
-      public updateEntityType_args getEmptyArgsInstance() {
-        return new updateEntityType_args();
+      public createEntityType_args getEmptyArgsInstance() {
+        return new createEntityType_args();
       }
 
-      public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<String> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Boolean>() { 
-          public void onComplete(Boolean o) {
-            updateEntityType_result result = new updateEntityType_result();
+        return new AsyncMethodCallback<String>() { 
+          public void onComplete(String o) {
+            createEntityType_result result = new createEntityType_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -6523,12 +6590,17 @@ public class SharingRegistryService {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            updateEntityType_result result = new updateEntityType_result();
+            createEntityType_result result = new createEntityType_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
                         result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
                         result.setSreIsSet(true);
                         msg = result;
             }
+            else             if (e instanceof org.apache.airavata.sharing.registry.models.DuplicateEntryException) {
+                        result.dee = (org.apache.airavata.sharing.registry.models.DuplicateEntryException) e;
+                        result.setDeeIsSet(true);
+                        msg = result;
+            }
              else 
             {
               msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
@@ -6549,25 +6621,25 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, updateEntityType_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
-        iface.updateEntityType(args.entityType,resultHandler);
+      public void start(I iface, createEntityType_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
+        iface.createEntityType(args.entityType,resultHandler);
       }
     }
 
-    public static class isEntityTypeExists<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, isEntityTypeExists_args, Boolean> {
-      public isEntityTypeExists() {
-        super("isEntityTypeExists");
+    public static class updateEntityType<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateEntityType_args, Boolean> {
+      public updateEntityType() {
+        super("updateEntityType");
       }
 
-      public isEntityTypeExists_args getEmptyArgsInstance() {
-        return new isEntityTypeExists_args();
+      public updateEntityType_args getEmptyArgsInstance() {
+        return new updateEntityType_args();
       }
 
       public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new AsyncMethodCallback<Boolean>() { 
           public void onComplete(Boolean o) {
-            isEntityTypeExists_result result = new isEntityTypeExists_result();
+            updateEntityType_result result = new updateEntityType_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -6581,7 +6653,7 @@ public class SharingRegistryService {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            isEntityTypeExists_result result = new isEntityTypeExists_result();
+            updateEntityType_result result = new updateEntityType_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
                         result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
                         result.setSreIsSet(true);
@@ -6607,25 +6679,25 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, isEntityTypeExists_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
-        iface.isEntityTypeExists(args.domainId, args.entityTypeId,resultHandler);
+      public void start(I iface, updateEntityType_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
+        iface.updateEntityType(args.entityType,resultHandler);
       }
     }
 
-    public static class deleteEntityType<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteEntityType_args, Boolean> {
-      public deleteEntityType() {
-        super("deleteEntityType");
+    public static class isEntityTypeExists<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, isEntityTypeExists_args, Boolean> {
+      public isEntityTypeExists() {
+        super("isEntityTypeExists");
       }
 
-      public deleteEntityType_args getEmptyArgsInstance() {
-        return new deleteEntityType_args();
+      public isEntityTypeExists_args getEmptyArgsInstance() {
+        return new isEntityTypeExists_args();
       }
 
       public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new AsyncMethodCallback<Boolean>() { 
           public void onComplete(Boolean o) {
-            deleteEntityType_result result = new deleteEntityType_result();
+            isEntityTypeExists_result result = new isEntityTypeExists_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -6639,121 +6711,7 @@ public class SharingRegistryService {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            deleteEntityType_result result = new deleteEntityType_result();
-            if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
-                        result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
-                        result.setSreIsSet(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, deleteEntityType_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
-        iface.deleteEntityType(args.domainId, args.entityTypeId,resultHandler);
-      }
-    }
-
-    public static class getEntityType<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getEntityType_args, org.apache.airavata.sharing.registry.models.EntityType> {
-      public getEntityType() {
-        super("getEntityType");
-      }
-
-      public getEntityType_args getEmptyArgsInstance() {
-        return new getEntityType_args();
-      }
-
-      public AsyncMethodCallback<org.apache.airavata.sharing.registry.models.EntityType> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
-        final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<org.apache.airavata.sharing.registry.models.EntityType>() { 
-          public void onComplete(org.apache.airavata.sharing.registry.models.EntityType o) {
-            getEntityType_result result = new getEntityType_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;
-            getEntityType_result result = new getEntityType_result();
-            if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
-                        result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
-                        result.setSreIsSet(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, getEntityType_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.sharing.registry.models.EntityType> resultHandler) throws TException {
-        iface.getEntityType(args.domainId, args.entityTypeId,resultHandler);
-      }
-    }
-
-    public static class getEntityTypes<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getEntityTypes_args, List<org.apache.airavata.sharing.registry.models.EntityType>> {
-      public getEntityTypes() {
-        super("getEntityTypes");
-      }
-
-      public getEntityTypes_args getEmptyArgsInstance() {
-        return new getEntityTypes_args();
-      }
-
-      public AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.EntityType>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
-        final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.EntityType>>() { 
-          public void onComplete(List<org.apache.airavata.sharing.registry.models.EntityType> o) {
-            getEntityTypes_result result = new getEntityTypes_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;
-            getEntityTypes_result result = new getEntityTypes_result();
+            isEntityTypeExists_result result = new isEntityTypeExists_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
                         result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
                         result.setSreIsSet(true);
@@ -6779,26 +6737,27 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, getEntityTypes_args args, org.apache.thrift.async.AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.EntityType>> resultHandler) throws TException {
-        iface.getEntityTypes(args.domainId, args.offset, args.limit,resultHandler);
+      public void start(I iface, isEntityTypeExists_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
+        iface.isEntityTypeExists(args.domainId, args.entityTypeId,resultHandler);
       }
     }
 
-    public static class createEntity<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, createEntity_args, String> {
-      public createEntity() {
-        super("createEntity");
+    public static class deleteEntityType<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteEntityType_args, Boolean> {
+      public deleteEntityType() {
+        super("deleteEntityType");
       }
 
-      public createEntity_args getEmptyArgsInstance() {
-        return new createEntity_args();
+      public deleteEntityType_args getEmptyArgsInstance() {
+        return new deleteEntityType_args();
       }
 
-      public AsyncMethodCallback<String> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<String>() { 
-          public void onComplete(String o) {
-            createEntity_result result = new createEntity_result();
+        return new AsyncMethodCallback<Boolean>() { 
+          public void onComplete(Boolean o) {
+            deleteEntityType_result result = new deleteEntityType_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -6810,7 +6769,7 @@ public class SharingRegistryService {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            createEntity_result result = new createEntity_result();
+            deleteEntityType_result result = new deleteEntityType_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
                         result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
                         result.setSreIsSet(true);
@@ -6836,27 +6795,26 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, createEntity_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
-        iface.createEntity(args.entity,resultHandler);
+      public void start(I iface, deleteEntityType_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
+        iface.deleteEntityType(args.domainId, args.entityTypeId,resultHandler);
       }
     }
 
-    public static class updateEntity<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateEntity_args, Boolean> {
-      public updateEntity() {
-        super("updateEntity");
+    public static class getEntityType<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getEntityType_args, org.apache.airavata.sharing.registry.models.EntityType> {
+      public getEntityType() {
+        super("getEntityType");
       }
 
-      public updateEntity_args getEmptyArgsInstance() {
-        return new updateEntity_args();
+      public getEntityType_args getEmptyArgsInstance() {
+        return new getEntityType_args();
       }
 
-      public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<org.apache.airavata.sharing.registry.models.EntityType> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Boolean>() { 
-          public void onComplete(Boolean o) {
-            updateEntity_result result = new updateEntity_result();
+        return new AsyncMethodCallback<org.apache.airavata.sharing.registry.models.EntityType>() { 
+          public void onComplete(org.apache.airavata.sharing.registry.models.EntityType o) {
+            getEntityType_result result = new getEntityType_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -6868,7 +6826,7 @@ public class SharingRegistryService {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            updateEntity_result result = new updateEntity_result();
+            getEntityType_result result = new getEntityType_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
                         result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
                         result.setSreIsSet(true);
@@ -6894,27 +6852,26 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, updateEntity_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
-        iface.updateEntity(args.entity,resultHandler);
+      public void start(I iface, getEntityType_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.sharing.registry.models.EntityType> resultHandler) throws TException {
+        iface.getEntityType(args.domainId, args.entityTypeId,resultHandler);
       }
     }
 
-    public static class isEntityExists<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, isEntityExists_args, Boolean> {
-      public isEntityExists() {
-        super("isEntityExists");
+    public static class getEntityTypes<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getEntityTypes_args, List<org.apache.airavata.sharing.registry.models.EntityType>> {
+      public getEntityTypes() {
+        super("getEntityTypes");
       }
 
-      public isEntityExists_args getEmptyArgsInstance() {
-        return new isEntityExists_args();
+      public getEntityTypes_args getEmptyArgsInstance() {
+        return new getEntityTypes_args();
       }
 
-      public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.EntityType>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Boolean>() { 
-          public void onComplete(Boolean o) {
-            isEntityExists_result result = new isEntityExists_result();
+        return new AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.EntityType>>() { 
+          public void onComplete(List<org.apache.airavata.sharing.registry.models.EntityType> o) {
+            getEntityTypes_result result = new getEntityTypes_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -6926,7 +6883,7 @@ public class SharingRegistryService {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            isEntityExists_result result = new isEntityExists_result();
+            getEntityTypes_result result = new getEntityTypes_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
                         result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
                         result.setSreIsSet(true);
@@ -6952,27 +6909,26 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, isEntityExists_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
-        iface.isEntityExists(args.domainId, args.entityId,resultHandler);
+      public void start(I iface, getEntityTypes_args args, org.apache.thrift.async.AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.EntityType>> resultHandler) throws TException {
+        iface.getEntityTypes(args.domainId, args.offset, args.limit,resultHandler);
       }
     }
 
-    public static class deleteEntity<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteEntity_args, Boolean> {
-      public deleteEntity() {
-        super("deleteEntity");
+    public static class createEntity<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, createEntity_args, String> {
+      public createEntity() {
+        super("createEntity");
       }
 
-      public deleteEntity_args getEmptyArgsInstance() {
-        return new deleteEntity_args();
+      public createEntity_args getEmptyArgsInstance() {
+        return new createEntity_args();
       }
 
-      public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<String> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Boolean>() { 
-          public void onComplete(Boolean o) {
-            deleteEntity_result result = new deleteEntity_result();
+        return new AsyncMethodCallback<String>() { 
+          public void onComplete(String o) {
+            createEntity_result result = new createEntity_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -6984,7 +6940,7 @@ public class SharingRegistryService {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            deleteEntity_result result = new deleteEntity_result();
+            createEntity_result result = new createEntity_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
                         result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
                         result.setSreIsSet(true);
@@ -7010,26 +6966,27 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, deleteEntity_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
-        iface.deleteEntity(args.domainId, args.entityId,resultHandler);
+      public void start(I iface, createEntity_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
+        iface.createEntity(args.entity,resultHandler);
       }
     }
 
-    public static class getEntity<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getEntity_args, org.apache.airavata.sharing.registry.models.Entity> {
-      public getEntity() {
-        super("getEntity");
+    public static class updateEntity<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateEntity_args, Boolean> {
+      public updateEntity() {
+        super("updateEntity");
       }
 
-      public getEntity_args getEmptyArgsInstance() {
-        return new getEntity_args();
+      public updateEntity_args getEmptyArgsInstance() {
+        return new updateEntity_args();
       }
 
-      public AsyncMethodCallback<org.apache.airavata.sharing.registry.models.Entity> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<org.apache.airavata.sharing.registry.models.Entity>() { 
-          public void onComplete(org.apache.airavata.sharing.registry.models.Entity o) {
-            getEntity_result result = new getEntity_result();
+        return new AsyncMethodCallback<Boolean>() { 
+          public void onComplete(Boolean o) {
+            updateEntity_result result = new updateEntity_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -7041,7 +6998,7 @@ public class SharingRegistryService {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            getEntity_result result = new getEntity_result();
+            updateEntity_result result = new updateEntity_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
                         result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
                         result.setSreIsSet(true);
@@ -7067,26 +7024,27 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, getEntity_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.sharing.registry.models.Entity> resultHandler) throws TException {
-        iface.getEntity(args.domainId, args.entityId,resultHandler);
+      public void start(I iface, updateEntity_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
+        iface.updateEntity(args.entity,resultHandler);
       }
     }
 
-    public static class searchEntities<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, searchEntities_args, List<org.apache.airavata.sharing.registry.models.Entity>> {
-      public searchEntities() {
-        super("searchEntities");
+    public static class isEntityExists<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, isEntityExists_args, Boolean> {
+      public isEntityExists() {
+        super("isEntityExists");
       }
 
-      public searchEntities_args getEmptyArgsInstance() {
-        return new searchEntities_args();
+      public isEntityExists_args getEmptyArgsInstance() {
+        return new isEntityExists_args();
       }
 
-      public AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.Entity>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.Entity>>() { 
-          public void onComplete(List<org.apache.airavata.sharing.registry.models.Entity> o) {
-            searchEntities_result result = new searchEntities_result();
+        return new AsyncMethodCallback<Boolean>() { 
+          public void onComplete(Boolean o) {
+            isEntityExists_result result = new isEntityExists_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -7098,7 +7056,7 @@ public class SharingRegistryService {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            searchEntities_result result = new searchEntities_result();
+            isEntityExists_result result = new isEntityExists_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
                         result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
                         result.setSreIsSet(true);
@@ -7124,26 +7082,27 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, searchEntities_args args, org.apache.thrift.async.AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.Entity>> resultHandler) throws TException {
-        iface.searchEntities(args.domainId, args.userId, args.filters, args.offset, args.limit,resultHandler);
+      public void start(I iface, isEntityExists_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
+        iface.isEntityExists(args.domainId, args.entityId,resultHandler);
       }
     }
 
-    public static class getListOfSharedUsers<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getListOfSharedUsers_args, List<org.apache.airavata.sharing.registry.models.User>> {
-      public getListOfSharedUsers() {
-        super("getListOfSharedUsers");
+    public static class deleteEntity<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteEntity_args, Boolean> {
+      public deleteEntity() {
+        super("deleteEntity");
       }
 
-      public getListOfSharedUsers_args getEmptyArgsInstance() {
-        return new getListOfSharedUsers_args();
+      public deleteEntity_args getEmptyArgsInstance() {
+        return new deleteEntity_args();
       }
 
-      public AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.User>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.User>>() { 
-          public void onComplete(List<org.apache.airavata.sharing.registry.models.User> o) {
-            getListOfSharedUsers_result result = new getListOfSharedUsers_result();
+        return new AsyncMethodCallback<Boolean>() { 
+          public void onComplete(Boolean o) {
+            deleteEntity_result result = new deleteEntity_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -7155,7 +7114,7 @@ public class SharingRegistryService {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            getListOfSharedUsers_result result = new getListOfSharedUsers_result();
+            deleteEntity_result result = new deleteEntity_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
                         result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
                         result.setSreIsSet(true);
@@ -7181,25 +7140,25 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, getListOfSharedUsers_args args, org.apache.thrift.async.AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.User>> resultHandler) throws TException {
-        iface.getListOfSharedUsers(args.domainId, args.entityId, args.permissionTypeId,resultHandler);
+      public void start(I iface, deleteEntity_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
+        iface.deleteEntity(args.domainId, args.entityId,resultHandler);
       }
     }
 
-    public static class getListOfSharedGroups<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getListOfSharedGroups_args, List<org.apache.airavata.sharing.registry.models.UserGroup>> {
-      public getListOfSharedGroups() {
-        super("getListOfSharedGroups");
+    public static class getEntity<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getEntity_args, org.apache.airavata.sharing.registry.models.Entity> {
+      public getEntity() {
+        super("getEntity");
       }
 
-      public getListOfSharedGroups_args getEmptyArgsInstance() {
-        return new getListOfSharedGroups_args();
+      public getEntity_args getEmptyArgsInstance() {
+        return new getEntity_args();
       }
 
-      public AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.UserGroup>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<org.apache.airavata.sharing.registry.models.Entity> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.UserGroup>>() { 
-          public void onComplete(List<org.apache.airavata.sharing.registry.models.UserGroup> o) {
-            getListOfSharedGroups_result result = new getListOfSharedGroups_result();
+        return new AsyncMethodCallback<org.apache.airavata.sharing.registry.models.Entity>() { 
+          public void onComplete(org.apache.airavata.sharing.registry.models.Entity o) {
+            getEntity_result result = new getEntity_result();
             result.success = o;
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -7212,7 +7171,7 @@ public class SharingRegistryService {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            getListOfSharedGroups_result result = new getListOfSharedGroups_result();
+            getEntity_result result = new getEntity_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
                         result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
                         result.setSreIsSet(true);
@@ -7238,25 +7197,25 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, getListOfSharedGroups_args args, org.apache.thrift.async.AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.UserGroup>> resultHandler) throws TException {
-        iface.getListOfSharedGroups(args.domainId, args.entityId, args.permissionTypeId,resultHandler);
+      public void start(I iface, getEntity_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.sharing.registry.models.Entity> resultHandler) throws TException {
+        iface.getEntity(args.domainId, args.entityId,resultHandler);
       }
     }
 
-    public static class createPermissionType<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, createPermissionType_args, String> {
-      public createPermissionType() {
-        super("createPermissionType");
+    public static class searchEntities<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, searchEntities_args, List<org.apache.airavata.sharing.registry.models.Entity>> {
+      public searchEntities() {
+        super("searchEntities");
       }
 
-      public createPermissionType_args getEmptyArgsInstance() {
-        return new createPermissionType_args();
+      public searchEntities_args getEmptyArgsInstance() {
+        return new searchEntities_args();
       }
 
-      public AsyncMethodCallback<String> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.Entity>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<String>() { 
-          public void onComplete(String o) {
-            createPermissionType_result result = new createPermissionType_result();
+        return new AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.Entity>>() { 
+          public void onComplete(List<org.apache.airavata.sharing.registry.models.Entity> o) {
+            searchEntities_result result = new searchEntities_result();
             result.success = o;
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -7269,17 +7228,12 @@ public class SharingRegistryService {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            createPermissionType_result result = new createPermissionType_result();
+            searchEntities_result result = new searchEntities_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
                         result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
                         result.setSreIsSet(true);
                         msg = result;
             }
-            else             if (e instanceof org.apache.airavata.model.error.DuplicateEntryException) {
-                        result.dee = (org.apache.airavata.model.error.DuplicateEntryException) e;
-                        result.setDeeIsSet(true);
-                        msg = result;
-            }
              else 
             {
               msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
@@ -7300,27 +7254,26 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, createPermissionType_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
-        iface.createPermissionType(args.permissionType,resultHandler);
+      public void start(I iface, searchEntities_args args, org.apache.thrift.async.AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.Entity>> resultHandler) throws TException {
+        iface.searchEntities(args.domainId, args.userId, args.filters, args.offset, args.limit,resultHandler);
       }
     }
 
-    public static class updatePermissionType<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updatePermissionType_args, Boolean> {
-      public updatePermissionType() {
-        super("updatePermissionType");
+    public static class getListOfSharedUsers<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getListOfSharedUsers_args, List<org.apache.airavata.sharing.registry.models.User>> {
+      public getListOfSharedUsers() {
+        super("getListOfSharedUsers");
       }
 
-      public updatePermissionType_args getEmptyArgsInstance() {
-        return new updatePermissionType_args();
+      public getListOfSharedUsers_args getEmptyArgsInstance() {
+        return new getListOfSharedUsers_args();
       }
 
-      public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.User>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Boolean>() { 
-          public void onComplete(Boolean o) {
-            updatePermissionType_result result = new updatePermissionType_result();
+        return new AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.User>>() { 
+          public void onComplete(List<org.apache.airavata.sharing.registry.models.User> o) {
+            getListOfSharedUsers_result result = new getListOfSharedUsers_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -7332,7 +7285,7 @@ public class SharingRegistryService {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            updatePermissionType_result result = new updatePermissionType_result();
+            getListOfSharedUsers_result result = new getListOfSharedUsers_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
                         result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
                         result.setSreIsSet(true);
@@ -7358,27 +7311,26 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, updatePermissionType_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
-        iface.updatePermissionType(args.permissionType,resultHandler);
+      public void start(I iface, getListOfSharedUsers_args args, org.apache.thrift.async.AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.User>> resultHandler) throws TException {
+        iface.getListOfSharedUsers(args.domainId, args.entityId, args.permissionTypeId,resultHandler);
       }
     }
 
-    public static class isPermissionExists<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, isPermissionExists_args, Boolean> {
-      public isPermissionExists() {
-        super("isPermissionExists");
+    public static class getListOfSharedGroups<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getListOfSharedGroups_args, List<org.apache.airavata.sharing.registry.models.UserGroup>> {
+      public getListOfSharedGroups() {
+        super("getListOfSharedGroups");
       }
 
-      public isPermissionExists_args getEmptyArgsInstance() {
-        return new isPermissionExists_args();
+      public getListOfSharedGroups_args getEmptyArgsInstance() {
+        return new getListOfSharedGroups_args();
       }
 
-      public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.UserGroup>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Boolean>() { 
-          public void onComplete(Boolean o) {
-            isPermissionExists_result result = new isPermissionExists_result();
+        return new AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.UserGroup>>() { 
+          public void onComplete(List<org.apache.airavata.sharing.registry.models.UserGroup> o) {
+            getListOfSharedGroups_result result = new getListOfSharedGroups_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -7390,7 +7342,185 @@ public class SharingRegistryService {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            isPermissionExists_result result = new isPermissionExists_result();
+            getListOfSharedGroups_result result = new getListOfSharedGroups_result();
+            if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
+                        result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
+                        result.setSreIsSet(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, getListOfSharedGroups_args args, org.apache.thrift.async.AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.UserGroup>> resultHandler) throws TException {
+        iface.getListOfSharedGroups(args.domainId, args.entityId, args.permissionTypeId,resultHandler);
+      }
+    }
+
+    public static class createPermissionType<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, createPermissionType_args, String> {
+      public createPermissionType() {
+        super("createPermissionType");
+      }
+
+      public createPermissionType_args getEmptyArgsInstance() {
+        return new createPermissionType_args();
+      }
+
+      public AsyncMethodCallback<String> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new AsyncMethodCallback<String>() { 
+          public void onComplete(String o) {
+            createPermissionType_result result = new createPermissionType_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;
+            createPermissionType_result result = new createPermissionType_result();
+            if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
+                        result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
+                        result.setSreIsSet(true);
+                        msg = result;
+            }
+            else             if (e instanceof org.apache.airavata.sharing.registry.models.DuplicateEntryException) {
+                        result.dee = (org.apache.airavata.sharing.registry.models.DuplicateEntryException) e;
+                        result.setDeeIsSet(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, createPermissionType_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
+        iface.createPermissionType(args.permissionType,resultHandler);
+      }
+    }
+
+    public static class updatePermissionType<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updatePermissionType_args, Boolean> {
+      public updatePermissionType() {
+        super("updatePermissionType");
+      }
+
+      public updatePermissionType_args getEmptyArgsInstance() {
+        return new updatePermissionType_args();
+      }
+
+      public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new AsyncMethodCallback<Boolean>() { 
+          public void onComplete(Boolean o) {
+            updatePermissionType_result result = new updatePermissionType_result();
+            result.success = o;
+            result.setSuccessIsSet(true);
+            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;
+            updatePermissionType_result result = new updatePermissionType_result();
+            if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
+                        result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
+                        result.setSreIsSet(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, updatePermissionType_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
+        iface.updatePermissionType(args.permissionType,resultHandler);
+      }
+    }
+
+    public static class isPermissionExists<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, isPermissionExists_args, Boolean> {
+      public isPermissionExists() {
+        super("isPermissionExists");
+      }
+
+      public isPermissionExists_args getEmptyArgsInstance() {
+        return new isPermissionExists_args();
+      }
+
+      public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new AsyncMethodCallback<Boolean>() { 
+          public void onComplete(Boolean o) {
+            isPermissionExists_result result = new isPermissionExists_result();
+            result.success = o;
+            result.setSuccessIsSet(true);
+            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;
+            isPermissionExists_result result = new isPermissionExists_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
                         result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
                         result.setSreIsSet(true);
@@ -8259,7 +8389,7 @@ public class SharingRegistryService {
 
     public String success; // required
     public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
-    public org.apache.airavata.model.error.DuplicateEntryException dee; // required
+    public org.apache.airavata.sharing.registry.models.DuplicateEntryException dee; // 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 {
@@ -8345,7 +8475,7 @@ public class SharingRegistryService {
     public createDomain_result(
       String success,
       org.apache.airavata.sharing.registry.models.SharingRegistryException sre,
-      org.apache.airavata.model.error.DuplicateEntryException dee)
+      org.apache.airavata.sharing.registry.models.DuplicateEntryException dee)
     {
       this();
       this.success = success;
@@ -8364,7 +8494,7 @@ public class SharingRegistryService {
         this.sre = new org.apache.airavata.sharing.registry.models.SharingRegistryException(other.sre);
       }
       if (other.isSetDee()) {
-        this.dee = new org.apache.airavata.model.error.DuplicateEntryException(other.dee);
+        this.dee = new org.apache.airavata.sharing.registry.models.DuplicateEntryException(other.dee);
       }
     }
 
@@ -8427,11 +8557,11 @@ public class SharingRegistryService {
       }
     }
 
-    public org.apache.airavata.model.error.DuplicateEntryException getDee() {
+    public org.apache.airavata.sharing.registry.models.DuplicateEntryException getDee() {
       return this.dee;
     }
 
-    public createDomain_result setDee(org.apache.airavata.model.error.DuplicateEntryException dee) {
+    public createDomain_result setDee(org.apache.airavata.sharing.registry.models.DuplicateEntryException dee) {
       this.dee = dee;
       return this;
     }
@@ -8473,7 +8603,7 @@ public class SharingRegistryService {
         if (value == null) {
           unsetDee();
         } else {
-          setDee((org.apache.airavata.model.error.DuplicateEntryException)value);
+          setDee((org.apache.airavata.sharing.registry.models.DuplicateEntryException)value);
         }
         break;
 
@@ -8720,7 +8850,7 @@ public class SharingRegistryService {
               break;
             case 2: // DEE
               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.dee = new org.apache.airavata.model.error.DuplicateEntryException();
+                struct.dee = new org.apache.airavata.sharing.registry.models.DuplicateEntryException();
                 struct.dee.read(iprot);
                 struct.setDeeIsSet(true);
               } else { 
@@ -8810,7 +8940,7 @@ public class SharingRegistryService {
           struct.setSreIsSet(true);
         }
         if (incoming.get(2)) {
-          struct.dee = new org.apache.airavata.model.error.DuplicateEntryException();
+          struct.dee = new org.apache.airavata.sharing.registry.models.DuplicateEntryException();
           struct.dee.read(iprot);
           struct.setDeeIsSet(true);
         }
@@ -13462,7 +13592,7 @@ public class SharingRegistryService {
 
     public String success; // required
     public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
-    public org.apache.airavata.model.error.DuplicateEntryException dee; // required
+    public org.apache.airavata.sharing.registry.models.DuplicateEntryException dee; // 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 {
@@ -13548,7 +13678,7 @@ public class SharingRegistryService {
     public createUser_result(
       String success,
       org.apache.airavata.sharing.registry.models.SharingRegistryException sre,
-      org.apache.airavata.model.error.DuplicateEntryException dee)
+      org.apache.airavata.sharing.registry.models.DuplicateEntryException dee)
     {
       this();
       this.success = success;
@@ -13567,7 +13697,7 @@ public class SharingRegistryService {
         this.sre = new org.apache.airavata.sharing.registry.models.SharingRegistryException(other.sre);
       }
       if (other.isSetDee()) {
-        this.dee = new org.apache.airavata.model.error.DuplicateEntryException(other.dee);
+        this.dee = new org.apache.airavata.sharing.registry.models.DuplicateEntryException(other.dee);
       }
     }
 
@@ -13630,11 +13760,11 @@ public class SharingRegistryService {
       }
     }
 
-    public org.apache.airavata.model.error.DuplicateEntryException getDee() {
+    public org.apache.airavata.sharing.registry.models.DuplicateEntryException getDee() {
       return this.dee;
     }
 
-    public createUser_result setDee(org.apache.airavata.model.error.DuplicateEntryException dee) {
+    public createUser_result setDee(org.apache.airavata.sharing.registry.models.DuplicateEntryException dee) {
       this.dee = dee;
       return this;
     }
@@ -13676,7 +13806,7 @@ public class SharingRegistryService {
         if (value == null) {
           unsetDee();
         } else {
-          setDee((org.apache.airavata.model.error.DuplicateEntryException)value);
+          setDee((org.apache.airavata.sharing.registry.models.DuplicateEntryException)value);
         }
         break;
 
@@ -13923,7 +14053,7 @@ public class SharingRegistryService {
               break;
             case 2: // DEE
               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.dee = new org.apache.airavata.model.error.DuplicateEntryException();
+                struct.dee = new org.apache.airavata.sharing.registry.models.DuplicateEntryException();
                 struct.dee.read(iprot);
                 struct.setDeeIsSet(true);
               } else { 
@@ -14013,7 +14143,7 @@ public class SharingRegistryService {
           struct.setSreIsSet(true);
         }
         if (incoming.get(2)) {
-          struct.dee = new org.apache.airavata.model.error.DuplicateEntryException();
+          struct.dee = new org.apache.airavata.sharing.registry.models.DuplicateEntryException();
           struct.dee.read(iprot);
           struct.setDeeIsSet(true);
         }
@@ -23749,80 +23879,1119 @@ public class SharingRegistryService {
     static {
       Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
       tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
-              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.sharing.registry.models.UserGroup.class))));
+          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
+              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.sharing.registry.models.UserGroup.class))));
+      metaDataMap = Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getGroups_result.class, metaDataMap);
+    }
+
+    public getGroups_result() {
+    }
+
+    public getGroups_result(
+      List<org.apache.airavata.sharing.registry.models.UserGroup> success)
+    {
+      this();
+      this.success = success;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    pu

<TRUNCATED>

[50/61] [abbrv] airavata git commit: Code clean up

Posted by sc...@apache.org.
Code clean up


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

Branch: refs/heads/master
Commit: 706e01d8d6039f2e8c98771dffbf092d44c6a8b7
Parents: 8462205
Author: Ajinkya Dhamnaskar <ad...@umail.iu.edu>
Authored: Wed May 17 14:55:52 2017 -0400
Committer: Ajinkya Dhamnaskar <ad...@umail.iu.edu>
Committed: Wed May 17 14:55:52 2017 -0400

----------------------------------------------------------------------
 modules/commons/pom.xml | 1 -
 1 file changed, 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/706e01d8/modules/commons/pom.xml
----------------------------------------------------------------------
diff --git a/modules/commons/pom.xml b/modules/commons/pom.xml
index b00c9ee..e0ad64e 100644
--- a/modules/commons/pom.xml
+++ b/modules/commons/pom.xml
@@ -139,7 +139,6 @@
             <version>${logback.version}</version>
         </dependency>
     </dependencies>
-
     <properties>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>


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

Posted by sc...@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>

[24/61] [abbrv] airavata git commit: AIRAVATA-2371 Fix profile service properties

Posted by sc...@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/master
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
 
 ###########################################################################


[53/61] [abbrv] airavata git commit: AIRAVATA-2371 Initialize trust store for IamAdminServices

Posted by sc...@apache.org.
AIRAVATA-2371 Initialize trust store for IamAdminServices


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

Branch: refs/heads/master
Commit: f19cc0cd9adf587d67c4245cf27dd1535c6d5332
Parents: d71c2aa
Author: Marcus Christie <ma...@apache.org>
Authored: Mon May 22 15:28:28 2017 -0400
Committer: Marcus Christie <ma...@apache.org>
Committed: Mon May 22 15:28:28 2017 -0400

----------------------------------------------------------------------
 .../profile/handlers/IamAdminServicesHandler.java    | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/f19cc0cd/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 e2abbbe..26fa1ed 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
@@ -21,15 +21,17 @@
 
 package org.apache.airavata.service.profile.handlers;
 
+import org.apache.airavata.common.utils.ServerSettings;
 import org.apache.airavata.model.credential.store.PasswordCredential;
 import org.apache.airavata.model.error.AuthorizationException;
 import org.apache.airavata.model.security.AuthzToken;
 import org.apache.airavata.model.user.UserProfile;
 import org.apache.airavata.model.workspace.Gateway;
+import org.apache.airavata.security.util.TrustStoreManager;
 import org.apache.airavata.service.profile.iam.admin.services.core.impl.TenantManagementKeycloakImpl;
 import org.apache.airavata.service.profile.iam.admin.services.cpi.IamAdminServices;
-import org.apache.airavata.service.profile.iam.admin.services.cpi.iam_admin_services_cpiConstants;
 import org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException;
+import org.apache.airavata.service.profile.iam.admin.services.cpi.iam_admin_services_cpiConstants;
 import org.apache.airavata.service.security.interceptor.SecurityCheck;
 import org.apache.thrift.TException;
 import org.slf4j.Logger;
@@ -41,6 +43,17 @@ public class IamAdminServicesHandler implements IamAdminServices.Iface {
 
     private final static Logger logger = LoggerFactory.getLogger(IamAdminServicesHandler.class);
 
+    public IamAdminServicesHandler() {
+
+        try {
+            //initialize SSL context with the trust store that contains the CA cert signing the Keycloak server cert
+            TrustStoreManager trustStoreManager = new TrustStoreManager();
+            trustStoreManager.initializeTrustStoreManager(ServerSettings.getTrustStorePath(),
+                    ServerSettings.getTrustStorePassword());
+        } catch (Exception e) {
+            throw new RuntimeException(e.getMessage(), e);
+        }
+    }
 
     @Override
     public String getAPIVersion(AuthzToken authzToken) throws IamAdminServicesException, AuthorizationException {


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

Posted by sc...@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();


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

Posted by sc...@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/master
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);
       }


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

Posted by sc...@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)
  *


[46/61] [abbrv] airavata git commit: Removing older reference to usr-profile-stubs

Posted by sc...@apache.org.
Removing older reference to usr-profile-stubs


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

Branch: refs/heads/master
Commit: aa68a44a5c7f25cb554ade1e8a79bba28c155511
Parents: 9f57e1f
Author: Ajinkya Dhamnaskar <ad...@umail.iu.edu>
Authored: Wed May 17 14:12:27 2017 -0400
Committer: Ajinkya Dhamnaskar <ad...@umail.iu.edu>
Committed: Wed May 17 14:12:27 2017 -0400

----------------------------------------------------------------------
 airavata-api/airavata-api-server/pom.xml | 5 -----
 1 file changed, 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/aa68a44a/airavata-api/airavata-api-server/pom.xml
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-server/pom.xml b/airavata-api/airavata-api-server/pom.xml
index 8cbb8fa..ada0b8f 100644
--- a/airavata-api/airavata-api-server/pom.xml
+++ b/airavata-api/airavata-api-server/pom.xml
@@ -165,11 +165,6 @@
         </dependency>
         <dependency>
             <groupId>org.apache.airavata</groupId>
-            <artifactId>user-profile-stubs</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.airavata</groupId>
             <artifactId>profile-service-stubs</artifactId>
             <version>${project.version}</version>
         </dependency>


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

Posted by sc...@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/master
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
----------------------------------------------------------------------


[30/61] [abbrv] airavata git commit: Dependency tweaks for the IamAdminServices Keycloak client

Posted by sc...@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/master
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>