http://git-wip-us.apache.org/repos/asf/airavata/blob/87564d2b/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 3cef3e6..51d494f 100644
--- a/modules/sharing-registry/thrift_models/sharing_cpi.thrift
+++ b/modules/sharing-registry/thrift_models/sharing_cpi.thrift
@@ -25,73 +25,187 @@ include "./sharing_models.thrift"
 service SharingRegistryService {
 
     /**
-     * Domain Operations
-    **/
-    string createDomain(1: required sharing_models.Domain domain) throws (1: 
sharing_models.SharingRegistryException gre)
-    bool updateDomain(1: required sharing_models.Domain domain) throws (1: 
sharing_models.SharingRegistryException gre)
-    bool deleteDomain(1: required string domainId) throws (1: 
sharing_models.SharingRegistryException gre)
-    sharing_models.Domain getDomain(1: required string domainId) throws (1: 
sharing_models.SharingRegistryException gre)
-    list<sharing_models.Domain> getDomains(1: required i32 offset, 2: required 
i32 limit) throws (1: sharing_models.SharingRegistryException gre);
+      <p>API method to create a new domainId.</p>
+    */
+    string createDomain(1: required sharing_models.Domain domainId) throws (1: 
sharing_models.SharingRegistryException sre)
+    /**
+     <p>API method to update a domainId.</p>
+    */
+    bool updateDomain(1: required sharing_models.Domain domainId) throws (1: 
sharing_models.SharingRegistryException sre)
+    /**
+     <p>API method to delete domainId.</p>
+    */
+    bool deleteDomain(1: required string domainId) throws (1: 
sharing_models.SharingRegistryException sre)
+    /**
+     <p>API method to retrieve a domainId.</p>
+    */
+    sharing_models.Domain getDomain(1: required string domainId) throws (1: 
sharing_models.SharingRegistryException sre)
+    /**
+     <p>API method to get all domainIds.</p>
+    */
+    list<sharing_models.Domain> getDomains(1: required i32 offset, 2: required 
i32 limit) throws (1: sharing_models.SharingRegistryException sre);
+
+    /**
+     <p>API method to register a user in the system</p>
+    */
+    string registerUser(1: required sharing_models.User user) throws (1: 
sharing_models.SharingRegistryException sre)
+    /**
+     <p>API method to update existing user</p>
+    */
+    bool updatedUser(1: required sharing_models.User user) throws (1: 
sharing_models.SharingRegistryException sre)
+    /**
+     <p>API method to delete user</p>
+    */
+    bool deleteUser(1: required string userId) throws (1: 
sharing_models.SharingRegistryException sre)
+    /**
+     <p>API method to get a user</p>
+    */
+    sharing_models.User getUser(1: required string userId) throws (1: 
sharing_models.SharingRegistryException sre)
+    /**
+     <p>API method to get a list of users in a specific domainId. Users will 
be reverse sorted based on the created time.</p>
+     <li>domainId : Domain id</li>
+     <li>offset : Starting result number</li>
+     <li>limit : Number of max results to be sent</li>
+    */
+    list<sharing_models.User> getUsers(1: required string domainId, 2: 
required i32 offset, 3: required i32 limit) throws (1: 
sharing_models.SharingRegistryException sre);
 
     /**
-     * User Operations
-    **/
-    string createUser(1: required sharing_models.User user) throws (1: 
sharing_models.SharingRegistryException gre)
-    bool updatedUser(1: required sharing_models.User user) throws (1: 
sharing_models.SharingRegistryException gre)
-    bool deleteUser(1: required string userId) throws (1: 
sharing_models.SharingRegistryException gre)
-    sharing_models.User getUser(1: required string userId) throws (1: 
sharing_models.SharingRegistryException gre)
-    list<sharing_models.User> getUsers(1: required string domain, 2: required 
i32 offset, 3: required i32 limit) throws (1: 
sharing_models.SharingRegistryException gre);
+     <p>API method to create a new group</p>
+    */
+    string createGroup(1: required sharing_models.UserGroup group) throws (1: 
sharing_models.SharingRegistryException sre)
+    /**
+     <p>API method to update a group</p>
+    */
+    bool updateGroup(1: required sharing_models.UserGroup group) throws (1: 
sharing_models.SharingRegistryException sre)
+    /**
+     <p>API method to delete a group</p>
+    */
+    bool deleteGroup(1: required string groupId) throws (1: 
sharing_models.SharingRegistryException sre)
+    /**
+     <p>API method to get a group</p>
+    */
+    sharing_models.UserGroup getGroup(1: required string groupId) throws (1: 
sharing_models.SharingRegistryException sre)
+    /**
+     <p>API method to get groups in a domainId. Results are reverse sorted 
based on created time.</p>
+    */
+    list<sharing_models.UserGroup> getGroups(1: required string domainId, 2: 
required i32 offset, 3: required i32 limit)
+
+    /**
+     <p>API method to add list of users to a group</p>
+    */
+    bool addUsersToGroup(1: required list<string> userIds, 2: required string 
groupId) throws (1: sharing_models.SharingRegistryException sre);
+    /**
+     <p>API method to remove users from a group</p>
+    */
+    bool removeUsersFromGroup(1: required list<string> userIds, 2: required 
string groupId) throws (1: sharing_models.SharingRegistryException sre);
+    /**
+     <p>API method to get list of child users in a group. Only the direct 
members will be returned. Results are reverse time sorted based on creation 
time</p>
+    */
+    list<sharing_models.User> getGroupMembersOfTypeUser(1: required string 
groupId, 2: required i32 offset, 3: required i32 limit) throws (1: 
sharing_models.SharingRegistryException sre);
+    /**
+     <p>API method to get list of child groups in a group. Only the direct 
members will be returned. Results are reverse time sorted based on creation 
time</p>
+    */
+    list<sharing_models.UserGroup> getGroupMembersOfTypeGroup(1: required 
string groupId, 2: required i32 offset, 3: required i32 limit) throws (1: 
sharing_models.SharingRegistryException sre);
+    /**
+     <p>API method to add a child group to a parent group.</p>
+    */
+    bool addChildGroupsToParentGroup(1: required list<string> childIds, 2: 
required string groupId) throws (1: sharing_models.SharingRegistryException 
sre);
+    /**
+     <p>API method to remove a child group from parent group.</p>
+    */
+    bool removeChildGroupFromParentGroup(1: required string childId, 2: 
required string groupId) throws (1: sharing_models.SharingRegistryException 
sre);
 
     /**
-     * Group Operations
-    **/
-    string createGroup(1: required sharing_models.UserGroup group) throws (1: 
sharing_models.SharingRegistryException gre)
-    bool updateGroup(1: required sharing_models.UserGroup group) throws (1: 
sharing_models.SharingRegistryException gre)
-    bool deleteGroup(1: required string groupId) throws (1: 
sharing_models.SharingRegistryException gre)
-    sharing_models.UserGroup getGroup(1: required string groupId) throws (1: 
sharing_models.SharingRegistryException gre)
-    list<sharing_models.UserGroup> getGroups(1: required string domain, 2: 
required i32 offset, 3: required i32 limit)
+     <p>API method to create a new entity type</p>
+    */
+    string createEntityType(1: required sharing_models.EntityType entityType) 
throws (1: sharing_models.SharingRegistryException sre)
+    /**
+     <p>API method to update entity type</p>
+    */
+    bool updateEntityType(1: required sharing_models.EntityType entityType) 
throws (1: sharing_models.SharingRegistryException sre)
+    /**
+     <p>API method to delete entity type</p>
+    */
+    bool deleteEntityType(1: required string entityTypeId) throws (1: 
sharing_models.SharingRegistryException sre)
+    /**
+     <p>API method to get an entity type</p>
+    */
+    sharing_models.EntityType getEntityType(1: required string entityTypeId) 
throws (1: sharing_models.SharingRegistryException sre)
+    /**
+     <p>API method to get entity types in a domainId. Results are reverse time 
sorted based on creation time</p>
+    */
+    list<sharing_models.EntityType> getEntityTypes(1: required string 
domainId, 2: required i32 offset, 3: required i32 limit) throws (1: 
sharing_models.SharingRegistryException sre);
 
-    bool addUsersToGroup(1: required list<string> userIds, 2: required string 
groupId) throws (1: sharing_models.SharingRegistryException gre);
-    bool removeUsersFromGroup(1: required list<string> userIds, 2: required 
string groupId) throws (1: sharing_models.SharingRegistryException gre);
-    map<string, sharing_models.GroupChildType> getGroupMembers(1: required 
string groupId, 2: required i32 offset, 3: required i32 limit) throws (1: 
sharing_models.SharingRegistryException gre);
-    bool addChildGroupToParentGroup(1: required string childId, 2: required 
string groupId) throws (1: sharing_models.SharingRegistryException gre);
-    bool removeChildGroupFromParentGroup(1: required string childId, 2: 
required string groupId) throws (1: sharing_models.SharingRegistryException 
gre);
 
     /**
-     * EntityType Operations
-    **/
-    string createEntityType(1: required sharing_models.EntityType entityType) 
throws (1: sharing_models.SharingRegistryException gre)
-    bool updateEntityType(1: required sharing_models.EntityType entityType) 
throws (1: sharing_models.SharingRegistryException gre)
-    bool deleteEntityType(1: required string entityTypeId) throws (1: 
sharing_models.SharingRegistryException gre)
-    sharing_models.EntityType getEntityType(1: required string entityTypeId) 
throws (1: sharing_models.SharingRegistryException gre)
-    list<sharing_models.EntityType> getEntityTypes(1: required string domain, 
2: required i32 offset, 3: required i32 limit) throws (1: 
sharing_models.SharingRegistryException gre);
+     <p>API method to register new entity</p>
+    */
+    string registerEntity(1: required sharing_models.Entity entity) throws (1: 
sharing_models.SharingRegistryException sre)
+    /**
+     <p>API method to update entity</p>
+    */
+    bool updateEntity(1: required sharing_models.Entity entity) throws (1: 
sharing_models.SharingRegistryException sre)
+    /**
+     <p>API method to delete entity</p>
+    */
+    bool deleteEntity(1: required string entityId) throws (1: 
sharing_models.SharingRegistryException sre)
+    /**
+     <p>API method to get entity</p>
+    */
+    sharing_models.Entity getEntity(1: required string entityId) throws (1: 
sharing_models.SharingRegistryException sre)
+    /**
+     <p>API method to search entities</p>
+    */
+    list<sharing_models.Entity> searchEntities(1: required string userId, 2: 
required string entityTypeId, 3: required list<sharing_models.SearchCriteria> 
filters, 4: required i32 offset, 5: required i32 limit) throws (1: 
sharing_models.SharingRegistryException sre)
+    /**
+     <p>API method to get a list of shared users given the entity id</p>
+    */
+    list<sharing_models.User> getListOfSharedUsers(1: required string 
entityId, 2: required string permissionTypeId) throws (1: 
sharing_models.SharingRegistryException sre)
+    /**
+     <p>API method to get a list of shared groups given the entity id</p>
+    */
+    list<sharing_models.UserGroup> getListOfSharedGroups(1: required string 
entityId, 2: required string permissionTypeId) throws (1: 
sharing_models.SharingRegistryException sre)
 
     /**
-     * Entity Operations
-    **/
-    string createEntity(1: required sharing_models.Entity entity) throws (1: 
sharing_models.SharingRegistryException gre)
-    bool updateEntity(1: required sharing_models.Entity entity) throws (1: 
sharing_models.SharingRegistryException gre)
-    bool deleteEntity(1: required string entityId) throws (1: 
sharing_models.SharingRegistryException gre)
-    sharing_models.Entity getEntity(1: required string entityId) throws (1: 
sharing_models.SharingRegistryException gre)
-    list<sharing_models.Entity> searchEntities(1: required string userId, 2: 
required string entityTypeId, 3: required list<sharing_models.SearchCriteria> 
filters, 4: required i32 offset, 5: required i32 limit) throws (1: 
sharing_models.SharingRegistryException gre)
-    list<sharing_models.User> getListOfSharedUsers(1: required string 
entityId, 2: required string permissionTypeId) throws (1: 
sharing_models.SharingRegistryException gre)
-    list<sharing_models.UserGroup> getListOfSharedGroups(1: required string 
entityId, 2: required string permissionTypeId) throws (1: 
sharing_models.SharingRegistryException gre)
+     <p>API method to create permission type</p>
+    */
+    string createPermissionType(1: required sharing_models.PermissionType 
permissionType) throws (1: sharing_models.SharingRegistryException sre)
+    /**
+     <p>API method to update permission type</p>
+    */
+    bool updatePermissionType(1: required sharing_models.PermissionType 
permissionType) throws (1: sharing_models.SharingRegistryException sre)
+    /**
+     <p>API method to delete permission type</p>
+    */
+    bool deletePermissionType(1: required string entityTypeId) throws (1: 
sharing_models.SharingRegistryException sre)
+    /**
+     <p>API method to get permission type</p>
+    */
+    sharing_models.PermissionType getPermissionType(1: required string 
permissionTypeId) throws (1: sharing_models.SharingRegistryException sre)
+    /**
+     <p>API method to get list of permission types in a given domainId. 
Results are reverse time sorted based on creation time</p>
+    */
+    list<sharing_models.PermissionType> getPermissionTypes(1: required string 
domainId, 2: required i32 offset, 3: required i32 limit) throws (1: 
sharing_models.SharingRegistryException sre)
 
     /**
-     * Permission Operations
-    **/
-    string createPermissionType(1: required sharing_models.PermissionType 
permissionType) throws (1: sharing_models.SharingRegistryException gre)
-    bool updatePermissionType(1: required sharing_models.PermissionType 
permissionType) throws (1: sharing_models.SharingRegistryException gre)
-    bool deletePermissionType(1: required string entityTypeId) throws (1: 
sharing_models.SharingRegistryException gre)
-    sharing_models.PermissionType getPermissionType(1: required string 
permissionTypeId) throws (1: sharing_models.SharingRegistryException gre)
-    list<sharing_models.PermissionType> getPermissionTypes(1: required string 
domain, 2: required i32 offset, 3: required i32 limit) throws (1: 
sharing_models.SharingRegistryException gre)
+     <p>API method to share an entity with users</p>
+    */
+    bool shareEntityWithUsers(1: required string domainId, 2: required string 
entityId, 3: required list<string> userList, 4: required string perssionTypeId, 
5: required bool cascadePermission) throws (1: 
sharing_models.SharingRegistryException sre)
+    /**
+     <p>API method to revoke sharing from a list of users</p>
+    */
+    bool revokeEntitySharingFromUsers(1: required string domainId, 2: required 
string entityId, 3: required list<string> userList, 4: required string 
perssionTypeId ) throws (1: sharing_models.SharingRegistryException sre)
+    /**
+     <p>API method to share an entity with list of groups</p>
+    */
+    bool shareEntityWithGroups(1: required string domainId, 2: required string 
entityId, 3: required list<string> groupList, 4: required string 
perssionTypeId, 5: required bool cascadePermission) throws (1: 
sharing_models.SharingRegistryException sre)
+    /**
+     <p>API method to revoke sharing from list of users</p>
+    */
+    bool revokeEntitySharingFromGroups(1: required string domainId, 2: 
required string entityId, 3: required list<string> groupList, 4: required 
string perssionTypeId) throws (1: sharing_models.SharingRegistryException sre)
 
     /**
-     * Sharing Entity with Users and Groups
-    **/
-    bool shareEntityWithUsers(1: required string domainId, 2: required string 
entityId, 3: required list<string> userList, 4: required string perssionTypeId, 
5: required bool cascadePermission) throws (1: 
sharing_models.SharingRegistryException gre)
-    bool revokeEntitySharingFromUsers(1: required string domainId, 2: required 
string entityId, 3: required list<string> userList, 4: required string 
perssionTypeId ) throws (1: sharing_models.SharingRegistryException gre)
-    bool shareEntityWithGroups(1: required string domainId, 2: required string 
entityId, 3: required list<string> groupList, 4: required string 
perssionTypeId, 5: required bool cascadePermission) throws (1: 
sharing_models.SharingRegistryException gre)
-    bool revokeEntitySharingFromGroups(1: required string domainId, 2: 
required string entityId, 3: required list<string> groupList, 4: required 
string perssionTypeId) throws (1: sharing_models.SharingRegistryException gre)
-    bool userHasAccess(1: required string domainId, 2: required string userId, 
3: required string entityId, 4: required string permissionTypeId) throws (1: 
sharing_models.SharingRegistryException gre)
+     <p>API method to check whether a user has access to a specific entity</p>
+    */
+    bool userHasAccess(1: required string domainId, 2: required string userId, 
3: required string entityId, 4: required string permissionTypeId) throws (1: 
sharing_models.SharingRegistryException sre)
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/87564d2b/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 69409fc..f8c6f31 100644
--- a/modules/sharing-registry/thrift_models/sharing_models.thrift
+++ b/modules/sharing-registry/thrift_models/sharing_models.thrift
@@ -22,6 +22,16 @@
 
 const string DO_NOT_SET_AT_CLIENTS_ID = "DO_NOT_SET_AT_CLIENTS_ID"
 
+/**
+* <p>Domain is the entity that enables multi-tenency in this componenet. Every 
tenant will be
+* operating separately it's own silo which is identified by the domain id. In 
the current implementation domain id
+* will be same as the domain name</p>
+* <li>domainId : Will be generated by the server based on the domain name</li>
+* <li><b>name</b> : A single word name that identifies the domain e.g seagrid, 
ultrascan</li>
+* <li>description : A short description for the domain</li>
+* <li>createdTime : Will be set by the system</li>
+* <li>updatedTime : Will be set by the system</li>
+**/
 struct Domain {
     1: optional string domainId = DO_NOT_SET_AT_CLIENTS_ID,
     2: optional string name,
@@ -30,48 +40,101 @@ struct Domain {
     5: optional i64 updatedTime
 }
 
- struct User {
-     1: optional string userId = DO_NOT_SET_AT_CLIENTS_ID,
-     2: optional string domainId,
-     3: optional string userName,
-     4: optional string firstName,
-     5: optional string lastName,
-     6: optional binary icon,
-     7: optional i64 createdTime,
-     8: optional i64 updatedTime
- }
+/**
+* <p>User is the model used to register a user in the system. Minimal user 
information will be required to provide
+* regarding the user.</p>
+* <li><b>userId</b> : Client provided user id. (The id is not system generated 
and it is a must to provide this id)</li>
+* <li><b>domainId</b> : Domain id for that user</li>
+* <li><b>userName</b> : User name for the user</li>
+* <li><b>firstName</b> : First name of the user</li>
+* <li><b>lastName</b> : Last name of the user</li>
+* <li><b>email</b> : Email address of the user</li>
+* <li>icon : A binary field for storing the user icon</li>
+* <li>createdTime : If client provides this value then the system will use it 
if not the current time will be set</li>
+* <li>updatedTime : If client provides this value then the system will use it 
if not the current time will be set</li>
+**/
+struct User {
+ 1: optional string userId,
+ 2: optional string domainId,
+ 3: optional string userName,
+ 4: optional string firstName,
+ 5: optional string lastName,
+ 6: optional string email,
+ 7: optional binary icon,
+ 8: optional i64 createdTime,
+ 9: optional i64 updatedTime
+}
 
-enum GroupType {
+/**
+* <p>This is an system internal enum used to define single user groups and 
multi users groups. Every user is also
+* considered as a group in it's own right for implementation ease</p>
+**/
+enum GroupCardinality {
     SINGLE_USER,
     MULTI_USER
 }
 
- struct UserGroup {
-     1: optional string groupId = DO_NOT_SET_AT_CLIENTS_ID,
-     2: optional string domainId,
-     3: optional string name,
-     6: optional string description,
-     7: optional string ownerId,
-     8: optional i64 createdTime,
-     9: optional i64 updatedTime,
-     10: optional GroupType groupType
- }
+/**
+* <p>Group types can be either user level or domain level groups.</p>
+**/
+enum GroupType {
+    DOMAIN_LEVEL_GROUP,
+    USER_LEVEL_GROUP
+}
+
+/**
+*<p>User group is a collection of users.</p>
+* <li>groupId : System generated grouo id. In the current implementation this 
is of the form domainId:name</li>
+* <li><b>domainId</b> : Domain id for this user group</li>
+* <li><b>name</b> : Name for the user group. should be one word</li>
+* <li>description : Short description for the group.</li>
+* <li><b>ownerId</b> : Owner id of this group.</li>
+* <li><b>groupType</b> : Group type (DOMAIN_LEVEL_GROUP, USER_LEVEL_GROUP)</li>
+* <li><b>groupCardinality</b> : Group cardinality (SINGLE_USER, 
MULTI_USER)</li>
+* <li>createdTime : Will be set by the system</li>
+* <li>updatedTime : Will be set by the system</li>
+**/
+struct UserGroup {
+ 1: optional string groupId = DO_NOT_SET_AT_CLIENTS_ID,
+ 2: optional string domainId,
+ 3: optional string name,
+ 4: optional string description,
+ 5: optional string ownerId,
+ 6: optional GroupType groupType,
+ 7: optional GroupCardinality groupCardinality,
+ 8: optional i64 createdTime,
+ 9: optional i64 updatedTime
+}
 
- enum GroupChildType {
+/**
+* <p>System internal data type to match group child types</p>
+**/
+enum GroupChildType {
     USER,
     GROUP
- }
-
- struct GroupMembership {
-    1: optional string parentId,
-    2: optional string childId,
-    3: optional GroupChildType childType
-    4: optional i64 createdTime,
-    5: optional i64 updatedTime
- }
+}
 
+/**
+* <p>System internal data type to map group memberships</p>
+**/
+struct GroupMembership {
+1: optional string parentId,
+2: optional string childId,
+3: optional GroupChildType childType
+4: optional i64 createdTime,
+5: optional i64 updatedTime
+}
 
 
+/**
+* <p>client defined entity types</p>
+* <li>entityTypeId : System generated entity type id. In the current 
implementation it will of the form domainId:name</li>
+* <li><b>domainId</b> : Domain id of the domain.</li>
+* <li><b>name</b> : Name for the entity type. Should be a single word.</li>
+* <li>description : Short description for the entity type.</li>
+* <li>createdTime : Will be set by the system</li>
+* <li>updatedTime : Will be set by the system</li>
+**/
 struct EntityType {
     1: optional string entityTypeId = DO_NOT_SET_AT_CLIENTS_ID,
     2: optional string domainId,
@@ -81,6 +144,15 @@ struct EntityType {
     6: optional i64 updatedTime
 }
 
+/**
+* <p>This list of fields that can be used to search entities</p>
+* <li>NAME : Name of the entity</li>
+* <li>DESCRIPTION : Description of the entity</li>
+* <li>FULL_TEXT : Full text field of the entity</li>
+* <li>PARENT_ENTITY_ID : Parent entity id of the entity</li>
+* <li>CREATED_TIME : Created time of the entity</li>
+* <li>UPDATED_TIME : Updated time of the entity</li>
+**/
 enum EntitySearchField {
     NAME,
     DESCRIPTION,
@@ -90,21 +162,50 @@ enum EntitySearchField {
     UPDATED_TIME
 }
 
+/**
+* <p>Different search operators that can be used with the entity search 
fields</p>
+* <li>EQUAL : Simply matches for equality. Applicable for name, and parent 
entity id</li>
+* <li>LIKE : Check for the condition %$FIELD% condition. Applicable for name, 
and description</li>
+* <li>FULL_TEXT : Does a full text search. Only applicable for the FULL_TEXT 
field.</li>
+* <li>GTE : Greater than or equal. Only applicable for created time and 
updated time.</li>
+* <li>LTE : Less than or equal. Only applicable for created time and updated 
time.</li>
+**/
 enum SearchCondition {
     EQUAL,
     LIKE,
+    FULL_TEXT,
     GTE,
     LTE
 }
 
+/**
+* <p>Container object for search criteria</p>
+* <li><b>searchField</b> : Entity search field</li>
+* <li><b>value</b> : Search value</li>
+* <li><b>searchCondition</b> : EQUAL, LIKE etc..</li>
+**/
 struct SearchCriteria {
     1: optional EntitySearchField searchField,
     2: optional string value,
     3: optional SearchCondition searchCondition
 }
 
+/**
+* <p>Entity object which is used to register an entity in the system.</p>
+* <li><b>entityId</b> : Client id provided by the client</li>
+* <li><b>domainId</b> : Domain id</li>
+* <li><b>entityTypeId</b> : Entity type id</li>
+* <li><b>ownerId</b> : Owner id</li>
+* <li>parentEntityId : Parent entity id</li>
+* <li><b>name</b> : Name</li>
+* <li>description : Short description for the entity</li>
+* <li>metadata : Map of optional metadata</li>
+* <li>fullText : A string which will be considered for full text search</li>
+* <li>createdTime : If client provides this value then the system will use it 
if not the current time will be set</li>
+* <li>updatedTime : If client provides this value then the system will use it 
if not the current time will be set</li>
+**/
 struct Entity {
-    1: optional string entityId = DO_NOT_SET_AT_CLIENTS_ID,
+    1: optional string entityId,
     2: optional string domainId,
     3: optional string entityTypeId,
     4: optional string ownerId,
@@ -117,6 +218,15 @@ struct Entity {
     11: optional i64 updatedTime
 }
 
+/**
+* <p>Object for creating client defined permission type</p>
+* <li>permissionTypeId : System generated permission type id. In the current 
implementation it will of the form domainId:name</li>
+* <li><b>domainId</b> : Domain id</li>
+* <li><b>name</b> : Single word name for the permission</li>
+* <li>description : Short description for the permission type</li>
+* <li>createdTime : Will be set by the system</li>
+* <li>updatedTime : Will be set by the system</li>
+**/
 struct PermissionType {
     1: optional string permissionTypeId = DO_NOT_SET_AT_CLIENTS_ID,
     2: optional string domainId,
@@ -126,12 +236,18 @@ struct PermissionType {
     6: optional i64 updatedTime
 }
 
+/**
+* <p>This is an internal enum type for managing sharings</p>
+**/
 enum SharingType {
     DIRECT_NON_CASCADING,
     DIRECT_CASCADING,
     INDIRECT_CASCADING
  }
 
+/**
+* <p>This is an internal enum type for managing sharings</p>
+**/
 struct Sharing {
     1: optional string permissionTypeId,
     2: optional string entityId,
@@ -142,6 +258,9 @@ struct Sharing {
     7: optional i64 updatedTime
 }
 
+/**
+* <p>Exception model used in the sharing registry service</p>
+**/
 exception SharingRegistryException {
   1: required string message
 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/87564d2b/modules/sharing-registry/thrift_models/thrift-gen.sh
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/thrift_models/thrift-gen.sh 
b/modules/sharing-registry/thrift_models/thrift-gen.sh
index 0119a98..89d2efd 100755
--- a/modules/sharing-registry/thrift_models/thrift-gen.sh
+++ b/modules/sharing-registry/thrift_models/thrift-gen.sh
@@ -20,4 +20,3 @@ thrift --gen html sharing_cpi.thrift
 
 rm -r ../api-docs
 mv gen-html ../api-docs
-rm -r gen-html

Reply via email to