adding governance registry server handler code
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/99de5cc4 Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/99de5cc4 Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/99de5cc4 Branch: refs/heads/airavata-gov-registry Commit: 99de5cc42488d98de02d30c58e40c1d6d05b0722 Parents: d14df92 Author: scnakandala <[email protected]> Authored: Mon Oct 3 17:22:36 2016 -0400 Committer: scnakandala <[email protected]> Committed: Mon Oct 3 17:22:36 2016 -0400 ---------------------------------------------------------------------- .../db/repositories/AbstractRepository.java | 7 +- .../sharing/registry/db/utils/DBConstants.java | 10 + .../server/GovRegistryServerHandler.java | 293 +- .../src/main/resources/gov-registry.sql | 98 +- .../registry/GovRegistryServerHandlerTest.java | 221 + .../sharing/registry/models/Domain.java | 2 +- .../sharing/registry/models/Entity.java | 2 +- .../sharing/registry/models/EntityType.java | 2 +- .../registry/models/GovRegistryException.java | 2 +- .../sharing/registry/models/GroupChildType.java | 4 + .../registry/models/GroupMembership.java | 2 +- .../sharing/registry/models/PermissionType.java | 2 +- .../sharing/registry/models/Sharing.java | 2 +- .../airavata/sharing/registry/models/User.java | 2 +- .../sharing/registry/models/UserGroup.java | 2 +- .../service/cpi/GovRegistryService.java | 4986 ++++++++++++++---- .../thrift_models/sharing_cpi.thrift | 28 +- 17 files changed, 4456 insertions(+), 1209 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/airavata/blob/99de5cc4/modules/airavata-sharing-registry/airavata-sharing-registry-core/src/main/java/org/apache/airavata/sharing/registry/db/repositories/AbstractRepository.java ---------------------------------------------------------------------- diff --git a/modules/airavata-sharing-registry/airavata-sharing-registry-core/src/main/java/org/apache/airavata/sharing/registry/db/repositories/AbstractRepository.java b/modules/airavata-sharing-registry/airavata-sharing-registry-core/src/main/java/org/apache/airavata/sharing/registry/db/repositories/AbstractRepository.java index bba8c2d..696f725 100644 --- a/modules/airavata-sharing-registry/airavata-sharing-registry-core/src/main/java/org/apache/airavata/sharing/registry/db/repositories/AbstractRepository.java +++ b/modules/airavata-sharing-registry/airavata-sharing-registry-core/src/main/java/org/apache/airavata/sharing/registry/db/repositories/AbstractRepository.java @@ -116,10 +116,9 @@ public abstract class AbstractRepository<T, E, Id> { } private String getSelectQuery(Map<String, String> filters){ - String query = "SELECT p from " + dbEntityGenericClass.getSimpleName() + " as p WHERE "; - if(filters == null || filters.size() == 0){ - query += "1"; - }else{ + String query = "SELECT p from " + dbEntityGenericClass.getSimpleName() + " as p"; + if(filters != null && filters.size() != 0){ + query += " WHERE "; for(String k : filters.keySet()){ query += "p." + k + " LIKE '%" + filters.get(k) + "%' AND "; } http://git-wip-us.apache.org/repos/asf/airavata/blob/99de5cc4/modules/airavata-sharing-registry/airavata-sharing-registry-core/src/main/java/org/apache/airavata/sharing/registry/db/utils/DBConstants.java ---------------------------------------------------------------------- diff --git a/modules/airavata-sharing-registry/airavata-sharing-registry-core/src/main/java/org/apache/airavata/sharing/registry/db/utils/DBConstants.java b/modules/airavata-sharing-registry/airavata-sharing-registry-core/src/main/java/org/apache/airavata/sharing/registry/db/utils/DBConstants.java index f242b83..f647216 100644 --- a/modules/airavata-sharing-registry/airavata-sharing-registry-core/src/main/java/org/apache/airavata/sharing/registry/db/utils/DBConstants.java +++ b/modules/airavata-sharing-registry/airavata-sharing-registry-core/src/main/java/org/apache/airavata/sharing/registry/db/utils/DBConstants.java @@ -54,4 +54,14 @@ public class DBConstants { public static String CHILD_ID = "childId"; public static String CHILD_TYPE = "childType"; } + + public static class EntityTypeTable { + public static String ENTITY_TYPE_ID = "entityTypeId"; + public static String DOMAIN_ID = "domainId"; + } + + public static class PermissionTypeTable { + public static String ENTITY_TYPE_ID = "permissionTypeId"; + public static String DOMAIN_ID = "domainId"; + } } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata/blob/99de5cc4/modules/airavata-sharing-registry/airavata-sharing-registry-core/src/main/java/org/apache/airavata/sharing/registry/server/GovRegistryServerHandler.java ---------------------------------------------------------------------- diff --git a/modules/airavata-sharing-registry/airavata-sharing-registry-core/src/main/java/org/apache/airavata/sharing/registry/server/GovRegistryServerHandler.java b/modules/airavata-sharing-registry/airavata-sharing-registry-core/src/main/java/org/apache/airavata/sharing/registry/server/GovRegistryServerHandler.java index 5af94a0..d657f3c 100644 --- a/modules/airavata-sharing-registry/airavata-sharing-registry-core/src/main/java/org/apache/airavata/sharing/registry/server/GovRegistryServerHandler.java +++ b/modules/airavata-sharing-registry/airavata-sharing-registry-core/src/main/java/org/apache/airavata/sharing/registry/server/GovRegistryServerHandler.java @@ -20,45 +20,79 @@ */ package org.apache.airavata.sharing.registry.server; +import org.apache.airavata.sharing.registry.db.entities.GroupMembershipEntityPK; +import org.apache.airavata.sharing.registry.db.repositories.*; +import org.apache.airavata.sharing.registry.db.utils.DBConstants; import org.apache.airavata.sharing.registry.models.*; import org.apache.airavata.sharing.registry.service.cpi.GovRegistryService; import org.apache.thrift.TException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.lang.reflect.Field; +import java.util.HashMap; +import java.util.Hashtable; import java.util.List; import java.util.Map; public class GovRegistryServerHandler implements GovRegistryService.Iface{ private final static Logger logger = LoggerFactory.getLogger(GovRegistryServerHandler.class); + private DomainRepository domainRepository; + private UserRepository userRepository; + private UserGroupRepository userGroupRepository; + private GroupMembershipRepository groupMembershipRepository; + private EntityTypeRepository entityTypeRepository; + private PermissionTypeRepository permissionTypeRepository; + private EntityRepository entityRepository; + + public GovRegistryServerHandler(){ + this.domainRepository = new DomainRepository(); + this.userRepository = new UserRepository(); + this.userGroupRepository = new UserGroupRepository(); + this.groupMembershipRepository = new GroupMembershipRepository(); + this.entityTypeRepository = new EntityTypeRepository(); + this.permissionTypeRepository = new PermissionTypeRepository(); + this.entityRepository = new EntityRepository(); + } + /** * * Domain Operations * * */ @Override - public boolean createDomain(Domain domain) throws GovRegistryException, TException { - return false; + public String createDomain(Domain domain) throws GovRegistryException, TException { + domain.setDomainId(domain.name); + domain.setCreatedTime(System.currentTimeMillis()); + domain.setUpdatedTime(System.currentTimeMillis()); + domainRepository.create(domain); + return domain.domainId; } @Override public boolean updateDomain(Domain domain) throws GovRegistryException, TException { - return false; + Domain oldDomain = domainRepository.get(domain.domainId); + domain.setCreatedTime(oldDomain.createdTime); + domain.setUpdatedTime(System.currentTimeMillis()); + domain = getUpdatedObject(oldDomain, domain); + domainRepository.update(domain); + return true; } @Override public boolean deleteDomain(String domainId) throws GovRegistryException, TException { - return false; + domainRepository.delete(domainId); + return true; } @Override public Domain getDomain(String domainId) throws GovRegistryException, TException { - return null; + return domainRepository.get(domainId); } @Override public List<Domain> getDomains(int offset, int limit) throws TException { - return null; + return domainRepository.select(new HashMap<>(), offset, limit); } /** @@ -66,28 +100,56 @@ public class GovRegistryServerHandler implements GovRegistryService.Iface{ * * */ @Override - public boolean registerUser(User user) throws GovRegistryException, TException { - return false; + public String createUser(User user) throws GovRegistryException, TException { + user.setUserId(user.domainId + ":" + user.userName); + user.setCreatedTime(System.currentTimeMillis()); + user.setUpdatedTime(System.currentTimeMillis()); + userRepository.create(user); + + UserGroup userGroup = new UserGroup(); + userGroup.setGroupId(user.userId); + userGroup.setDomainId(user.domainId); + userGroup.setName(user.userName); + userGroup.setDescription("user " + user.userName + " group"); + userGroup.setOwnerId(user.userId); + userGroup.setGroupType(GroupType.SINGLE_USER); + createGroup(userGroup); + + return user.userId; } @Override public boolean updatedUser(User user) throws GovRegistryException, TException { - return false; + User oldUser = userRepository.get(user.userId); + user.setCreatedTime(oldUser.createdTime); + user.setUpdatedTime(System.currentTimeMillis()); + user = getUpdatedObject(oldUser, user); + userRepository.update(user); + + UserGroup userGroup = userGroupRepository.get(user.userId); + userGroup.setName(user.userName); + userGroup.setDescription("user " + user.userName + " group"); + updateGroup(userGroup); + return true; } @Override public boolean deleteUser(String userId) throws GovRegistryException, TException { - return false; + userRepository.delete(userId); + userGroupRepository.delete(userId); + return true; } @Override public User getUser(String userId) throws GovRegistryException, TException { - return null; + return userRepository.get(userId); } @Override - public List<User> getUsers(String domain, int offset, int limit) throws TException { - return null; + public List<User> getUsers(String domain, int offset, int limit) throws GovRegistryException, TException { + HashMap<String, String> filters = new HashMap<>(); + filters.put(DBConstants.UserTable.DOMAIN_ID, domain); + return userRepository.select(filters, offset, limit); } /** @@ -95,43 +157,97 @@ public class GovRegistryServerHandler implements GovRegistryService.Iface{ * * */ @Override - public boolean createGroup(UserGroup group) throws GovRegistryException, TException { - return false; + public String createGroup(UserGroup group) throws GovRegistryException, TException { + group.setGroupId(group.domainId+":"+group.name); + group.setCreatedTime(System.currentTimeMillis()); + group.setUpdatedTime(System.currentTimeMillis()); + userGroupRepository.create(group); + return group.groupId; } @Override public boolean updateGroup(UserGroup group) throws GovRegistryException, TException { - return false; + group.setUpdatedTime(System.currentTimeMillis()); + UserGroup oldGroup = userGroupRepository.get(group.groupId); + group.setCreatedTime(oldGroup.createdTime); + group = getUpdatedObject(oldGroup, group); + userGroupRepository.update(group); + return true; } @Override public boolean deleteGroup(String groupId) throws GovRegistryException, TException { - return false; + userGroupRepository.delete(groupId); + return true; } @Override public UserGroup getGroup(String groupId) throws GovRegistryException, TException { - return null; + return userGroupRepository.get(groupId); } @Override public List<UserGroup> getGroups(String domain, int offset, int limit) throws TException { - return null; + HashMap<String, String> filters = new HashMap<>(); + filters.put(DBConstants.UserTable.DOMAIN_ID, domain); + return userGroupRepository.select(filters, offset, limit); } @Override public boolean addUsersToGroup(List<String> userIds, String groupId) throws GovRegistryException, TException { - return false; + for(int i=0; i < userIds.size(); i++){ + GroupMembership groupMembership = new GroupMembership(); + groupMembership.setParentId(groupId); + groupMembership.setChildId(userIds.get(i)); + groupMembership.setChildType(GroupChildType.USER); + groupMembership.setCreatedTime(System.currentTimeMillis()); + groupMembership.setUpdatedTime(System.currentTimeMillis()); + groupMembershipRepository.create(groupMembership); + } + return true; } @Override public boolean removeUsersFromGroup(List<String> userIds, String groupId) throws GovRegistryException, TException { - return false; + for(int i=0; i < userIds.size(); i++){ + GroupMembershipEntityPK groupMembershipEntityPK = new GroupMembershipEntityPK(); + groupMembershipEntityPK.setParentId(groupId); + groupMembershipEntityPK.setChildId(userIds.get(i)); + groupMembershipRepository.delete(groupMembershipEntityPK); + } + return true; } @Override - public Map<String, GroupType> getGroupMembers(String groupId) throws TException { - return null; + public Map<String, GroupChildType> getGroupMembers(String groupId, int offset, int limit) throws GovRegistryException, TException { + HashMap<String, GroupChildType> groupMembers = new HashMap<>(); + HashMap<String, String> filters = new HashMap<>(); + filters.put(DBConstants.GroupMembershipTable.PARENT_ID, groupId); + List<GroupMembership> groupMembershipList = groupMembershipRepository.select(filters, 0, -1); + groupMembershipList.stream().forEach(gm->{groupMembers.put(gm.getChildId(), gm.getChildType());}); + return groupMembers; + } + + @Override + public boolean addChildGroupToParentGroup(String childId, String groupId) throws GovRegistryException, TException { + //Todo check for cyclic dependencies + GroupMembership groupMembership = new GroupMembership(); + groupMembership.setParentId(groupId); + groupMembership.setChildId(childId); + groupMembership.setChildType(GroupChildType.GROUP); + groupMembership.setCreatedTime(System.currentTimeMillis()); + groupMembership.setUpdatedTime(System.currentTimeMillis()); + groupMembershipRepository.create(groupMembership); + return true; + } + + @Override + public boolean removeChildGroupFromParentGroup(String childId, String groupId) throws GovRegistryException, TException { + GroupMembershipEntityPK groupMembershipEntityPK = new GroupMembershipEntityPK(); + groupMembershipEntityPK.setParentId(groupId); + groupMembershipEntityPK.setChildId(childId); + groupMembershipRepository.delete(groupMembershipEntityPK); + return true; } /** @@ -139,85 +255,162 @@ public class GovRegistryServerHandler implements GovRegistryService.Iface{ * * */ @Override - public boolean createEntityType(EntityType entityType) throws GovRegistryException, TException { - return false; + public String createEntityType(EntityType entityType) throws GovRegistryException, TException { + entityType.setEntityTypeId(entityType.domainId + ":" + entityType.name); + entityType.setCreatedTime(System.currentTimeMillis()); + entityType.setUpdatedTime(System.currentTimeMillis()); + entityTypeRepository.create(entityType); + return entityType.entityTypeId; } @Override public boolean updateEntityType(EntityType entityType) throws GovRegistryException, TException { - return false; + entityType.setUpdatedTime(System.currentTimeMillis()); + EntityType oldEntityType = entityTypeRepository.get(entityType.entityTypeId); + entityType.setCreatedTime(oldEntityType.createdTime); + entityType = getUpdatedObject(oldEntityType, entityType); + entityTypeRepository.update(entityType); + return true; } @Override public boolean deleteEntityType(String entityTypeId) throws GovRegistryException, TException { - return false; + entityTypeRepository.delete(entityTypeId); + return true; } @Override public EntityType getEntityType(String entityTypeId) throws GovRegistryException, TException { - return null; + return entityTypeRepository.get(entityTypeId); } @Override public List<EntityType> getEntityTypes(String domain, int offset, int limit) throws TException { - return null; + HashMap<String, String> filters = new HashMap<>(); + filters.put(DBConstants.EntityTypeTable.DOMAIN_ID, domain); + return entityTypeRepository.select(domain, offset, limit); } /** - * * Entity Operations + * * Permission Operations * * */ @Override - public boolean registerEntity(Entity entity) throws GovRegistryException, TException { - return false; + public String createPermissionType(PermissionType permissionType) throws GovRegistryException, TException { + permissionType.setPermissionTypeId(permissionType.domainId+":"+permissionType.name); + permissionType.setCreatedTime(System.currentTimeMillis()); + permissionType.setUpdatedTime(System.currentTimeMillis()); + permissionTypeRepository.create(permissionType); + return permissionType.permissionTypeId; } @Override - public boolean updateEntity(Entity entity) throws GovRegistryException, TException { - return false; + public boolean updatePermissionType(PermissionType permissionType) throws GovRegistryException, TException { + permissionType.setUpdatedTime(System.currentTimeMillis()); + PermissionType oldPermissionType = permissionTypeRepository.get(permissionType.permissionTypeId); + permissionType = getUpdatedObject(oldPermissionType, permissionType); + permissionTypeRepository.update(permissionType); + return true; } @Override - public boolean deleteEntity(String entityId) throws GovRegistryException, TException { - return false; + public boolean deletePermissionType(String entityTypeId) throws GovRegistryException, TException { + permissionTypeRepository.delete(entityTypeId); + return true; } @Override - public Entity getEntity(String entityId) throws GovRegistryException, TException { - return null; + public PermissionType getPermissionType(String permissionTypeId) throws GovRegistryException, TException { + return permissionTypeRepository.get(permissionTypeId); } @Override - public List<Entity> searchEntities(String domain, String entityType, Map<String, String> filters, int offset, int limit) throws GovRegistryException, TException { - return null; + public List<PermissionType> getPermissionTypes(String domain, int offset, int limit) throws GovRegistryException, TException { + HashMap<String, String> filters = new HashMap<>(); + filters.put(DBConstants.PermissionTypeTable.DOMAIN_ID, domain); + return permissionTypeRepository.select(filters, offset, limit); } /** - * * EntityType Operations + * * Entity Operations * * */ @Override - public boolean createPermissionType(PermissionType permisionType) throws GovRegistryException, TException { - return false; + public String createEntity(Entity entity) throws GovRegistryException, TException { + entity.setEntityId(entity.domainId + ":" + entity.name); + entity.setCreatedTime(System.currentTimeMillis()); + entity.setUpdatedTime(System.currentTimeMillis()); + entityRepository.create(entity); + return entity.entityId; } @Override - public boolean updatePermissionType(PermissionType permisionType) throws GovRegistryException, TException { - return false; + public boolean updateEntity(Entity entity) throws GovRegistryException, TException { + entity.setUpdatedTime(System.currentTimeMillis()); + Entity oldEntity = entityRepository.get(entity.getEntityId()); + entity.setCreatedTime(oldEntity.createdTime); + entity = getUpdatedObject(oldEntity, entity); + entityRepository.update(entity); + return true; } @Override - public boolean deletePermissionType(String entityTypeId) throws GovRegistryException, TException { - return false; + public boolean deleteEntity(String entityId) throws GovRegistryException, TException { + entityRepository.delete(entityId); + return true; } @Override - public PermissionType getPermissionType(String permisionTypeId) throws GovRegistryException, TException { - return null; + public Entity getEntity(String entityId) throws GovRegistryException, TException { + return entityRepository.get(entityId); } @Override - public List<PermissionType> getPermissionTypes(String domain, int offset, int limit) throws GovRegistryException, TException { + public List<Entity> searchEntities(String domain, String entityType, Map<String, String> filters, int offset, int limit) throws GovRegistryException, TException { return null; } + + + + private <T> T getUpdatedObject(T oldEntity, T newEntity) throws GovRegistryException { + Field[] newEntityFields = newEntity.getClass().getDeclaredFields(); + Hashtable newHT = fieldsToHT(newEntityFields, newEntity); + + Class oldEntityClass = oldEntity.getClass(); + Field[] oldEntityFields = oldEntityClass.getDeclaredFields(); + + for (Field field : oldEntityFields){ + field.setAccessible(true); + Object o = newHT.get(field.getName()); + if (o != null){ + Field f = null; + try { + f = oldEntityClass.getDeclaredField(field.getName()); + f.setAccessible(true); + logger.debug("setting " + f.getName()); + f.set(oldEntity, o); + } catch (Exception e) { + throw new GovRegistryException(e.getMessage()); + } + } + } + return oldEntity; + } + + private static Hashtable<String, Object> fieldsToHT(Field[] fields, Object obj){ + Hashtable<String,Object> hashtable = new Hashtable<>(); + for (Field field: fields){ + field.setAccessible(true); + try { + Object retrievedObject = field.get(obj); + if (retrievedObject != null){ + logger.debug("scanning " + field.getName()); + hashtable.put(field.getName(), field.get(obj)); + } + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + } + return hashtable; + } } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata/blob/99de5cc4/modules/airavata-sharing-registry/airavata-sharing-registry-core/src/main/resources/gov-registry.sql ---------------------------------------------------------------------- diff --git a/modules/airavata-sharing-registry/airavata-sharing-registry-core/src/main/resources/gov-registry.sql b/modules/airavata-sharing-registry/airavata-sharing-registry-core/src/main/resources/gov-registry.sql index 7c03e0c..f2bc98a 100644 --- a/modules/airavata-sharing-registry/airavata-sharing-registry-core/src/main/resources/gov-registry.sql +++ b/modules/airavata-sharing-registry/airavata-sharing-registry-core/src/main/resources/gov-registry.sql @@ -20,33 +20,33 @@ */ CREATE TABLE DOMAIN ( - DOMAIN_ID VARCHAR(255), - NAME VARCHAR(255), + DOMAIN_ID VARCHAR(255) NOT NULL, + NAME VARCHAR(255) NOT NULL, DESCRIPTION VARCHAR(255), - CREATED_TIME BIGINT, - UPDATED_TIME BIGINT, + CREATED_TIME BIGINT NOT NULL, + UPDATED_TIME BIGINT NOT NULL, PRIMARY KEY (DOMAIN_ID) ); CREATE TABLE USER ( - USER_ID VARCHAR(255), - DOMAIN_ID VARCHAR(255), - USER_NAME VARCHAR(255), - CREATED_TIME BIGINT, - UPDATED_TIME BIGINT, + USER_ID VARCHAR(255) NOT NULL, + DOMAIN_ID VARCHAR(255) NOT NULL, + USER_NAME VARCHAR(255) NOT NULL, + CREATED_TIME BIGINT NOT NULL, + UPDATED_TIME BIGINT NOT NULL, PRIMARY KEY (USER_ID), FOREIGN KEY (DOMAIN_ID) REFERENCES DOMAIN(DOMAIN_ID) ON DELETE CASCADE ON UPDATE CASCADE ); CREATE TABLE USER_GROUP ( - GROUP_ID VARCHAR(255), - DOMAIN_ID VARCHAR(255), - NAME VARCHAR(255), + GROUP_ID VARCHAR(255) NOT NULL, + DOMAIN_ID VARCHAR(255) NOT NULL, + NAME VARCHAR(255) NOT NULL, DESCRIPTION VARCHAR(255), - OWNER_ID VARCHAR(255), - TYPE VARCHAR(255), - CREATED_TIME BIGINT, - UPDATED_TIME BIGINT, + OWNER_ID VARCHAR(255) NOT NULL, + GROUP_TYPE VARCHAR(255) NOT NULL, + CREATED_TIME BIGINT NOT NULL, + UPDATED_TIME BIGINT NOT NULL, PRIMARY KEY (GROUP_ID), FOREIGN KEY (DOMAIN_ID) REFERENCES DOMAIN(DOMAIN_ID) ON DELETE CASCADE ON UPDATE CASCADE, FOREIGN KEY (OWNER_ID) REFERENCES USER(USER_ID) ON DELETE CASCADE ON UPDATE CASCADE @@ -54,49 +54,49 @@ CREATE TABLE USER_GROUP ( CREATE TABLE GROUP_MEMBERSHIP ( - PARENT_ID VARCHAR(255), - CHILD_ID VARCHAR(255), - CHILD_TYPE VARCHAR(255), - CREATED_TIME BIGINT, - UPDATED_TIME BIGINT, + PARENT_ID VARCHAR(255) NOT NULL, + CHILD_ID VARCHAR(255) NOT NULL, + CHILD_TYPE VARCHAR(255) NOT NULL, + CREATED_TIME BIGINT NOT NULL, + UPDATED_TIME BIGINT NOT NULL, PRIMARY KEY (PARENT_ID, CHILD_ID), FOREIGN KEY (PARENT_ID) REFERENCES USER_GROUP(GROUP_ID) ON DELETE CASCADE ON UPDATE CASCADE, FOREIGN KEY (CHILD_ID) REFERENCES USER_GROUP(GROUP_ID) ON DELETE CASCADE ON UPDATE CASCADE ); CREATE TABLE ENTITY_TYPE ( - ENTITY_TYPE_ID VARCHAR(255), - DOMAIN_ID VARCHAR(255), - NAME VARCHAR(255), + ENTITY_TYPE_ID VARCHAR(255) NOT NULL, + DOMAIN_ID VARCHAR(255) NOT NULL, + NAME VARCHAR(255) NOT NULL, DESCRIPTION VARCHAR(255), - CREATED_TIME BIGINT, - UPDATED_TIME BIGINT, + CREATED_TIME BIGINT NOT NULL, + UPDATED_TIME BIGINT NOT NULL, PRIMARY KEY (ENTITY_TYPE_ID), FOREIGN KEY (DOMAIN_ID) REFERENCES DOMAIN(DOMAIN_ID) ON DELETE CASCADE ON UPDATE CASCADE ); CREATE TABLE PERMISSION_TYPE ( - PERMISSION_TYPE_ID VARCHAR(255), - DOMAIN_ID VARCHAR(255), - NAME VARCHAR(255), + PERMISSION_TYPE_ID VARCHAR(255) NOT NULL, + DOMAIN_ID VARCHAR(255) NOT NULL, + NAME VARCHAR(255) NOT NULL, DESCRIPTION VARCHAR(255), - CREATED_TIME BIGINT, - UPDATED_TIME BIGINT, + CREATED_TIME BIGINT NOT NULL, + UPDATED_TIME BIGINT NOT NULL, PRIMARY KEY (PERMISSION_TYPE_ID), FOREIGN KEY (DOMAIN_ID) REFERENCES DOMAIN(DOMAIN_ID) ON DELETE CASCADE ON UPDATE CASCADE ); CREATE TABLE ENTITY ( - ENTITY_ID VARCHAR(255), - DOMAIN_ID VARCHAR(255), - ENTITY_TYPE_ID VARCHAR(255), - OWNER_ID VARCHAR(255), + ENTITY_ID VARCHAR(255) NOT NULL, + DOMAIN_ID VARCHAR(255) NOT NULL, + ENTITY_TYPE_ID VARCHAR(255) NOT NULL, + OWNER_ID VARCHAR(255) NOT NULL, PARENT_ENTITY_ID VARCHAR(255), - NAME VARCHAR(255), + NAME VARCHAR(255) NOT NULL, DESCRIPTION VARCHAR(255), FULL_TEXT TEXT, - CREATED_TIME BIGINT, - UPDATED_TIME BIGINT, + CREATED_TIME BIGINT NOT NULL, + UPDATED_TIME BIGINT NOT NULL, PRIMARY KEY (ENTITY_ID), FOREIGN KEY (DOMAIN_ID) REFERENCES DOMAIN(DOMAIN_ID) ON DELETE CASCADE ON UPDATE CASCADE, FOREIGN KEY (ENTITY_TYPE_ID) REFERENCES ENTITY_TYPE(ENTITY_TYPE_ID) ON DELETE CASCADE ON UPDATE CASCADE, @@ -105,30 +105,28 @@ CREATE TABLE ENTITY ( ); CREATE TABLE ENTITY_METADATA ( - ENTITY_ID VARCHAR (255), - META_KEY VARCHAR (255), - META_VALUE VARCHAR (255), + ENTITY_ID VARCHAR (255) NOT NULL, + META_KEY VARCHAR (255) NOT NULL, + META_VALUE VARCHAR (255) NOT NULL, PRIMARY KEY (ENTITY_ID, META_KEY), FOREIGN KEY (ENTITY_ID) REFERENCES ENTITY(ENTITY_ID) ON DELETE CASCADE ON UPDATE CASCADE ); CREATE TABLE SHARING ( - PERMISSION_TYPE_ID VARCHAR(255), - ENTITY_TYPE_ID VARCHAR(255), - ENTITY_ID VARCHAR(255), - GROUP_ID VARCHAR(255), - CREATED_TIME BIGINT, - UPDATED_TIME BIGINT, + PERMISSION_TYPE_ID VARCHAR(255) NOT NULL, + ENTITY_ID VARCHAR(255) NOT NULL, + GROUP_ID VARCHAR(255) NOT NULL, + CREATED_TIME BIGINT NOT NULL, + UPDATED_TIME BIGINT NOT NULL, PRIMARY KEY (PERMISSION_TYPE_ID, ENTITY_ID, GROUP_ID), FOREIGN KEY (PERMISSION_TYPE_ID) REFERENCES PERMISSION_TYPE(PERMISSION_TYPE_ID) ON DELETE CASCADE ON UPDATE CASCADE, - FOREIGN KEY (ENTITY_TYPE_ID) REFERENCES ENTITY_TYPE(ENTITY_TYPE_ID) ON DELETE CASCADE ON UPDATE CASCADE, FOREIGN KEY (GROUP_ID) REFERENCES USER_GROUP(GROUP_ID) ON DELETE CASCADE ON UPDATE CASCADE ); CREATE TABLE CONFIGURATION ( - CONFIG_KEY VARCHAR(255), - CONFIG_VALUE VARCHAR(255), + CONFIG_KEY VARCHAR(255) NOT NULL, + CONFIG_VALUE VARCHAR(255) NOT NULL, PRIMARY KEY(CONFIG_KEY, CONFIG_VALUE) ); http://git-wip-us.apache.org/repos/asf/airavata/blob/99de5cc4/modules/airavata-sharing-registry/airavata-sharing-registry-core/src/test/java/org/apache/airavata/sharing/registry/GovRegistryServerHandlerTest.java ---------------------------------------------------------------------- diff --git a/modules/airavata-sharing-registry/airavata-sharing-registry-core/src/test/java/org/apache/airavata/sharing/registry/GovRegistryServerHandlerTest.java b/modules/airavata-sharing-registry/airavata-sharing-registry-core/src/test/java/org/apache/airavata/sharing/registry/GovRegistryServerHandlerTest.java new file mode 100644 index 0000000..49522bd --- /dev/null +++ b/modules/airavata-sharing-registry/airavata-sharing-registry-core/src/test/java/org/apache/airavata/sharing/registry/GovRegistryServerHandlerTest.java @@ -0,0 +1,221 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this 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. + * +*/ +package org.apache.airavata.sharing.registry; + +import junit.framework.Assert; +import org.apache.airavata.sharing.registry.models.*; +import org.apache.airavata.sharing.registry.server.GovRegistryServerHandler; +import org.apache.thrift.TException; +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.Arrays; +import java.util.HashMap; +import java.util.Map; + +public class GovRegistryServerHandlerTest { + private final static Logger logger = LoggerFactory.getLogger(GovRegistryServerHandlerTest.class); + + @Test + public void test() throws TException { + GovRegistryServerHandler govRegistryServerHandler = new GovRegistryServerHandler(); + + //Creating domain + Domain domain = new Domain(); + String domainId = "test-domain."+System.currentTimeMillis(); + domain.setDomainId(domainId); + domain.setName(domainId); + domain.setDescription("test domain description"); + domain.setCreatedTime(System.currentTimeMillis()); + domain.setUpdatedTime(System.currentTimeMillis()); + + Assert.assertNotNull(govRegistryServerHandler.createDomain(domain)); + Assert.assertTrue(govRegistryServerHandler.getDomains(0, 10).size() > 0); + + + //Creating users + User user1 = new User(); + String userName1 = "test-user-1." + System.currentTimeMillis(); + String userId1 = domainId + ":" + userName1; + user1.setUserId(userId1); + user1.setUserName(userName1); + user1.setDomainId(domainId); + user1.setCreatedTime(System.currentTimeMillis()); + user1.setUpdatedTime(System.currentTimeMillis()); + + Assert.assertNotNull(govRegistryServerHandler.createUser(user1)); + + User user2 = new User(); + String userName2 = "test-user-2." + System.currentTimeMillis(); + String userId2 = domainId + ":" + userName2; + user2.setUserId(userId2); + user2.setUserName(userName2); + user2.setDomainId(domainId); + user2.setCreatedTime(System.currentTimeMillis()); + user2.setUpdatedTime(System.currentTimeMillis()); + + Assert.assertNotNull(govRegistryServerHandler.createUser(user2)); + + User user3 = new User(); + String userName3 = "test-user-3." + System.currentTimeMillis(); + String userId3 = domainId + ":" + userName3; + user3.setUserId(userId3); + user3.setUserName(userName3); + user3.setDomainId(domainId); + user3.setCreatedTime(System.currentTimeMillis()); + user3.setUpdatedTime(System.currentTimeMillis()); + + Assert.assertNotNull(govRegistryServerHandler.createUser(user3)); + + Assert.assertTrue(govRegistryServerHandler.getUsers(domainId, 0, 10).size() > 0); + + // Creating user groups + UserGroup userGroup1 = new UserGroup(); + String groupName1 = "test-group-1." + System.currentTimeMillis(); + String groupId1 = domainId + ":" + groupName1; + userGroup1.setGroupId(groupId1); + userGroup1.setDomainId(domainId); + userGroup1.setName(groupName1); + userGroup1.setDescription("test group description"); + userGroup1.setOwnerId(userId1); + userGroup1.setGroupType(GroupType.MULTI_USER); + userGroup1.setCreatedTime(System.currentTimeMillis()); + userGroup1.setUpdatedTime(System.currentTimeMillis()); + + Assert.assertNotNull(govRegistryServerHandler.createGroup(userGroup1)); + + UserGroup userGroup2 = new UserGroup(); + String groupName2 = "test-group-2." + System.currentTimeMillis(); + String groupId2 = domainId + ":" + groupName2; + userGroup2.setGroupId(groupId2); + userGroup2.setDomainId(domainId); + userGroup2.setName(groupName2); + userGroup2.setDescription("test group description"); + userGroup2.setOwnerId(userId2); + userGroup2.setGroupType(GroupType.MULTI_USER); + userGroup2.setCreatedTime(System.currentTimeMillis()); + userGroup2.setUpdatedTime(System.currentTimeMillis()); + + Assert.assertNotNull(govRegistryServerHandler.createGroup(userGroup2)); + + govRegistryServerHandler.addUsersToGroup(Arrays.asList(userId1), groupId1); + govRegistryServerHandler.addUsersToGroup(Arrays.asList(userId2, userId3), groupId2); + govRegistryServerHandler.addChildGroupToParentGroup(groupId2, groupId1); + + Assert.assertTrue(govRegistryServerHandler.getGroupMembers(groupId1, 0, 10).size() == 2); + Assert.assertTrue(govRegistryServerHandler.getGroupMembers(groupId2, 0, 10).size() == 2); + + + //Creating permission types + PermissionType permissionType1 = new PermissionType(); + String permissionName1 = "READ"; + permissionType1.setDomainId(domainId); + permissionType1.setName(permissionName1); + permissionType1.setDescription("READ description"); + permissionType1.setCreatedTime(System.currentTimeMillis()); + permissionType1.setUpdatedTime(System.currentTimeMillis()); + String permissionTypeId1 = govRegistryServerHandler.createPermissionType(permissionType1); + Assert.assertNotNull(permissionTypeId1); + + PermissionType permissionType2 = new PermissionType(); + String permissionName2 = "WRITE"; + permissionType2.setDomainId(domainId); + permissionType2.setName(permissionName2); + permissionType2.setDescription("WRITE description"); + permissionType2.setCreatedTime(System.currentTimeMillis()); + permissionType2.setUpdatedTime(System.currentTimeMillis()); + String permissionTypeId2 = govRegistryServerHandler.createPermissionType(permissionType2); + Assert.assertNotNull(permissionTypeId2); + + //Creating entity types + EntityType entityType1 = new EntityType(); + String entityType1Name = "Project"; + entityType1.setDomainId(domainId); + entityType1.setName(entityType1Name); + entityType1.setDescription("test entity type"); + entityType1.setCreatedTime(System.currentTimeMillis()); + entityType1.setUpdatedTime(System.currentTimeMillis()); + String entityTypeId1 = govRegistryServerHandler.createEntityType(entityType1); + Assert.assertNotNull(entityTypeId1); + + EntityType entityType2 = new EntityType(); + String entityType2Name = "Experiment"; + entityType2.setDomainId(domainId); + entityType2.setName(entityType2Name); + entityType2.setDescription("test entity type"); + entityType2.setCreatedTime(System.currentTimeMillis()); + entityType2.setUpdatedTime(System.currentTimeMillis()); + String entityTypeId2 = govRegistryServerHandler.createEntityType(entityType2); + Assert.assertNotNull(entityTypeId2); + + //Creating Entities + Entity entity1 = new Entity(); + entity1.setDomainId(domainId); + entity1.setEntityTypeId(entityTypeId1); + entity1.setOwnerId(userId1); + entity1.setName("Project name"); + entity1.setDescription("Project description"); + Map<String, String> metadataMap = new HashMap<>(); + metadataMap.put("key", "val"); + entity1.setMetadata(metadataMap); + entity1.setFullText("Project name project description"); + entity1.setCreatedTime(System.currentTimeMillis()); + entity1.setUpdatedTime(System.currentTimeMillis()); + + String entityId1 = govRegistryServerHandler.createEntity(entity1); + Assert.assertNotNull(entityId1); + + Entity entity2 = new Entity(); + entity2.setDomainId(domainId); + entity2.setEntityTypeId(entityTypeId2); + entity2.setOwnerId(userId1); + entity2.setName("Experiment name"); + entity2.setDescription("Experiment description"); + entity2.setParentEntityId(entityId1); + metadataMap = new HashMap<>(); + metadataMap.put("key", "val"); + entity2.setMetadata(metadataMap); + entity2.setFullText("Project name project description"); + entity2.setCreatedTime(System.currentTimeMillis()); + entity2.setUpdatedTime(System.currentTimeMillis()); + + String entityId2 = govRegistryServerHandler.createEntity(entity2); + Assert.assertNotNull(entityId2); + + Entity entity3 = new Entity(); + entity3.setDomainId(domainId); + entity3.setEntityTypeId(entityTypeId2); + entity3.setOwnerId(userId1); + entity3.setName("Experiment name"); + entity3.setDescription("Experiment description"); + entity3.setParentEntityId(entityId1); + metadataMap = new HashMap<>(); + metadataMap.put("key", "val"); + entity3.setMetadata(metadataMap); + entity3.setFullText("Project name project description"); + entity3.setCreatedTime(System.currentTimeMillis()); + entity3.setUpdatedTime(System.currentTimeMillis()); + + String entityId3 = govRegistryServerHandler.createEntity(entity3); + Assert.assertNotNull(entityId3); + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata/blob/99de5cc4/modules/airavata-sharing-registry/airavata-sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Domain.java ---------------------------------------------------------------------- diff --git a/modules/airavata-sharing-registry/airavata-sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Domain.java b/modules/airavata-sharing-registry/airavata-sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Domain.java index dd20bf1..f6327bf 100644 --- a/modules/airavata-sharing-registry/airavata-sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Domain.java +++ b/modules/airavata-sharing-registry/airavata-sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Domain.java @@ -34,7 +34,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"}) -@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-09-23") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-10-03") public class Domain implements org.apache.thrift.TBase<Domain, Domain._Fields>, java.io.Serializable, Cloneable, Comparable<Domain> { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Domain"); http://git-wip-us.apache.org/repos/asf/airavata/blob/99de5cc4/modules/airavata-sharing-registry/airavata-sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Entity.java ---------------------------------------------------------------------- diff --git a/modules/airavata-sharing-registry/airavata-sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Entity.java b/modules/airavata-sharing-registry/airavata-sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Entity.java index f0ebba3..1e439d7 100644 --- a/modules/airavata-sharing-registry/airavata-sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Entity.java +++ b/modules/airavata-sharing-registry/airavata-sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Entity.java @@ -34,7 +34,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"}) -@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-09-23") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-10-03") public class Entity implements org.apache.thrift.TBase<Entity, Entity._Fields>, java.io.Serializable, Cloneable, Comparable<Entity> { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Entity"); http://git-wip-us.apache.org/repos/asf/airavata/blob/99de5cc4/modules/airavata-sharing-registry/airavata-sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/EntityType.java ---------------------------------------------------------------------- diff --git a/modules/airavata-sharing-registry/airavata-sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/EntityType.java b/modules/airavata-sharing-registry/airavata-sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/EntityType.java index 752df80..d60a599 100644 --- a/modules/airavata-sharing-registry/airavata-sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/EntityType.java +++ b/modules/airavata-sharing-registry/airavata-sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/EntityType.java @@ -34,7 +34,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"}) -@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-09-23") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-10-03") public class EntityType implements org.apache.thrift.TBase<EntityType, EntityType._Fields>, java.io.Serializable, Cloneable, Comparable<EntityType> { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("EntityType"); http://git-wip-us.apache.org/repos/asf/airavata/blob/99de5cc4/modules/airavata-sharing-registry/airavata-sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GovRegistryException.java ---------------------------------------------------------------------- diff --git a/modules/airavata-sharing-registry/airavata-sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GovRegistryException.java b/modules/airavata-sharing-registry/airavata-sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GovRegistryException.java index 2314b0a..78c78f7 100644 --- a/modules/airavata-sharing-registry/airavata-sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GovRegistryException.java +++ b/modules/airavata-sharing-registry/airavata-sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GovRegistryException.java @@ -34,7 +34,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"}) -@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-09-23") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-10-03") public class GovRegistryException extends TException implements org.apache.thrift.TBase<GovRegistryException, GovRegistryException._Fields>, java.io.Serializable, Cloneable, Comparable<GovRegistryException> { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GovRegistryException"); http://git-wip-us.apache.org/repos/asf/airavata/blob/99de5cc4/modules/airavata-sharing-registry/airavata-sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupChildType.java ---------------------------------------------------------------------- diff --git a/modules/airavata-sharing-registry/airavata-sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupChildType.java b/modules/airavata-sharing-registry/airavata-sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupChildType.java index 61f3564..ba7b659 100644 --- a/modules/airavata-sharing-registry/airavata-sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupChildType.java +++ b/modules/airavata-sharing-registry/airavata-sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupChildType.java @@ -7,6 +7,10 @@ package org.apache.airavata.sharing.registry.models; +import java.util.Map; +import java.util.HashMap; +import org.apache.thrift.TEnum; + public enum GroupChildType implements org.apache.thrift.TEnum { USER(0), GROUP(1); http://git-wip-us.apache.org/repos/asf/airavata/blob/99de5cc4/modules/airavata-sharing-registry/airavata-sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupMembership.java ---------------------------------------------------------------------- diff --git a/modules/airavata-sharing-registry/airavata-sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupMembership.java b/modules/airavata-sharing-registry/airavata-sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupMembership.java index 8fc2cd8..d426063 100644 --- a/modules/airavata-sharing-registry/airavata-sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupMembership.java +++ b/modules/airavata-sharing-registry/airavata-sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupMembership.java @@ -34,7 +34,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"}) -@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-09-23") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-10-03") public class GroupMembership implements org.apache.thrift.TBase<GroupMembership, GroupMembership._Fields>, java.io.Serializable, Cloneable, Comparable<GroupMembership> { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GroupMembership"); http://git-wip-us.apache.org/repos/asf/airavata/blob/99de5cc4/modules/airavata-sharing-registry/airavata-sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/PermissionType.java ---------------------------------------------------------------------- diff --git a/modules/airavata-sharing-registry/airavata-sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/PermissionType.java b/modules/airavata-sharing-registry/airavata-sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/PermissionType.java index 50bbe15..465ddfc 100644 --- a/modules/airavata-sharing-registry/airavata-sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/PermissionType.java +++ b/modules/airavata-sharing-registry/airavata-sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/PermissionType.java @@ -34,7 +34,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"}) -@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-09-23") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-10-03") public class PermissionType implements org.apache.thrift.TBase<PermissionType, PermissionType._Fields>, java.io.Serializable, Cloneable, Comparable<PermissionType> { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("PermissionType"); http://git-wip-us.apache.org/repos/asf/airavata/blob/99de5cc4/modules/airavata-sharing-registry/airavata-sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Sharing.java ---------------------------------------------------------------------- diff --git a/modules/airavata-sharing-registry/airavata-sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Sharing.java b/modules/airavata-sharing-registry/airavata-sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Sharing.java index c7d07d6..41bdc96 100644 --- a/modules/airavata-sharing-registry/airavata-sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Sharing.java +++ b/modules/airavata-sharing-registry/airavata-sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Sharing.java @@ -34,7 +34,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"}) -@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-09-23") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-10-03") public class Sharing implements org.apache.thrift.TBase<Sharing, Sharing._Fields>, java.io.Serializable, Cloneable, Comparable<Sharing> { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Sharing"); http://git-wip-us.apache.org/repos/asf/airavata/blob/99de5cc4/modules/airavata-sharing-registry/airavata-sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/User.java ---------------------------------------------------------------------- diff --git a/modules/airavata-sharing-registry/airavata-sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/User.java b/modules/airavata-sharing-registry/airavata-sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/User.java index 230be05..d70b8c1 100644 --- a/modules/airavata-sharing-registry/airavata-sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/User.java +++ b/modules/airavata-sharing-registry/airavata-sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/User.java @@ -34,7 +34,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"}) -@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-09-23") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-10-03") public class User implements org.apache.thrift.TBase<User, User._Fields>, java.io.Serializable, Cloneable, Comparable<User> { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("User"); http://git-wip-us.apache.org/repos/asf/airavata/blob/99de5cc4/modules/airavata-sharing-registry/airavata-sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/UserGroup.java ---------------------------------------------------------------------- diff --git a/modules/airavata-sharing-registry/airavata-sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/UserGroup.java b/modules/airavata-sharing-registry/airavata-sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/UserGroup.java index 211ee5c..442e597 100644 --- a/modules/airavata-sharing-registry/airavata-sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/UserGroup.java +++ b/modules/airavata-sharing-registry/airavata-sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/UserGroup.java @@ -34,7 +34,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"}) -@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-09-23") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-10-03") public class UserGroup implements org.apache.thrift.TBase<UserGroup, UserGroup._Fields>, java.io.Serializable, Cloneable, Comparable<UserGroup> { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("UserGroup");
