changing Airavata Server Handler to use new Sharing Module
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/10f30a96 Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/10f30a96 Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/10f30a96 Branch: refs/heads/airavata-gov-registry Commit: 10f30a96f6478fb045ae6e0cdb15b25614581856 Parents: 4ddfa10 Author: scnakandala <[email protected]> Authored: Fri Oct 7 12:31:14 2016 -0400 Committer: scnakandala <[email protected]> Committed: Fri Oct 7 12:31:14 2016 -0400 ---------------------------------------------------------------------- airavata-api/airavata-api-server/pom.xml | 7 +- .../server/handler/AiravataServerHandler.java | 357 +-- .../server/SharingRegistryServerHandler.java | 13 +- .../sharing/registry/models/Domain.java | 2 +- .../sharing/registry/models/Entity.java | 2 +- .../sharing/registry/models/EntityType.java | 2 +- .../registry/models/GovRegistryException.java | 2 +- .../registry/models/GroupMembership.java | 2 +- .../sharing/registry/models/PermissionType.java | 2 +- .../sharing/registry/models/Sharing.java | 134 +- .../airavata/sharing/registry/models/User.java | 2 +- .../sharing/registry/models/UserGroup.java | 2 +- .../service/cpi/GovRegistryService.java | 2950 +++++++++++++++--- .../thrift_models/sharing_cpi.thrift | 2 + 14 files changed, 2741 insertions(+), 738 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/airavata/blob/10f30a96/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 e5b549c..e529a4d 100644 --- a/airavata-api/airavata-api-server/pom.xml +++ b/airavata-api/airavata-api-server/pom.xml @@ -73,9 +73,14 @@ </dependency> <dependency> <groupId>org.apache.airavata</groupId> - <artifactId>group-manager</artifactId> + <artifactId>airavata-sharing-registry-core</artifactId> <version>${project.version}</version> </dependency> + <!--<dependency>--> + <!--<groupId>org.apache.airavata</groupId>--> + <!--<artifactId>group-manager</artifactId>--> + <!--<version>${project.version}</version>--> + <!--</dependency>--> <dependency> <groupId>org.apache.thrift</groupId> <artifactId>libthrift</artifactId> http://git-wip-us.apache.org/repos/asf/airavata/blob/10f30a96/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 5ccf874..01fcff7 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 @@ -27,19 +27,13 @@ import org.apache.airavata.api.server.security.interceptor.SecurityCheck; import org.apache.airavata.common.exception.AiravataException; import org.apache.airavata.common.exception.ApplicationSettingsException; import org.apache.airavata.common.utils.AiravataUtils; +import org.apache.airavata.common.utils.Constants; import org.apache.airavata.common.utils.ServerSettings; import org.apache.airavata.credential.store.client.CredentialStoreClientFactory; import org.apache.airavata.credential.store.cpi.CredentialStoreService; import org.apache.airavata.credential.store.datamodel.PasswordCredential; import org.apache.airavata.credential.store.datamodel.SSHCredential; import org.apache.airavata.credential.store.exception.CredentialStoreException; -import org.apache.airavata.grouper.GroupManagerCPI; -import org.apache.airavata.grouper.GroupManagerException; -import org.apache.airavata.grouper.GroupManagerFactory; -import org.apache.airavata.grouper.SubjectType; -import org.apache.airavata.grouper.group.Group; -import org.apache.airavata.grouper.permission.PermissionAction; -import org.apache.airavata.grouper.resource.Resource; import org.apache.airavata.messaging.core.MessageContext; import org.apache.airavata.messaging.core.MessagingFactory; import org.apache.airavata.messaging.core.Publisher; @@ -80,6 +74,8 @@ import org.apache.airavata.model.workspace.Project; import org.apache.airavata.registry.api.RegistryService; import org.apache.airavata.registry.api.client.RegistryServiceClientFactory; import org.apache.airavata.registry.api.exception.RegistryServiceException; +import org.apache.airavata.sharing.registry.models.Entity; +import org.apache.airavata.sharing.registry.server.SharingRegistryServerHandler; import org.apache.thrift.TException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -92,10 +88,14 @@ public class AiravataServerHandler implements Airavata.Iface { private Publisher experimentPublisher; private CredentialStoreService.Client csClient; + private SharingRegistryServerHandler sharingRegistryServerHandler; + public AiravataServerHandler() { try { statusPublisher = MessagingFactory.getPublisher(Type.STATUS); experimentPublisher = MessagingFactory.getPublisher(Type.EXPERIMENT_LAUNCH); + + sharingRegistryServerHandler = new SharingRegistryServerHandler(); } catch (ApplicationSettingsException e) { logger.error("Error occured while reading airavata-server properties..", e); } catch (AiravataException e) { @@ -499,14 +499,17 @@ public class AiravataServerHandler implements Airavata.Iface { try { String projectId = getRegistryServiceClient().createProject(gatewayId, project); - Resource projResource = new Resource(projectId, org.apache.airavata.grouper.resource.ResourceType.PROJECT); - projResource.setOwnerId(project.getOwner() + "@" + project.getGatewayId()); - projResource.setName(project.getName()); - projResource.setDescription(project.getDescription()); if(ServerSettings.isEnableSharing()){ - GroupManagerCPI groupManager = GroupManagerFactory.getGroupManager(); - groupManager.createResource(projResource); + Entity entity = new Entity(); + entity.setEntityId(projectId); + entity.setDomainId(project.getGatewayId()); + entity.setEntityTypeId(project.getGatewayId()+":"+"PROJECT"); + entity.setOwnerId(project.getOwner() + "@" + project.getGatewayId()); + entity.setName(project.getName()); + entity.setDescription(project.getDescription()); + + sharingRegistryServerHandler.createEntity(entity); } logger.debug("Airavata created project with project Id : " + projectId + " for gateway Id : " + gatewayId); @@ -530,9 +533,10 @@ public class AiravataServerHandler implements Airavata.Iface { if(ServerSettings.isEnableSharing() && !authzToken.getClaimsMap().get(org.apache.airavata.common.utils.Constants.USER_NAME).equals(existingProject.getOwner()) || !authzToken.getClaimsMap().get(org.apache.airavata.common.utils.Constants.GATEWAY_ID).equals(existingProject.getGatewayId())){ try { - if(!hasPermission(authzToken.getClaimsMap().get(org.apache.airavata.common.utils.Constants.USER_NAME) - +"@"+authzToken.getClaimsMap().get(org.apache.airavata.common.utils.Constants.GATEWAY_ID), - existingProject.getProjectID(), ResourceType.PROJECT, ResourcePermissionType.WRITE)){ + String gatewayId = authzToken.getClaimsMap().get(Constants.GATEWAY_ID); + String userId = authzToken.getClaimsMap().get(Constants.USER_NAME); + if(!sharingRegistryServerHandler.userHasAccess(gatewayId, userId + "@" + gatewayId, + projectId, gatewayId + ":WRITE")){ throw new AuthorizationException("User does not have permission to access this resource"); } } catch (Exception e) { @@ -560,9 +564,10 @@ public class AiravataServerHandler implements Airavata.Iface { if(ServerSettings.isEnableSharing() && !authzToken.getClaimsMap().get(org.apache.airavata.common.utils.Constants.USER_NAME).equals(existingProject.getOwner()) || !authzToken.getClaimsMap().get(org.apache.airavata.common.utils.Constants.GATEWAY_ID).equals(existingProject.getGatewayId())){ try { - if(!hasPermission(authzToken.getClaimsMap().get(org.apache.airavata.common.utils.Constants.USER_NAME) - +"@"+authzToken.getClaimsMap().get(org.apache.airavata.common.utils.Constants.GATEWAY_ID), - existingProject.getProjectID(), ResourceType.PROJECT, ResourcePermissionType.WRITE)){ + String gatewayId = authzToken.getClaimsMap().get(Constants.GATEWAY_ID); + String userId = authzToken.getClaimsMap().get(Constants.USER_NAME); + if(!sharingRegistryServerHandler.userHasAccess(gatewayId, userId + "@" + gatewayId, + projectId, gatewayId + ":WRITE")){ throw new AuthorizationException("User does not have permission to access this resource"); } } catch (Exception e) { @@ -604,13 +609,13 @@ public class AiravataServerHandler implements Airavata.Iface { return project; }else if (ServerSettings.isEnableSharing()){ try { - if(hasPermission(authzToken.getClaimsMap().get(org.apache.airavata.common.utils.Constants.USER_NAME) - +"@"+authzToken.getClaimsMap().get(org.apache.airavata.common.utils.Constants.GATEWAY_ID), - project.getProjectID(), ResourceType.PROJECT, ResourcePermissionType.READ)){ - return project; - }else { + String gatewayId = authzToken.getClaimsMap().get(Constants.GATEWAY_ID); + String userId = authzToken.getClaimsMap().get(Constants.USER_NAME); + if(!sharingRegistryServerHandler.userHasAccess(gatewayId, userId + "@" + gatewayId, + projectId, gatewayId + ":READ")){ throw new AuthorizationException("User does not have permission to access this resource"); } + return project; } catch (Exception e) { throw new AuthorizationException("User does not have permission to access this resource"); } @@ -683,7 +688,8 @@ public class AiravataServerHandler implements Airavata.Iface { List<String> accessibleProjIds = new ArrayList<>(); if(ServerSettings.isEnableSharing()) - accessibleProjIds.addAll(getAllAccessibleResourcesForUser(userName+"@"+gatewayId, ResourceType.PROJECT, ResourcePermissionType.READ)); + sharingRegistryServerHandler.searchEntities(userName+"@"+gatewayId, gatewayId+":PROJECT", + new HashMap<>(), 0, -1).stream().forEach(e->accessibleProjIds.add(e.entityId)); return getRegistryServiceClient().searchProjects(gatewayId, userName, accessibleProjIds, filters, limit, offset); }catch (Exception e) { @@ -719,7 +725,8 @@ public class AiravataServerHandler implements Airavata.Iface { try { List<String> accessibleExpIds = new ArrayList<>(); if(ServerSettings.isEnableSharing()) - accessibleExpIds.addAll(getAllAccessibleResourcesForUser(userName + "@" + gatewayId, ResourceType.EXPERIMENT, ResourcePermissionType.READ)); + sharingRegistryServerHandler.searchEntities(userName+"@"+gatewayId, gatewayId+":EXPERIMENT", + new HashMap<>(), 0, -1).forEach(e->accessibleExpIds.add(e.entityId)); return getRegistryServiceClient().searchExperiments(gatewayId, userName, accessibleExpIds, filters, limit, offset); }catch (Exception e) { logger.error("Error while retrieving experiments", e); @@ -781,9 +788,10 @@ public class AiravataServerHandler implements Airavata.Iface { if(ServerSettings.isEnableSharing() && !authzToken.getClaimsMap().get(org.apache.airavata.common.utils.Constants.USER_NAME).equals(project.getOwner()) || !authzToken.getClaimsMap().get(org.apache.airavata.common.utils.Constants.GATEWAY_ID).equals(project.getGatewayId())){ try { - if(!hasPermission(authzToken.getClaimsMap().get(org.apache.airavata.common.utils.Constants.USER_NAME) - +"@"+authzToken.getClaimsMap().get(org.apache.airavata.common.utils.Constants.GATEWAY_ID), - project.getProjectID(), ResourceType.PROJECT, ResourcePermissionType.READ)){ + String gatewayId = authzToken.getClaimsMap().get(Constants.GATEWAY_ID); + String userId = authzToken.getClaimsMap().get(Constants.USER_NAME); + if(!sharingRegistryServerHandler.userHasAccess(gatewayId, userId + "@" + gatewayId, + projectId, gatewayId + ":READ")){ throw new AuthorizationException("User does not have permission to access this resource"); } } catch (Exception e) { @@ -857,15 +865,17 @@ public class AiravataServerHandler implements Airavata.Iface { AiravataClientException, AiravataSystemException, AuthorizationException, TException { try { String experimentId = getRegistryServiceClient().createExperiment(gatewayId, experiment); - Resource expResource = new Resource(experimentId, org.apache.airavata.grouper.resource.ResourceType.EXPERIMENT); - expResource.setOwnerId(experiment.getUserName()+"@"+experiment.getGatewayId()); - expResource.setParentResourceId(experiment.getProjectId()); - expResource.setName(experiment.getExperimentName()); - expResource.setDescription(experiment.getDescription()); if(ServerSettings.isEnableSharing()) { - GroupManagerCPI groupManager = GroupManagerFactory.getGroupManager(); - groupManager.createResource(expResource); + Entity entity = new Entity(); + entity.setEntityId(experimentId); + entity.setDomainId(experiment.getGatewayId()); + entity.setEntityTypeId(experiment.getGatewayId()+":"+"EXPERIMENT"); + entity.setOwnerId(experiment.getUserName() + "@" + experiment.getGatewayId()); + entity.setName(experiment.getExperimentName()); + entity.setDescription(experiment.getDescription()); + + sharingRegistryServerHandler.createEntity(entity); } ExperimentStatusChangeEvent event = new ExperimentStatusChangeEvent(ExperimentState.CREATED, @@ -909,9 +919,10 @@ public class AiravataServerHandler implements Airavata.Iface { if(ServerSettings.isEnableSharing() && !authzToken.getClaimsMap().get(org.apache.airavata.common.utils.Constants.USER_NAME).equals(experimentModel.getUserName()) || !authzToken.getClaimsMap().get(org.apache.airavata.common.utils.Constants.GATEWAY_ID).equals(experimentModel.getGatewayId())){ try { - if(! hasPermission(authzToken.getClaimsMap().get(org.apache.airavata.common.utils.Constants.USER_NAME) - +"@"+authzToken.getClaimsMap().get(org.apache.airavata.common.utils.Constants.GATEWAY_ID), - experimentModel.getExperimentId(), ResourceType.EXPERIMENT, ResourcePermissionType.WRITE)){ + String gatewayId = authzToken.getClaimsMap().get(Constants.GATEWAY_ID); + String userId = authzToken.getClaimsMap().get(Constants.USER_NAME); + if(!sharingRegistryServerHandler.userHasAccess(gatewayId, userId + "@" + gatewayId, + experimentId, gatewayId + ":WRITE")){ throw new AuthorizationException("User does not have permission to access this resource"); } } catch (Exception e) { @@ -967,13 +978,13 @@ public class AiravataServerHandler implements Airavata.Iface { return experimentModel; }else if(ServerSettings.isEnableSharing()){ try { - if(hasPermission(authzToken.getClaimsMap().get(org.apache.airavata.common.utils.Constants.USER_NAME) - +"@"+authzToken.getClaimsMap().get(org.apache.airavata.common.utils.Constants.GATEWAY_ID), - experimentModel.getExperimentId(), ResourceType.EXPERIMENT, ResourcePermissionType.READ)){ - return experimentModel; - }else { + String gatewayId = authzToken.getClaimsMap().get(Constants.GATEWAY_ID); + String userId = authzToken.getClaimsMap().get(Constants.USER_NAME); + if(!sharingRegistryServerHandler.userHasAccess(gatewayId, userId + "@" + gatewayId, + airavataExperimentId, gatewayId + ":READ")){ throw new AuthorizationException("User does not have permission to access this resource"); } + return experimentModel; } catch (Exception e) { throw new AuthorizationException("User does not have permission to access this resource"); } @@ -1062,9 +1073,10 @@ public class AiravataServerHandler implements Airavata.Iface { if(ServerSettings.isEnableSharing() && !authzToken.getClaimsMap().get(org.apache.airavata.common.utils.Constants.USER_NAME).equals(experimentModel.getUserName()) || !authzToken.getClaimsMap().get(org.apache.airavata.common.utils.Constants.GATEWAY_ID).equals(experimentModel.getGatewayId())){ try { - if(! hasPermission(authzToken.getClaimsMap().get(org.apache.airavata.common.utils.Constants.USER_NAME) - +"@"+authzToken.getClaimsMap().get(org.apache.airavata.common.utils.Constants.GATEWAY_ID), - experimentModel.getExperimentId(), ResourceType.EXPERIMENT, ResourcePermissionType.WRITE)){ + String gatewayId = authzToken.getClaimsMap().get(Constants.GATEWAY_ID); + String userId = authzToken.getClaimsMap().get(Constants.USER_NAME); + if(!sharingRegistryServerHandler.userHasAccess(gatewayId, userId + "@" + gatewayId, + airavataExperimentId, gatewayId + ":WRITE")){ throw new AuthorizationException("User does not have permission to access this resource"); } } catch (Exception e) { @@ -1394,13 +1406,16 @@ public class AiravataServerHandler implements Airavata.Iface { existingExperiment.setUserName(authzToken.getClaimsMap().get(org.apache.airavata.common.utils.Constants.USER_NAME)); String expId = regClient.createExperiment(gatewayId, existingExperiment); - String projectId = existingExperiment.getProjectId(); - if(ServerSettings.isEnableSharing()){ - if(!isResourceExistsInGrouper(projectId, ResourceType.PROJECT)){ - initializeResourceWithGrouper(projectId, ResourceType.PROJECT); - } - initializeResourceWithGrouper(expId, ResourceType.EXPERIMENT); + Entity entity = new Entity(); + entity.setEntityId(expId); + entity.setDomainId(existingExperiment.getGatewayId()); + entity.setEntityTypeId(existingExperiment.getGatewayId()+":"+"EXPERIMENT"); + entity.setOwnerId(existingExperiment.getUserName() + "@" + existingExperiment.getGatewayId()); + entity.setName(existingExperiment.getExperimentName()); + entity.setDescription(existingExperiment.getDescription()); + + sharingRegistryServerHandler.createEntity(entity); } return expId; @@ -3330,29 +3345,13 @@ public class AiravataServerHandler implements Airavata.Iface { Map<String, ResourcePermissionType> userPermissionList) throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException { try { - if(!isResourceExistsInGrouper(resourceId, resourceType)){ - initializeResourceWithGrouper(resourceId, resourceType); - } - GroupManagerCPI groupManager = GroupManagerFactory.getGroupManager(); - for(Map.Entry<String, ResourcePermissionType> entry : userPermissionList.entrySet()){ - org.apache.airavata.grouper.resource.ResourceType gResouceType; - if(resourceType.equals(ResourceType.EXPERIMENT)){ - gResouceType = org.apache.airavata.grouper.resource.ResourceType.EXPERIMENT; - }else if(resourceType.equals(ResourceType.PROJECT)){ - gResouceType = org.apache.airavata.grouper.resource.ResourceType.PROJECT; - }else{ - //Unsupported data type - continue; - } - - if(entry.getValue().equals(ResourcePermissionType.READ)){ - groupManager.grantPermission(entry.getKey(), SubjectType.PERSON, resourceId, gResouceType, PermissionAction.READ); - }else if(entry.getValue().equals(ResourcePermissionType.WRITE)){ - groupManager.grantPermission(entry.getKey(), SubjectType.PERSON, resourceId, gResouceType, PermissionAction.WRITE); - }else{ - //Unsupported permission type - continue; - } + for(Map.Entry<String, ResourcePermissionType> userPermission : userPermissionList.entrySet()){ + if(userPermission.getValue().equals(ResourcePermissionType.WRITE)) + sharingRegistryServerHandler.shareEntityWithUsers(resourceId, + Arrays.asList(userPermission.getKey()), authzToken.getClaimsMap().get(Constants.GATEWAY_ID) + ":" + "WRITE", true); + else + sharingRegistryServerHandler.shareEntityWithUsers(resourceId, + Arrays.asList(userPermission.getKey()), authzToken.getClaimsMap().get("GatewatId") + ":" + "READ", true); } return true; } catch (Exception e) { @@ -3369,29 +3368,13 @@ public class AiravataServerHandler implements Airavata.Iface { public boolean revokeSharingOfResourceFromUsers(AuthzToken authzToken, String resourceId, ResourceType resourceType, Map<String, ResourcePermissionType> userPermissionList) throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException { try { - if(!isResourceExistsInGrouper(resourceId, resourceType)){ - initializeResourceWithGrouper(resourceId, resourceType); - } - GroupManagerCPI groupManager = GroupManagerFactory.getGroupManager(); - for(Map.Entry<String, ResourcePermissionType> entry : userPermissionList.entrySet()){ - org.apache.airavata.grouper.resource.ResourceType gResouceType; - if(resourceType.equals(ResourceType.EXPERIMENT)){ - gResouceType = org.apache.airavata.grouper.resource.ResourceType.EXPERIMENT; - }else if(resourceType.equals(ResourceType.PROJECT)){ - gResouceType = org.apache.airavata.grouper.resource.ResourceType.PROJECT; - }else{ - //Unsupported data type - continue; - } - - if(entry.getValue().equals(ResourcePermissionType.READ)){ - groupManager.revokePermission(entry.getKey(), SubjectType.PERSON, resourceId, gResouceType, PermissionAction.READ); - }else if(entry.getValue().equals(ResourcePermissionType.WRITE)){ - groupManager.revokePermission(entry.getKey(), SubjectType.PERSON, resourceId, gResouceType, PermissionAction.WRITE); - }else{ - //Unsupported permission type - continue; - } + for(Map.Entry<String, ResourcePermissionType> userPermission : userPermissionList.entrySet()){ + if(userPermission.getValue().equals(ResourcePermissionType.WRITE)) + sharingRegistryServerHandler.revokeEntitySharingFromUsers(resourceId, + Arrays.asList(userPermission.getKey()), authzToken.getClaimsMap().get(Constants.GATEWAY_ID) + ":" + "WRITE"); + else + sharingRegistryServerHandler.revokeEntitySharingFromUsers(resourceId, + Arrays.asList(userPermission.getKey()), authzToken.getClaimsMap().get(Constants.GATEWAY_ID) + ":" + "READ"); } return true; } catch (Exception e) { @@ -3407,26 +3390,9 @@ public class AiravataServerHandler implements Airavata.Iface { @SecurityCheck public List<String> getAllAccessibleUsers(AuthzToken authzToken, String resourceId, ResourceType resourceType, ResourcePermissionType permissionType) throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException { try { - GroupManagerCPI groupManager = GroupManagerFactory.getGroupManager(); - org.apache.airavata.grouper.resource.ResourceType gResourceType; - if(resourceType.equals(ResourceType.PROJECT)){ - gResourceType = org.apache.airavata.grouper.resource.ResourceType.PROJECT; - }else if(resourceType.equals(ResourceType.EXPERIMENT)){ - gResourceType = org.apache.airavata.grouper.resource.ResourceType.EXPERIMENT; - }else{ - throw new GroupManagerException("Unsupported Resource Type"); - } - - org.apache.airavata.grouper.permission.PermissionAction gPermissionType; - if(permissionType.equals(ResourcePermissionType.READ)){ - gPermissionType = PermissionAction.READ; - } else if (permissionType.equals(ResourcePermissionType.WRITE)){ - gPermissionType = PermissionAction.WRITE; - }else{ - throw new GroupManagerException("Unsupported Permission Type"); - } List<String> accessibleUsers = new ArrayList<>(); - accessibleUsers.addAll(groupManager.getAllAccessibleUsers(resourceId, gResourceType, gPermissionType)); + if(permissionType.equals(ResourcePermissionType.WRITE)) + sharingRegistryServerHandler.getListOfSharedUsers(resourceId, authzToken.getClaimsMap().get(Constants.GATEWAY_ID) + ":WRITE").stream().forEach(u->accessibleUsers.add(u.userId)); return accessibleUsers; } catch (Exception e) { String msg = "Error in getting all accessible users for resource. Resource ID : " + resourceId + " Resource Type : " + resourceType.toString() ; @@ -3441,12 +3407,7 @@ public class AiravataServerHandler implements Airavata.Iface { @SecurityCheck public boolean createGroup(AuthzToken authzToken, GroupModel groupModel) throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException { try { - GroupManagerCPI groupManager = GroupManagerFactory.getGroupManager(); - Group group = new Group(); - group.setName(groupModel.getName()); - group.setDescription(groupModel.getDescription()); - group.setMembers(groupModel.getMembers()); - groupManager.createGroup(group); + throw new UnsupportedOperationException("Method not supported yet"); } catch (Exception e) { String msg = "Error Creating Group" ; logger.error(msg, e); @@ -3454,20 +3415,14 @@ public class AiravataServerHandler implements Airavata.Iface { exception.setMessage(msg + " More info : " + e.getMessage()); throw exception; } - return true; } @Override @SecurityCheck - public boolean updateGroup(AuthzToken authzToken, GroupModel groupModel) throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException { + public boolean updateGroup(AuthzToken authzToken, GroupModel groupModel) throws InvalidRequestException, + AiravataClientException, AiravataSystemException, AuthorizationException, TException { try { - GroupManagerCPI groupManager = GroupManagerFactory.getGroupManager(); - Group group = new Group(); - group.setId(groupModel.getId()); - group.setName(groupModel.getName()); - group.setDescription(groupModel.getDescription()); - group.setMembers(groupModel.getMembers()); - groupManager.updateGroup(group); + throw new UnsupportedOperationException("Method not supported yet"); } catch (Exception e) { String msg = "Error Updating Group" ; logger.error(msg, e); @@ -3475,15 +3430,14 @@ public class AiravataServerHandler implements Airavata.Iface { exception.setMessage(msg + " More info : " + e.getMessage()); throw exception; } - return true; } @Override @SecurityCheck - public boolean deleteGroup(AuthzToken authzToken, String groupId, String ownerId, String gatewayId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException { + public boolean deleteGroup(AuthzToken authzToken, String groupId, String ownerId, String gatewayId) throws + InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException { try { - GroupManagerCPI groupManager = GroupManagerFactory.getGroupManager(); - groupManager.deleteGroup(groupId, ownerId + "@" + gatewayId); + throw new UnsupportedOperationException("Method not supported yet"); } catch (Exception e) { String msg = "Error Deleting Group. Group ID: " + groupId ; logger.error(msg, e); @@ -3491,22 +3445,14 @@ public class AiravataServerHandler implements Airavata.Iface { exception.setMessage(msg + " More info : " + e.getMessage()); throw exception; } - return true; } @Override @SecurityCheck - public GroupModel getGroup(AuthzToken authzToken, String groupId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException { + public GroupModel getGroup(AuthzToken authzToken, String groupId) throws InvalidRequestException, + AiravataClientException, AiravataSystemException, AuthorizationException, TException { try { - GroupManagerCPI groupManager = GroupManagerFactory.getGroupManager(); - Group group = groupManager.getGroup(groupId); - GroupModel groupModel = new GroupModel(); - groupModel.setId(group.getId()); - groupModel.setName(group.getName()); - groupModel.setDescription(group.getDescription()); - groupModel.setMembers(group.getMembers()); - - return groupModel; + throw new UnsupportedOperationException("Method not supported yet"); } catch (Exception e) { String msg = "Error Retreiving Group. Group ID: " + groupId ; logger.error(msg, e); @@ -3518,21 +3464,10 @@ public class AiravataServerHandler implements Airavata.Iface { @Override @SecurityCheck - public List<GroupModel> getAllGroupsUserBelongs(AuthzToken authzToken, String userName, String gatewayId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException { + public List<GroupModel> getAllGroupsUserBelongs(AuthzToken authzToken, String userName, String gatewayId) + throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException { try { - GroupManagerCPI groupManager = GroupManagerFactory.getGroupManager(); - List<Group> userGroups = groupManager.getAllGroupsUserBelongs(userName+"@"+gatewayId); - List<GroupModel> groupModels = new ArrayList<>(); - userGroups.stream().forEach(group->{ - GroupModel groupModel = new GroupModel(); - groupModel.setId(group.getId()); - groupModel.setName(group.getName()); - groupModel.setDescription(group.getDescription()); - groupModel.setMembers(group.getMembers()); - - groupModels.add(groupModel); - }); - return groupModels; + throw new UnsupportedOperationException("Method not supported yet"); } catch (Exception e) { String msg = "Error Retreiving All Groups for User. User ID: " + userName ; logger.error(msg, e); @@ -3542,104 +3477,6 @@ public class AiravataServerHandler implements Airavata.Iface { } } - private void initializeResourceWithGrouper(String resourceId, ResourceType resourceType) throws RegistryServiceException, GroupManagerException, TException, ApplicationSettingsException { - GroupManagerCPI groupManager = GroupManagerFactory.getGroupManager(); - if(resourceType.equals(ResourceType.PROJECT)){ - Project project = (Project) getRegistryServiceClient().getProject(resourceId); - - Resource projectResource = new Resource(project.getProjectID(), org.apache.airavata.grouper.resource.ResourceType.PROJECT); - projectResource.setName(project.getName()); - projectResource.setDescription(project.getDescription()); - projectResource.setOwnerId(project.getOwner()+"@"+project.getGatewayId()); - groupManager.createResource(projectResource); - - }else if(resourceType.equals(ResourceType.EXPERIMENT)){ - ExperimentModel experiment = getRegistryServiceClient().getExperiment(resourceId); - if(!isResourceExistsInGrouper(experiment.getProjectId(), ResourceType.PROJECT)){ - initializeResourceWithGrouper(experiment.getProjectId(), ResourceType.PROJECT); - } - Resource experimentResource = new Resource(experiment.getExperimentId(), org.apache.airavata.grouper.resource.ResourceType.EXPERIMENT); - experimentResource.setName(experiment.getExperimentName()); - experimentResource.setDescription(experiment.getDescription()); - experimentResource.setParentResourceId(experiment.getProjectId()); - experimentResource.setOwnerId(experiment.getUserName()+"@"+experiment.getGatewayId()); - groupManager.createResource(experimentResource); - }else{ - throw new GroupManagerException("Unsupported Resource Type"); - } - - } - - private boolean isResourceExistsInGrouper(String resourceId, ResourceType resourceType) throws GroupManagerException { - GroupManagerCPI groupManager = GroupManagerFactory.getGroupManager(); - if(resourceType.equals(ResourceType.PROJECT)){ - return groupManager.isResourceRegistered(resourceId, org.apache.airavata.grouper.resource.ResourceType.PROJECT); - }else if(resourceType.equals(ResourceType.EXPERIMENT)){ - return groupManager.isResourceRegistered(resourceId, org.apache.airavata.grouper.resource.ResourceType.EXPERIMENT); - }else{ - throw new GroupManagerException("Unsupported Resource Type"); - } - - } - - private boolean hasPermission(String userId, String resourceId, ResourceType resourceType, ResourcePermissionType permissionType) - throws GroupManagerException, TException, ApplicationSettingsException { - if(!isResourceExistsInGrouper(resourceId, resourceType)){ - initializeResourceWithGrouper(resourceId, resourceType); - } - GroupManagerCPI groupManager = GroupManagerFactory.getGroupManager(); - org.apache.airavata.grouper.resource.ResourceType gResourceType; - if(resourceType.equals(ResourceType.PROJECT)){ - gResourceType = org.apache.airavata.grouper.resource.ResourceType.PROJECT; - }else if(resourceType.equals(ResourceType.EXPERIMENT)){ - gResourceType = org.apache.airavata.grouper.resource.ResourceType.EXPERIMENT; - }else{ - throw new GroupManagerException("Unsupported Resource Type"); - } - - org.apache.airavata.grouper.permission.PermissionAction gPermissionType; - if(permissionType.equals(ResourcePermissionType.READ)){ - gPermissionType = PermissionAction.READ; - } else if (permissionType.equals(ResourcePermissionType.WRITE)){ - gPermissionType = PermissionAction.WRITE; - }else{ - throw new GroupManagerException("Unsupported Permission Type"); - } - Set<String> accessibleUsers = groupManager.getAllAccessibleUsers(resourceId, gResourceType, gPermissionType); - return accessibleUsers.contains(userId); - } - - private List<String> getAllAccessibleResourcesForUser(String userId, ResourceType resourceType, ResourcePermissionType permissionType) - throws GroupManagerException, TException, ApplicationSettingsException { - if(!getRegistryServiceClient().isUserExists(userId.split("@")[1], userId.split("@")[0])){ - //user is still not initialized in the sistem - return new ArrayList<>(); - } - - GroupManagerCPI groupManager = GroupManagerFactory.getGroupManager(); - org.apache.airavata.grouper.resource.ResourceType gResourceType; - if(resourceType.equals(ResourceType.PROJECT)){ - gResourceType = org.apache.airavata.grouper.resource.ResourceType.PROJECT; - }else if(resourceType.equals(ResourceType.EXPERIMENT)){ - gResourceType = org.apache.airavata.grouper.resource.ResourceType.EXPERIMENT; - }else{ - throw new GroupManagerException("Unsupported Resource Type"); - } - - org.apache.airavata.grouper.permission.PermissionAction gPermissionType; - if(permissionType.equals(ResourcePermissionType.READ)){ - gPermissionType = PermissionAction.READ; - } else if (permissionType.equals(ResourcePermissionType.WRITE)){ - gPermissionType = PermissionAction.WRITE; - }else{ - throw new GroupManagerException("Unsupported Permission Type"); - } - - List<String> allAccessibleResources = groupManager.getAccessibleResourcesForUser(userId, gResourceType, gPermissionType); - return allAccessibleResources; - } - - private void submitExperiment(String gatewayId,String experimentId) throws AiravataException { ExperimentSubmitEvent event = new ExperimentSubmitEvent(experimentId, gatewayId); MessageContext messageContext = new MessageContext(event, MessageType.EXPERIMENT, "LAUNCH.EXP-" + UUID.randomUUID().toString(), gatewayId); http://git-wip-us.apache.org/repos/asf/airavata/blob/10f30a96/modules/sharing-registry/sharing-registry-core/src/main/java/org/apache/airavata/sharing/registry/server/SharingRegistryServerHandler.java ---------------------------------------------------------------------- diff --git a/modules/sharing-registry/sharing-registry-core/src/main/java/org/apache/airavata/sharing/registry/server/SharingRegistryServerHandler.java b/modules/sharing-registry/sharing-registry-core/src/main/java/org/apache/airavata/sharing/registry/server/SharingRegistryServerHandler.java index 247cbfe..bfcaa1f 100644 --- a/modules/sharing-registry/sharing-registry-core/src/main/java/org/apache/airavata/sharing/registry/server/SharingRegistryServerHandler.java +++ b/modules/sharing-registry/sharing-registry-core/src/main/java/org/apache/airavata/sharing/registry/server/SharingRegistryServerHandler.java @@ -430,6 +430,16 @@ public class SharingRegistryServerHandler implements GovRegistryService.Iface{ return entityRepository.searchEntities(groupIds, entityTypeId, filters, offset, limit); } + @Override + public List<User> getListOfSharedUsers(String entityId, String permissionTypeId) throws GovRegistryException, TException { + return null; + } + + @Override + public List<UserGroup> getListOfSharedGroups(String entityId, String permissionTypeId) throws GovRegistryException, TException { + return null; + } + /** * * Sharing Entity with Users and Groups * * @@ -459,10 +469,8 @@ public class SharingRegistryServerHandler implements GovRegistryService.Iface{ sharing.setInheritedParentId(entityId); if(cascadePermission) { sharing.setSharingType(SharingType.DIRECT_CASCADING); - sharing.setCascadePermission(true); }else { sharing.setSharingType(SharingType.DIRECT_NON_CASCADING); - sharing.setCascadePermission(false); } sharing.setCreatedTime(System.currentTimeMillis()); sharing.setUpdatedTime(System.currentTimeMillis()); @@ -484,7 +492,6 @@ public class SharingRegistryServerHandler implements GovRegistryService.Iface{ sharing.setInheritedParentId(entityId); sharing.setSharingType(SharingType.INDIRECT_CASCADING); sharing.setInheritedParentId(entityId); - sharing.setCascadePermission(true); sharing.setCreatedTime(System.currentTimeMillis()); sharing.setUpdatedTime(System.currentTimeMillis()); sharingRepository.create(sharing); http://git-wip-us.apache.org/repos/asf/airavata/blob/10f30a96/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 367e04f..eb30e38 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 @@ -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-10-05") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-10-06") 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/10f30a96/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 462d892..0818b70 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 @@ -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-10-05") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-10-06") 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/10f30a96/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 d2ddffa..4244502 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 @@ -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-10-05") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-10-06") 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/10f30a96/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GovRegistryException.java ---------------------------------------------------------------------- diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GovRegistryException.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GovRegistryException.java index 7df20a7..40bc7c0 100644 --- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GovRegistryException.java +++ b/modules/sharing-registry/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-10-05") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-10-06") 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/10f30a96/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 00843aa..5ec148f 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 @@ -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-10-05") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-10-06") 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/10f30a96/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 91645ce..806c15b 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 @@ -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-10-05") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-10-06") 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/10f30a96/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 4cfdc82..c2ddf18 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 @@ -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-10-05") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-10-06") 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"); @@ -43,9 +43,8 @@ public class Sharing implements org.apache.thrift.TBase<Sharing, Sharing._Fields private static final org.apache.thrift.protocol.TField GROUP_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("groupId", org.apache.thrift.protocol.TType.STRING, (short)3); private static final org.apache.thrift.protocol.TField SHARING_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("sharingType", org.apache.thrift.protocol.TType.I32, (short)4); private static final org.apache.thrift.protocol.TField INHERITED_PARENT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("inheritedParentId", org.apache.thrift.protocol.TType.STRING, (short)5); - private static final org.apache.thrift.protocol.TField CASCADE_PERMISSION_FIELD_DESC = new org.apache.thrift.protocol.TField("cascadePermission", org.apache.thrift.protocol.TType.BOOL, (short)6); - private static final org.apache.thrift.protocol.TField CREATED_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("createdTime", org.apache.thrift.protocol.TType.I64, (short)7); - private static final org.apache.thrift.protocol.TField UPDATED_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("updatedTime", org.apache.thrift.protocol.TType.I64, (short)8); + private static final org.apache.thrift.protocol.TField CREATED_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("createdTime", org.apache.thrift.protocol.TType.I64, (short)6); + private static final org.apache.thrift.protocol.TField UPDATED_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("updatedTime", org.apache.thrift.protocol.TType.I64, (short)7); private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>(); static { @@ -62,7 +61,6 @@ public class Sharing implements org.apache.thrift.TBase<Sharing, Sharing._Fields */ public SharingType sharingType; // optional public String inheritedParentId; // optional - public boolean cascadePermission; // optional public long createdTime; // optional public long updatedTime; // optional @@ -77,9 +75,8 @@ public class Sharing implements org.apache.thrift.TBase<Sharing, Sharing._Fields */ SHARING_TYPE((short)4, "sharingType"), INHERITED_PARENT_ID((short)5, "inheritedParentId"), - CASCADE_PERMISSION((short)6, "cascadePermission"), - CREATED_TIME((short)7, "createdTime"), - UPDATED_TIME((short)8, "updatedTime"); + CREATED_TIME((short)6, "createdTime"), + UPDATED_TIME((short)7, "updatedTime"); private static final Map<String, _Fields> byName = new HashMap<String, _Fields>(); @@ -104,11 +101,9 @@ public class Sharing implements org.apache.thrift.TBase<Sharing, Sharing._Fields return SHARING_TYPE; case 5: // INHERITED_PARENT_ID return INHERITED_PARENT_ID; - case 6: // CASCADE_PERMISSION - return CASCADE_PERMISSION; - case 7: // CREATED_TIME + case 6: // CREATED_TIME return CREATED_TIME; - case 8: // UPDATED_TIME + case 7: // UPDATED_TIME return UPDATED_TIME; default: return null; @@ -150,11 +145,10 @@ public class Sharing implements org.apache.thrift.TBase<Sharing, Sharing._Fields } // isset id assignments - private static final int __CASCADEPERMISSION_ISSET_ID = 0; - private static final int __CREATEDTIME_ISSET_ID = 1; - private static final int __UPDATEDTIME_ISSET_ID = 2; + private static final int __CREATEDTIME_ISSET_ID = 0; + private static final int __UPDATEDTIME_ISSET_ID = 1; private byte __isset_bitfield = 0; - private static final _Fields optionals[] = {_Fields.PERMISSION_TYPE_ID,_Fields.ENTITY_ID,_Fields.GROUP_ID,_Fields.SHARING_TYPE,_Fields.INHERITED_PARENT_ID,_Fields.CASCADE_PERMISSION,_Fields.CREATED_TIME,_Fields.UPDATED_TIME}; + private static final _Fields optionals[] = {_Fields.PERMISSION_TYPE_ID,_Fields.ENTITY_ID,_Fields.GROUP_ID,_Fields.SHARING_TYPE,_Fields.INHERITED_PARENT_ID,_Fields.CREATED_TIME,_Fields.UPDATED_TIME}; 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); @@ -168,8 +162,6 @@ public class Sharing implements org.apache.thrift.TBase<Sharing, Sharing._Fields new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, SharingType.class))); tmpMap.put(_Fields.INHERITED_PARENT_ID, new org.apache.thrift.meta_data.FieldMetaData("inheritedParentId", org.apache.thrift.TFieldRequirementType.OPTIONAL, new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); - tmpMap.put(_Fields.CASCADE_PERMISSION, new org.apache.thrift.meta_data.FieldMetaData("cascadePermission", org.apache.thrift.TFieldRequirementType.OPTIONAL, - new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL))); tmpMap.put(_Fields.CREATED_TIME, new org.apache.thrift.meta_data.FieldMetaData("createdTime", org.apache.thrift.TFieldRequirementType.OPTIONAL, new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64))); tmpMap.put(_Fields.UPDATED_TIME, new org.apache.thrift.meta_data.FieldMetaData("updatedTime", org.apache.thrift.TFieldRequirementType.OPTIONAL, @@ -201,7 +193,6 @@ public class Sharing implements org.apache.thrift.TBase<Sharing, Sharing._Fields if (other.isSetInheritedParentId()) { this.inheritedParentId = other.inheritedParentId; } - this.cascadePermission = other.cascadePermission; this.createdTime = other.createdTime; this.updatedTime = other.updatedTime; } @@ -217,8 +208,6 @@ public class Sharing implements org.apache.thrift.TBase<Sharing, Sharing._Fields this.groupId = null; this.sharingType = null; this.inheritedParentId = null; - setCascadePermissionIsSet(false); - this.cascadePermission = false; setCreatedTimeIsSet(false); this.createdTime = 0; setUpdatedTimeIsSet(false); @@ -353,29 +342,6 @@ public class Sharing implements org.apache.thrift.TBase<Sharing, Sharing._Fields } } - public boolean isCascadePermission() { - return this.cascadePermission; - } - - public Sharing setCascadePermission(boolean cascadePermission) { - this.cascadePermission = cascadePermission; - setCascadePermissionIsSet(true); - return this; - } - - public void unsetCascadePermission() { - __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __CASCADEPERMISSION_ISSET_ID); - } - - /** Returns true if field cascadePermission is set (has been assigned a value) and false otherwise */ - public boolean isSetCascadePermission() { - return EncodingUtils.testBit(__isset_bitfield, __CASCADEPERMISSION_ISSET_ID); - } - - public void setCascadePermissionIsSet(boolean value) { - __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __CASCADEPERMISSION_ISSET_ID, value); - } - public long getCreatedTime() { return this.createdTime; } @@ -464,14 +430,6 @@ public class Sharing implements org.apache.thrift.TBase<Sharing, Sharing._Fields } break; - case CASCADE_PERMISSION: - if (value == null) { - unsetCascadePermission(); - } else { - setCascadePermission((Boolean)value); - } - break; - case CREATED_TIME: if (value == null) { unsetCreatedTime(); @@ -508,9 +466,6 @@ public class Sharing implements org.apache.thrift.TBase<Sharing, Sharing._Fields case INHERITED_PARENT_ID: return getInheritedParentId(); - case CASCADE_PERMISSION: - return isCascadePermission(); - case CREATED_TIME: return getCreatedTime(); @@ -538,8 +493,6 @@ public class Sharing implements org.apache.thrift.TBase<Sharing, Sharing._Fields return isSetSharingType(); case INHERITED_PARENT_ID: return isSetInheritedParentId(); - case CASCADE_PERMISSION: - return isSetCascadePermission(); case CREATED_TIME: return isSetCreatedTime(); case UPDATED_TIME: @@ -606,15 +559,6 @@ public class Sharing implements org.apache.thrift.TBase<Sharing, Sharing._Fields return false; } - boolean this_present_cascadePermission = true && this.isSetCascadePermission(); - boolean that_present_cascadePermission = true && that.isSetCascadePermission(); - if (this_present_cascadePermission || that_present_cascadePermission) { - if (!(this_present_cascadePermission && that_present_cascadePermission)) - return false; - if (this.cascadePermission != that.cascadePermission) - return false; - } - boolean this_present_createdTime = true && this.isSetCreatedTime(); boolean that_present_createdTime = true && that.isSetCreatedTime(); if (this_present_createdTime || that_present_createdTime) { @@ -665,11 +609,6 @@ public class Sharing implements org.apache.thrift.TBase<Sharing, Sharing._Fields if (present_inheritedParentId) list.add(inheritedParentId); - boolean present_cascadePermission = true && (isSetCascadePermission()); - list.add(present_cascadePermission); - if (present_cascadePermission) - list.add(cascadePermission); - boolean present_createdTime = true && (isSetCreatedTime()); list.add(present_createdTime); if (present_createdTime) @@ -741,16 +680,6 @@ public class Sharing implements org.apache.thrift.TBase<Sharing, Sharing._Fields return lastComparison; } } - lastComparison = Boolean.valueOf(isSetCascadePermission()).compareTo(other.isSetCascadePermission()); - if (lastComparison != 0) { - return lastComparison; - } - if (isSetCascadePermission()) { - lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.cascadePermission, other.cascadePermission); - if (lastComparison != 0) { - return lastComparison; - } - } lastComparison = Boolean.valueOf(isSetCreatedTime()).compareTo(other.isSetCreatedTime()); if (lastComparison != 0) { return lastComparison; @@ -840,12 +769,6 @@ public class Sharing implements org.apache.thrift.TBase<Sharing, Sharing._Fields } first = false; } - if (isSetCascadePermission()) { - if (!first) sb.append(", "); - sb.append("cascadePermission:"); - sb.append(this.cascadePermission); - first = false; - } if (isSetCreatedTime()) { if (!first) sb.append(", "); sb.append("createdTime:"); @@ -943,15 +866,7 @@ public class Sharing implements org.apache.thrift.TBase<Sharing, Sharing._Fields org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); } break; - case 6: // CASCADE_PERMISSION - if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) { - struct.cascadePermission = iprot.readBool(); - struct.setCascadePermissionIsSet(true); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); - } - break; - case 7: // CREATED_TIME + case 6: // CREATED_TIME if (schemeField.type == org.apache.thrift.protocol.TType.I64) { struct.createdTime = iprot.readI64(); struct.setCreatedTimeIsSet(true); @@ -959,7 +874,7 @@ public class Sharing implements org.apache.thrift.TBase<Sharing, Sharing._Fields org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); } break; - case 8: // UPDATED_TIME + case 7: // UPDATED_TIME if (schemeField.type == org.apache.thrift.protocol.TType.I64) { struct.updatedTime = iprot.readI64(); struct.setUpdatedTimeIsSet(true); @@ -1017,11 +932,6 @@ public class Sharing implements org.apache.thrift.TBase<Sharing, Sharing._Fields oprot.writeFieldEnd(); } } - if (struct.isSetCascadePermission()) { - oprot.writeFieldBegin(CASCADE_PERMISSION_FIELD_DESC); - oprot.writeBool(struct.cascadePermission); - oprot.writeFieldEnd(); - } if (struct.isSetCreatedTime()) { oprot.writeFieldBegin(CREATED_TIME_FIELD_DESC); oprot.writeI64(struct.createdTime); @@ -1065,16 +975,13 @@ public class Sharing implements org.apache.thrift.TBase<Sharing, Sharing._Fields if (struct.isSetInheritedParentId()) { optionals.set(4); } - if (struct.isSetCascadePermission()) { - optionals.set(5); - } if (struct.isSetCreatedTime()) { - optionals.set(6); + optionals.set(5); } if (struct.isSetUpdatedTime()) { - optionals.set(7); + optionals.set(6); } - oprot.writeBitSet(optionals, 8); + oprot.writeBitSet(optionals, 7); if (struct.isSetPermissionTypeId()) { oprot.writeString(struct.permissionTypeId); } @@ -1090,9 +997,6 @@ public class Sharing implements org.apache.thrift.TBase<Sharing, Sharing._Fields if (struct.isSetInheritedParentId()) { oprot.writeString(struct.inheritedParentId); } - if (struct.isSetCascadePermission()) { - oprot.writeBool(struct.cascadePermission); - } if (struct.isSetCreatedTime()) { oprot.writeI64(struct.createdTime); } @@ -1104,7 +1008,7 @@ public class Sharing implements org.apache.thrift.TBase<Sharing, Sharing._Fields @Override public void read(org.apache.thrift.protocol.TProtocol prot, Sharing struct) throws org.apache.thrift.TException { TTupleProtocol iprot = (TTupleProtocol) prot; - BitSet incoming = iprot.readBitSet(8); + BitSet incoming = iprot.readBitSet(7); if (incoming.get(0)) { struct.permissionTypeId = iprot.readString(); struct.setPermissionTypeIdIsSet(true); @@ -1126,14 +1030,10 @@ public class Sharing implements org.apache.thrift.TBase<Sharing, Sharing._Fields struct.setInheritedParentIdIsSet(true); } if (incoming.get(5)) { - struct.cascadePermission = iprot.readBool(); - struct.setCascadePermissionIsSet(true); - } - if (incoming.get(6)) { struct.createdTime = iprot.readI64(); struct.setCreatedTimeIsSet(true); } - if (incoming.get(7)) { + if (incoming.get(6)) { struct.updatedTime = iprot.readI64(); struct.setUpdatedTimeIsSet(true); } http://git-wip-us.apache.org/repos/asf/airavata/blob/10f30a96/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 69be6e7..d37ff2a 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 @@ -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-10-05") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-10-06") 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/10f30a96/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 0c481bb..f3a9a02 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 @@ -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-10-05") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-10-06") 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");
