airavata-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Shenoy, Gourav Ganesh" <>
Subject Re: Modifying the Profile Service
Date Fri, 09 Jun 2017 23:07:31 GMT
@Sneha, thank you for taking lead on this, and elaborating on the changes.


In addition to what Sneha mentioned below, I also wanted to add that we have introduced a
new AIRAVATA_INTERNAL_GATEWAY_ID field to the GatewayEntity (JPA entity) and Gateway (thrift
data model) classes. This field will now serve as the primary key for the Gateway table in
the Profile Service database. We earlier had the GATEWAY_ID as the primary key.

A gateway will be considered duplicate, if there exists a record in the Gateway table with
same GATEWAY_ID, GATEWAY_URL, and with status APPROVED. A user might submit multiple gateway
creation request with the same GATEWAY_ID (for any reason – one possibility is he forgets
his credentials and creates a new account to submit a new request, while previous one remains
UNAPPROVED). I just wanted to bring to notice this particular change.

Thanks and Regards,
Gourav Shenoy

From: Sneha Tilak <>
Reply-To: "" <>
Date: Friday, June 9, 2017 at 3:21 PM
To: "" <>
Subject: Modifying the Profile Service

Hello dev,

Last week, Eroma assigned me a JIRA ticket -
to check for duplicate gateway requests (if there already exists an APPROVED gateway with
the same Id/name/URL).

I created a PULL request - with a few changes
after which I received some suggestions from Marcus. The PULL request now reflects the following
code changes -

  1.  Added new method checkDuplicateGateway() in to identify
duplicate requests for Gateway Ids that have already been approved
  2.  Modified FIND_GATEWAY_BY_ID in to return only Approved Gateways
  3.  Added new method getAllGatewaysForUser() in as a Thrift
service to display gateways belonging to a particular user
  4.  Added new method getAllGatewaysForUser() in to retrieve
the GET_USER_GATEWAYS query result
  5.  Modified profile_tenant_cpi.thrift to include getAllGatewaysForUser() and generated
the stubs to reflect in Iface (
  6.  Added GET_USER_GATEWAYS in to return all Gateways belonging to a
particular user
  7.  Modified workspace_model.thrift to expose the Gateway's airavataInternalId to Update
and Delete Gateways and generated the stubs to reflect in
  8.  Modified deleteGateway() in profile_tenant_cpi.thrift to accept the airavataInternalId
as a parameter and generated the stubs to reflect in Iface (
Reviews/suggestions are welcome!

Sneha Tilak
View raw message