Class ResourcesManagerBlImpl
- All Implemented Interfaces:
ResourcesManagerBl
- Author:
- Slavek Licehammer glory@ics.muni.cz
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
activateGroupResourceAssignment
(PerunSession sess, Group group, Resource resource, boolean async) Try to activate the group-resource status.void
addResourceSelfServiceGroup
(PerunSession sess, Resource resource, Group group) Sets ResourceSelfService role to given group for given resource.void
addResourceSelfServiceUser
(PerunSession sess, Resource resource, User user) Sets ResourceSelfService role to given user for given resource.void
assignAutomaticGroupToResource
(PerunSession perunSession, Group sourceGroup, Group groupToAssign, Resource resource) Asynchronously assigns single subgroup to resource as automatically assigned source group's subgroup.void
assignGroupsToResource
(PerunSession perunSession, Iterable<Group> groups, Resource resource, boolean async, boolean assignInactive, boolean autoAssignSubgroups) Assign groups to a resource.void
assignGroupToResource
(PerunSession sess, Group group, Resource resource, boolean async, boolean assignInactive, boolean autoAssignSubgroups) Assign group to a resource.void
assignGroupToResources
(PerunSession perunSession, Group group, List<Resource> resources, boolean async, boolean assignInactive, boolean autoAssignSubgroups) Assign group to the resources.void
assignResourceTagsToResource
(PerunSession perunSession, List<ResourceTag> resourceTags, Resource resource) Assign existing ResourceTags on existing Resource.void
assignResourceTagToResource
(PerunSession perunSession, ResourceTag resourceTag, Resource resource) Assign existing ResourceTag on existing Resource.void
assignService
(PerunSession sess, Resource resource, Service service) Assign service to resource.void
assignServices
(PerunSession sess, Resource resource, List<Service> services) Assign services to resource.void
assignServicesPackage
(PerunSession sess, Resource resource, ServicesPackage servicesPackage) Assign all services from services package to resource.boolean
banExists
(PerunSession sess, int banId) Get true if any band defined by id exists for any user and facility.boolean
banExists
(PerunSession sess, int memberId, int resourceId) Get true if any ban for member and resource exists.void
checkBanExists
(PerunSession sess, int banId) Check if ban already exists.void
checkBanExists
(PerunSession sess, int memberId, int resourceId) Check if ban already exists.void
checkResourceExists
(PerunSession sess, Resource resource) void
checkResourceTagExists
(PerunSession sess, ResourceTag resourceTag) void
Checks semantics of all required attributes of given resource and its facility.convertToEnrichedResource
(PerunSession sess, Resource resource, List<String> attrNames) Creates enrichedResource from given resource and load attributes with given names.void
copyAttributes
(PerunSession sess, Resource sourceResource, Resource destinationResource) Copy all attributes of the source resource to the destination resource.void
copyGroups
(PerunSession sess, Resource sourceResource, Resource destinationResource) Copy all groups of the source resource to the destination resource.copyResource
(PerunSession sess, Resource templateResource, Resource destinationResource, boolean withGroups) Copy "template" settings from user's another existing resource and create new resource with this template.void
copyServices
(PerunSession sess, Resource sourceResource, Resource destinationResource) Copy all services of the source resource to the destination resource.createResource
(PerunSession sess, Resource resource, Vo vo, Facility facility) Inserts resource into DB.createResourceTag
(PerunSession perunSession, ResourceTag resourceTag, Vo vo) Create new Resource tag.void
deactivateGroupResourceAssignment
(PerunSession sess, Group group, Resource resource) Deactivates the group-resource assignment.void
deleteAllResources
(PerunSession sess, Vo vo) Deletes all resources for the VO.void
deleteAllResourcesTagsForVo
(PerunSession perunSession, Vo vo) Delete all ResourcesTags for specific VO.void
deleteResource
(PerunSession sess, Resource resource) Deletes resource by id.void
deleteResourceTag
(PerunSession perunSession, ResourceTag resourceTag) Delete existing Resource tag.void
fillAndSetRequiredAttributesForGroups
(PerunSession sess, List<Service> services, Resource resource) Fill and set group and group-resource attributes required by given services for all groups which are assigned to the given resource.filterOnlyAllowedAttributes
(PerunSession sess, EnrichedResource enrichedResource) Filter attributes in given enrichedResources, which are allowed for current principal.getAdminGroups
(PerunSession sess, Resource resource) Gets list of all group administrators of the Resource.getAdmins
(PerunSession perunSession, Resource resource, boolean onlyDirectAdmins) Gets list of all user administrators of the Resource.Get all expired bans on any resource to now dategetAllowedMembers
(PerunSession sess, Resource resource) Returns all members who can access the resource.getAllowedMembersNotExpiredInGroups
(PerunSession sess, Resource resource) Returns all members who can access the resource and who are also valid in at least one group associated to the resource.getAllowedResources
(PerunSession sess, Facility facility, User user) Return all resources which are under the facility and has member of the user with status other than INVALID.getAllowedResources
(PerunSession sess, Member member) Get all resources which have the member access on.getAllowedUsers
(PerunSession sess, Resource resource) Get all users, who can assess the resource.getAllowedUsersNotExpiredInGroups
(PerunSession sess, Resource resource) Get all users, who can assess the resource and who are not expired in at least one group associated to the resource.getAllResources
(PerunSession sess) Get all resources from database.getAllResourcesByResourceTag
(PerunSession perunSession, ResourceTag resourceTag) Get all resources in specific Vo (specific by resourceTag.getVoId) for existing resourceTaggetAllResourcesTagsForResource
(PerunSession perunSession, Resource resource) Get all resourcesTags for existing ResourcegetAllResourcesTagsForVo
(PerunSession perunSession, Vo vo) Get all resourcesTags for existing Vo.getAssignedGroups
(PerunSession sess, Resource resource) List all groups associated with the resource.getAssignedGroups
(PerunSession sess, Resource resource, Member member) List all groups associated with the resource where Member is a member.getAssignedMembers
(PerunSession sess, Resource resource) Returns all members assigned to the resource.getAssignedMembersWithStatus
(PerunSession sess, Resource resource) Returns members of groups assigned to resource with status of group-resource assignment.getAssignedResources
(PerunSession sess, Group group) List all resources to which the group is assigned.getAssignedResources
(PerunSession sess, Member member) Get all resources where the member is assigned.getAssignedResources
(PerunSession sess, Member member, Service service) Get all resources where the member and the service are assigned.getAssignedResources
(PerunSession sess, User user, Vo vo) Return List of assigned resources to user on the vo.getAssignedResourcesWithStatus
(PerunSession sess, Member member) Returns all assigned resources where member is assigned through the groups.getAssignedRichMembers
(PerunSession sess, Resource resource) Returns all members assigned to the resource as RichMembers.getAssignedRichResources
(PerunSession sess, Group group) List all rich resources associated with the group with facility property filled.getAssignedRichResources
(PerunSession sess, Member member) Get all rich resources where the member is assigned with facility property filled.getAssignedRichResources
(PerunSession sess, Member member, Service service) Get all rich resources where the service and the member are assigned with facility property filled.getAssignedServices
(PerunSession sess, Resource resource) List all services associated with the resource.getAssignedUsers
(PerunSession sess, Resource resource) Returns all users assigned to the resource.getAssociatedGroups
(PerunSession sess, Resource resource, Member member) Return list of groups associated with the resource with specified member.getAssociatedMembers
(PerunSession sess, Resource resource) Returns all members who are associated with the resource.getAssociatedResources
(PerunSession sess, Group group) List all resources associated with the group.getAssociatedResources
(PerunSession sess, Member member) Returns all resources with which the member is associated through the groups.getAssociatedUsers
(PerunSession sess, Resource resource) Returns all users who are associated with the defined resource.getBan
(PerunSession sess, int memberId, int resourceId) Get specific resource ban.getBanById
(PerunSession sess, int banId) Get Ban for member on resource by it's idgetBansForMember
(PerunSession sess, int memberId) Get all resources bans for member.getBansForResource
(PerunSession sess, int resourceId) Get all members bans for resourcegetEnrichedBansForResource
(PerunSession sess, Resource resource, List<String> attrNames) Get all enriched bans for members on the resource with user and member attributesgetEnrichedBansForUser
(PerunSession sess, User user, List<String> attrNames) Get enriched bans for user on all resources where user is assigned with user and member attributesgetEnrichedResourceById
(PerunSession sess, int id, List<String> attrNames) Find resource for given id and returns it with given attributes.getEnrichedRichResourcesForFacility
(PerunSession sess, Facility facility, List<String> attrNames) Find resources for given facility and attributes for given names.getEnrichedRichResourcesForVo
(PerunSession sess, Vo vo, List<String> attrNames) Find resources for given vo and attributes for given names.getFacility
(PerunSession sess, Resource resource) Get facility which belongs to the concrete resource.getGroupAssignments
(PerunSession sess, Resource resource, List<String> attrNames) Lists all of the assigned groups for the given resource.getGroupResourceAssignments
(PerunSession sess, List<GroupResourceStatus> statuses) Lists all group-resource assignments with given statuses.getMailingServiceRichResourcesWithMember
(PerunSession sess, Member member) Return all rich resources with mailing service(s) where given member is assigned.Gets the perunBl.getResourceAssignments
(PerunSession sess, Group group, List<String> attrNames) Lists all of the resource assignments for the given group.getResourceById
(PerunSession sess, int id) Searches for the Resource with specified id.getResourceByName
(PerunSession sess, Vo vo, Facility facility, String name) Return resource by its name.getResources
(PerunSession sess) Finds all resources.getResources
(PerunSession sess, User user, List<Status> memberStatuses, List<MemberGroupStatus> memberGroupStatuses, List<GroupResourceStatus> groupResourceStatuses) Return all resources where user is assigned.getResources
(PerunSession sess, Vo vo) Get all VO resources.getResourcesByAttribute
(PerunSession sess, Attribute attribute) Returns all resource which have set the attribute with the value.getResourcesByIds
(PerunSession sess, List<Integer> ids) Searches for the Resources with specified ids.int
Get count of all resources.int
getResourcesCount
(PerunSession sess, Vo vo) Get all VO resources count.Gets the resourcesManagerImpl.getResourcesWhereGroupIsAdmin
(PerunSession sess, Facility facility, Vo vo, Group authorizedGroup) Return all resources for the facility and the vo where the group is authorized as resource manager.getResourcesWhereUserIsAdmin
(PerunSession sess, Facility facility, Vo vo, User authorizedUser) Return all resources for the facility and the vo where user is authorized as resource manager.getResourcesWhereUserIsAdmin
(PerunSession sess, User user) Returns list of resources, where the user is an admin.getResourcesWhereUserIsAdmin
(PerunSession sess, Vo vo, User authorizedUser) Return all resources for the vo where user is authorized as resource manager.getRichAdmins
(PerunSession perunSession, Resource resource, List<String> specificAttributes, boolean allUserAttributes, boolean onlyDirectAdmins) Gets list of all richUser administrators of the Resource.getRichResourceById
(PerunSession sess, int id) Searches for the RichResource with specified id.getRichResources
(PerunSession sess, Vo vo) Get all VO rich resources with facility property filled.getRichResourcesByIds
(PerunSession sess, List<Integer> ids) Searches for the RichResources with specified ids.getVo
(PerunSession sess, Resource resource) Get Vo which is tied to specified resource.boolean
groupResourceAssignmentExists
(PerunSession sess, Resource resource, Group group) Returns true if the group is assigned to the current resource with any status, false otherwise.boolean
isGroupAssigned
(PerunSession sess, Resource resource, Group group) Returns true if the group is assigned to the current resource with ACTIVE status, false otherwise.boolean
isGroupManuallyAssigned
(PerunSession sess, Group group, Resource resource) Returns true if the group is assigned to the given resource manually, false otherwise.boolean
isUserAllowed
(PerunSession sess, User user, Resource resource) Returns true if the user is allowed to the current resource, false otherwise.boolean
isUserAssigned
(PerunSession sess, User user, Resource resource) Returns true if the user is assigned to the current resource, false otherwise.void
processGroupResourceActivationAsync
(PerunSession sess, Group group, Resource resource) Asynchronously processes group-resource activation.void
Remove all expired bans on resources to now date.void
removeAllResourcesTagFromResource
(PerunSession perunSession, Resource resource) Remove all existing Resource tags for specific resource.void
removeAutomaticGroupFromResource
(PerunSession sess, Group group, Resource resource, int sourceGroupId) Remove automatically assigned group from resource.void
removeBan
(PerunSession sess, int banId) Remove ban by id from resources bans.void
removeBan
(PerunSession sess, int memberId, int resourceId) Remove ban by member_id and facility_idvoid
removeGroupFromResource
(PerunSession sess, Group group, Resource resource) Remove group from a resource.void
removeGroupFromResources
(PerunSession perunSession, Group group, List<Resource> resources) Remove group from resources.void
removeGroupsFromResource
(PerunSession perunSession, List<Group> groups, Resource resource) Remove groups from a resource.void
removeResourceSelfServiceGroup
(PerunSession sess, Resource resource, Group group) Unset ResourceSelfService role to given group for given resource.void
removeResourceSelfServiceUser
(PerunSession sess, Resource resource, User user) Unset ResourceSelfService role to given user for given resource.void
removeResourceTagFromResource
(PerunSession perunSession, ResourceTag resourceTag, Resource resource) Remove specific ResourceTag from existing Resource.void
removeResourceTagsFromResource
(PerunSession perunSession, List<ResourceTag> resourceTags, Resource resource) Remove specific ResourceTags from existing Resource.void
removeService
(PerunSession sess, Resource resource, Service service) Remove service from resource.void
removeServices
(PerunSession sess, Resource resource, List<Service> services) Remove services from resource.void
removeServicesPackage
(PerunSession sess, Resource resource, ServicesPackage servicesPackage) Remove from resource all services from services package.setBan
(PerunSession sess, BanOnResource banOnResource) Set ban for member on resourcevoid
setPerunBl
(PerunBl perunBl) void
updateAllRequiredAttributesForAllowedMembers
(PerunSession sess, Resource resource, List<Service> services) For given resource, finds all allowed members and sets them attributes, (member-resource, member, user-facility and user) that are required by given services.updateBan
(PerunSession sess, BanOnResource banOnResource) Update description and validity timestamp of specific ban.updateResource
(PerunSession sess, Resource resource) Updates Resource.updateResourceTag
(PerunSession perunSession, ResourceTag resourceTag) Update existing Resource tag.
-
Constructor Details
-
ResourcesManagerBlImpl
-
-
Method Details
-
activateGroupResourceAssignment
public void activateGroupResourceAssignment(PerunSession sess, Group group, Resource resource, boolean async) throws WrongReferenceAttributeValueException, GroupResourceMismatchException, WrongAttributeValueException, GroupNotDefinedOnResourceException Description copied from interface:ResourcesManagerBl
Try to activate the group-resource status. If the async is set to false, the validation is performed synchronously. The assignment will be either ACTIVE, in case of a successful synchronous call, or it will be PROCESSING in case of an asynchronous call. After the async validation, the state can be either ACTIVE or FAILED.- Specified by:
activateGroupResourceAssignment
in interfaceResourcesManagerBl
- Parameters:
sess
- sessiongroup
- groupresource
- resourceasync
- if true the validation is performed asynchronously- Throws:
WrongReferenceAttributeValueException
- when an attribute value has wrong/illegal semanticsGroupResourceMismatchException
- when the given group and resource are not from the same VOWrongAttributeValueException
- when an attribute value has wrong/illegal syntaxGroupNotDefinedOnResourceException
- when the group-resource assignment doesn't exist
-
addResourceSelfServiceGroup
public void addResourceSelfServiceGroup(PerunSession sess, Resource resource, Group group) throws AlreadyAdminException Description copied from interface:ResourcesManagerBl
Sets ResourceSelfService role to given group for given resource.- Specified by:
addResourceSelfServiceGroup
in interfaceResourcesManagerBl
- Parameters:
sess
- sessionresource
- resourcegroup
- group- Throws:
AlreadyAdminException
- already has role
-
addResourceSelfServiceUser
public void addResourceSelfServiceUser(PerunSession sess, Resource resource, User user) throws AlreadyAdminException Description copied from interface:ResourcesManagerBl
Sets ResourceSelfService role to given user for given resource.- Specified by:
addResourceSelfServiceUser
in interfaceResourcesManagerBl
- Parameters:
sess
- sessionresource
- resourceuser
- user- Throws:
AlreadyAdminException
- already has role
-
assignAutomaticGroupToResource
public void assignAutomaticGroupToResource(PerunSession perunSession, Group sourceGroup, Group groupToAssign, Resource resource) throws GroupResourceMismatchException, GroupAlreadyAssignedException, WrongReferenceAttributeValueException, WrongAttributeValueException Description copied from interface:ResourcesManagerBl
Asynchronously assigns single subgroup to resource as automatically assigned source group's subgroup. Source group must have existing assignment on resource with autoAssignSubgroups set to true.- Specified by:
assignAutomaticGroupToResource
in interfaceResourcesManagerBl
- Parameters:
perunSession
- sesssourceGroup
- source group (containing groupToAssign in hierarchy as a subgroup)groupToAssign
- source group's subgroup to be assigned on resource as by automatic assignmentresource
- resource- Throws:
GroupResourceMismatchException
GroupAlreadyAssignedException
WrongReferenceAttributeValueException
WrongAttributeValueException
-
assignGroupToResource
public void assignGroupToResource(PerunSession sess, Group group, Resource resource, boolean async, boolean assignInactive, boolean autoAssignSubgroups) throws WrongAttributeValueException, WrongReferenceAttributeValueException, GroupResourceMismatchException Description copied from interface:ResourcesManagerBl
Assign group to a resource. Check if attributes for each member form group are valid. Fill members' attributes with missing value. Provide options for creating inactive or automatic subgroups group-resource assignments.- Specified by:
assignGroupToResource
in interfaceResourcesManagerBl
- Parameters:
sess
-group
-resource
-async
-assignInactive
-autoAssignSubgroups
-- Throws:
WrongAttributeValueException
WrongReferenceAttributeValueException
GroupResourceMismatchException
-
assignGroupToResources
public void assignGroupToResources(PerunSession perunSession, Group group, List<Resource> resources, boolean async, boolean assignInactive, boolean autoAssignSubgroups) throws WrongAttributeValueException, WrongReferenceAttributeValueException, GroupResourceMismatchException Description copied from interface:ResourcesManagerBl
Assign group to the resources. Check if attributes for each member from group are valid. Fill members' attributes with missing values. Provide options for creating inactive or automatic subgroups group-resource assignments.If the group is already assigned to some of the resources, the assignment is silently skipped.
- Specified by:
assignGroupToResources
in interfaceResourcesManagerBl
- Parameters:
perunSession
-group
- the groupresources
- list of resourcesasync
-assignInactive
-autoAssignSubgroups
-- Throws:
WrongAttributeValueException
WrongReferenceAttributeValueException
GroupResourceMismatchException
-
assignGroupsToResource
public void assignGroupsToResource(PerunSession perunSession, Iterable<Group> groups, Resource resource, boolean async, boolean assignInactive, boolean autoAssignSubgroups) throws WrongAttributeValueException, WrongReferenceAttributeValueException, GroupResourceMismatchException Description copied from interface:ResourcesManagerBl
Assign groups to a resource. Check if attributes for each member from all groups are valid. Fill members' attributes with missing values. Provide options for creating inactive or automatic subgroups group-resource assignments.Already assigned groups are silently skipped.
- Specified by:
assignGroupsToResource
in interfaceResourcesManagerBl
- Parameters:
perunSession
-groups
- groups to assignresource
-async
-assignInactive
-autoAssignSubgroups
-- Throws:
WrongAttributeValueException
WrongReferenceAttributeValueException
GroupResourceMismatchException
-
assignResourceTagToResource
public void assignResourceTagToResource(PerunSession perunSession, ResourceTag resourceTag, Resource resource) throws ResourceTagAlreadyAssignedException Description copied from interface:ResourcesManagerBl
Assign existing ResourceTag on existing Resource.- Specified by:
assignResourceTagToResource
in interfaceResourcesManagerBl
- Parameters:
perunSession
-resourceTag
-resource
-- Throws:
ResourceTagAlreadyAssignedException
-
assignResourceTagsToResource
public void assignResourceTagsToResource(PerunSession perunSession, List<ResourceTag> resourceTags, Resource resource) throws ResourceTagAlreadyAssignedException Description copied from interface:ResourcesManagerBl
Assign existing ResourceTags on existing Resource.- Specified by:
assignResourceTagsToResource
in interfaceResourcesManagerBl
- Parameters:
perunSession
-resourceTags
-resource
-- Throws:
ResourceTagAlreadyAssignedException
-
assignService
public void assignService(PerunSession sess, Resource resource, Service service) throws ServiceAlreadyAssignedException, WrongAttributeValueException, WrongReferenceAttributeValueException Description copied from interface:ResourcesManagerBl
Assign service to resource.- Specified by:
assignService
in interfaceResourcesManagerBl
- Parameters:
sess
-resource
-service
-- Throws:
ServiceAlreadyAssignedException
WrongAttributeValueException
WrongReferenceAttributeValueException
-
assignServices
public void assignServices(PerunSession sess, Resource resource, List<Service> services) throws ServiceAlreadyAssignedException, WrongAttributeValueException, WrongReferenceAttributeValueException Description copied from interface:ResourcesManagerBl
Assign services to resource.- Specified by:
assignServices
in interfaceResourcesManagerBl
- Parameters:
sess
- sessionresource
- resourceservices
- services to be assigned- Throws:
ServiceAlreadyAssignedException
WrongAttributeValueException
WrongReferenceAttributeValueException
-
assignServicesPackage
public void assignServicesPackage(PerunSession sess, Resource resource, ServicesPackage servicesPackage) throws WrongAttributeValueException, WrongReferenceAttributeValueException Description copied from interface:ResourcesManagerBl
Assign all services from services package to resource.- Specified by:
assignServicesPackage
in interfaceResourcesManagerBl
- Parameters:
sess
-resource
-servicesPackage
-- Throws:
WrongAttributeValueException
WrongReferenceAttributeValueException
-
banExists
Description copied from interface:ResourcesManagerBl
Get true if any ban for member and resource exists.- Specified by:
banExists
in interfaceResourcesManagerBl
- Parameters:
sess
-memberId
- id of memberresourceId
- id of resource- Returns:
- true if ban exists
-
banExists
Description copied from interface:ResourcesManagerBl
Get true if any band defined by id exists for any user and facility.- Specified by:
banExists
in interfaceResourcesManagerBl
- Parameters:
sess
-banId
- id of ban- Returns:
- true if ban exists
-
checkBanExists
public void checkBanExists(PerunSession sess, int memberId, int resourceId) throws BanNotExistsException Description copied from interface:ResourcesManagerBl
Check if ban already exists.Throw exception if no.
- Specified by:
checkBanExists
in interfaceResourcesManagerBl
- Parameters:
sess
-memberId
- user idresourceId
- facility id- Throws:
BanNotExistsException
-
checkBanExists
Description copied from interface:ResourcesManagerBl
Check if ban already exists.Throw exception if no.
- Specified by:
checkBanExists
in interfaceResourcesManagerBl
- Parameters:
sess
-banId
- ban id- Throws:
BanNotExistsException
-
checkResourceExists
public void checkResourceExists(PerunSession sess, Resource resource) throws ResourceNotExistsException - Specified by:
checkResourceExists
in interfaceResourcesManagerBl
- Throws:
ResourceNotExistsException
-
checkResourceTagExists
public void checkResourceTagExists(PerunSession sess, ResourceTag resourceTag) throws ResourceTagNotExistsException - Specified by:
checkResourceTagExists
in interfaceResourcesManagerBl
- Throws:
ResourceTagNotExistsException
-
checkSemanticsOfFacilityAndResourceRequiredAttributes
public void checkSemanticsOfFacilityAndResourceRequiredAttributes(PerunSession sess, Resource resource) throws WrongReferenceAttributeValueException, WrongAttributeAssignmentException Checks semantics of all required attributes of given resource and its facility.- Parameters:
sess
- sessionresource
- resource used to get facility and attributes- Throws:
WrongReferenceAttributeValueException
- WrongReferenceAttributeValueExceptionWrongAttributeAssignmentException
- WrongAttributeAssignmentException
-
convertToEnrichedResource
public EnrichedResource convertToEnrichedResource(PerunSession sess, Resource resource, List<String> attrNames) Description copied from interface:ResourcesManagerBl
Creates enrichedResource from given resource and load attributes with given names. If the attrNames are null or emtpy, all resource attributes are added.- Specified by:
convertToEnrichedResource
in interfaceResourcesManagerBl
- Parameters:
sess
- sessionresource
- resourceattrNames
- names of attributes to return- Returns:
- EnrichedResource for given resource with desired attributes
-
copyAttributes
public void copyAttributes(PerunSession sess, Resource sourceResource, Resource destinationResource) throws WrongReferenceAttributeValueException Description copied from interface:ResourcesManagerBl
Copy all attributes of the source resource to the destination resource. The attributes, that are in the destination resource and aren't in the source resource, are retained. The common attributes are replaced with attributes from the source resource. The virtual attributes are not copied.- Specified by:
copyAttributes
in interfaceResourcesManagerBl
- Parameters:
sess
-sourceResource
-destinationResource
-- Throws:
WrongReferenceAttributeValueException
-
copyGroups
Description copied from interface:ResourcesManagerBl
Copy all groups of the source resource to the destination resource. The groups, that are in the destination resource and aren't in the source resource, are retained. The common groups are replaced with the groups from source resource.- Specified by:
copyGroups
in interfaceResourcesManagerBl
- Parameters:
sourceResource
-destinationResource
-
-
copyResource
public Resource copyResource(PerunSession sess, Resource templateResource, Resource destinationResource, boolean withGroups) throws ResourceExistsException Description copied from interface:ResourcesManagerBl
Copy "template" settings from user's another existing resource and create new resource with this template. The settings are attributes, services, tags (if exists), groups and their members (if the resources are from the same VO and withGroups is true) Template Resource can be from any of user's facilities.- Specified by:
copyResource
in interfaceResourcesManagerBl
- Parameters:
sess
-templateResource
- template resource to copydestinationResource
- destination resource containing IDs of destination facility, VO and resource name.withGroups
- if set to true and resources ARE from the same VO we also copy all group-resource and member-resource attributes and assign all groups same as on templateResource, if set to true and resources ARE NOT from the same VO InternalErrorException is thrown, if set to false we will NOT copy groups and group related attributes.- Throws:
ResourceExistsException
-
copyServices
public void copyServices(PerunSession sess, Resource sourceResource, Resource destinationResource) throws WrongAttributeValueException, WrongReferenceAttributeValueException Description copied from interface:ResourcesManagerBl
Copy all services of the source resource to the destination resource. The services, that are in the destination resource and aren't in the source resource, are retained. The common services are replaced with services from source resource.- Specified by:
copyServices
in interfaceResourcesManagerBl
- Parameters:
sourceResource
-destinationResource
-- Throws:
WrongAttributeValueException
WrongReferenceAttributeValueException
-
createResource
public Resource createResource(PerunSession sess, Resource resource, Vo vo, Facility facility) throws ResourceExistsException Description copied from interface:ResourcesManagerBl
Inserts resource into DB.- Specified by:
createResource
in interfaceResourcesManagerBl
- Parameters:
resource
- resource to create- Throws:
ResourceExistsException
-
createResourceTag
Description copied from interface:ResourcesManagerBl
Create new Resource tag.- Specified by:
createResourceTag
in interfaceResourcesManagerBl
- Parameters:
perunSession
-resourceTag
-vo
-- Returns:
- new created resourceTag
-
deactivateGroupResourceAssignment
public void deactivateGroupResourceAssignment(PerunSession sess, Group group, Resource resource) throws GroupNotDefinedOnResourceException, GroupResourceStatusException Description copied from interface:ResourcesManagerBl
Deactivates the group-resource assignment. The assignment will become INACTIVE and will not be used to allow users from the given group to the resource.- Specified by:
deactivateGroupResourceAssignment
in interfaceResourcesManagerBl
- Parameters:
group
- groupresource
- resource- Throws:
GroupNotDefinedOnResourceException
- when the group-resource assignment doesn't existGroupResourceStatusException
- when trying to deactivate an assignment in PROCESSING state
-
deleteAllResources
public void deleteAllResources(PerunSession sess, Vo vo) throws ResourceAlreadyRemovedException, GroupAlreadyRemovedFromResourceException Description copied from interface:ResourcesManagerBl
Deletes all resources for the VO.- Specified by:
deleteAllResources
in interfaceResourcesManagerBl
- Parameters:
sess
-vo
-- Throws:
ResourceAlreadyRemovedException
- if there is at least 1 resource not affected by deleting from DBGroupAlreadyRemovedFromResourceException
- if there is at least 1 group not affected by deleting from DB
-
deleteAllResourcesTagsForVo
public void deleteAllResourcesTagsForVo(PerunSession perunSession, Vo vo) throws ResourceTagAlreadyAssignedException Description copied from interface:ResourcesManagerBl
Delete all ResourcesTags for specific VO.- Specified by:
deleteAllResourcesTagsForVo
in interfaceResourcesManagerBl
- Parameters:
perunSession
-vo
-- Throws:
ResourceTagAlreadyAssignedException
-
deleteResource
public void deleteResource(PerunSession sess, Resource resource) throws ResourceAlreadyRemovedException, GroupAlreadyRemovedFromResourceException Description copied from interface:ResourcesManagerBl
Deletes resource by id.- Specified by:
deleteResource
in interfaceResourcesManagerBl
- Parameters:
sess
-resource
-- Throws:
ResourceAlreadyRemovedException
- if there are 0 rows affected by deleting from DBGroupAlreadyRemovedFromResourceException
- if there is at least 1 group not affected by deleting from DB
-
deleteResourceTag
public void deleteResourceTag(PerunSession perunSession, ResourceTag resourceTag) throws ResourceTagAlreadyAssignedException Description copied from interface:ResourcesManagerBl
Delete existing Resource tag.- Specified by:
deleteResourceTag
in interfaceResourcesManagerBl
- Parameters:
perunSession
-resourceTag
-- Throws:
ResourceTagAlreadyAssignedException
-
fillAndSetRequiredAttributesForGroups
public void fillAndSetRequiredAttributesForGroups(PerunSession sess, List<Service> services, Resource resource) throws GroupResourceMismatchException, WrongAttributeAssignmentException, WrongAttributeValueException, WrongReferenceAttributeValueException Fill and set group and group-resource attributes required by given services for all groups which are assigned to the given resource.- Parameters:
sess
- sessionservices
- services of which required attributes are setresource
- resource- Throws:
GroupResourceMismatchException
- GroupResourceMismatchExceptionWrongAttributeAssignmentException
- WrongAttributeAssignmentExceptionWrongAttributeValueException
- WrongAttributeValueExceptionWrongReferenceAttributeValueException
- WrongReferenceAttributeValueException
-
filterOnlyAllowedAttributes
public EnrichedResource filterOnlyAllowedAttributes(PerunSession sess, EnrichedResource enrichedResource) Description copied from interface:ResourcesManagerBl
Filter attributes in given enrichedResources, which are allowed for current principal.- Specified by:
filterOnlyAllowedAttributes
in interfaceResourcesManagerBl
- Parameters:
sess
- sessionenrichedResource
- resource with attributes to filter- Returns:
- resource with attributes that are allowed for current principal
-
getAdminGroups
Description copied from interface:ResourcesManagerBl
Gets list of all group administrators of the Resource.- Specified by:
getAdminGroups
in interfaceResourcesManagerBl
- Parameters:
sess
-resource
-- Returns:
- list of Groups that are admins in the resource
-
getAdmins
Description copied from interface:ResourcesManagerBl
Gets list of all user administrators of the Resource. If some group is administrator of the given resource, all VALID members are included in the list.If onlyDirectAdmins is true, return only direct users of the group for supported role.
Supported roles: ResourceAdmin, VOAdmin
- Specified by:
getAdmins
in interfaceResourcesManagerBl
- Parameters:
perunSession
-resource
-onlyDirectAdmins
- if true, get only direct user administrators (if false, get both direct and indirect)- Returns:
- list of all user administrators of the given resource for supported role
-
getAllExpiredBansOnResources
Description copied from interface:ResourcesManagerBl
Get all expired bans on any resource to now date- Specified by:
getAllExpiredBansOnResources
in interfaceResourcesManagerBl
- Parameters:
sess
-- Returns:
- list of expired bans for any resource
-
getAllResources
Description copied from interface:ResourcesManagerBl
Get all resources from database.- Specified by:
getAllResources
in interfaceResourcesManagerBl
- Parameters:
sess
- Perun session- Returns:
- list of all resources
-
getAllResourcesByResourceTag
public List<Resource> getAllResourcesByResourceTag(PerunSession perunSession, ResourceTag resourceTag) Description copied from interface:ResourcesManagerBl
Get all resources in specific Vo (specific by resourceTag.getVoId) for existing resourceTag- Specified by:
getAllResourcesByResourceTag
in interfaceResourcesManagerBl
- Parameters:
perunSession
-resourceTag
-- Returns:
- list of Resources
-
getAllResourcesTagsForResource
public List<ResourceTag> getAllResourcesTagsForResource(PerunSession perunSession, Resource resource) Description copied from interface:ResourcesManagerBl
Get all resourcesTags for existing Resource- Specified by:
getAllResourcesTagsForResource
in interfaceResourcesManagerBl
- Parameters:
perunSession
-resource
-- Returns:
- list of ResourcesTags
-
getAllResourcesTagsForVo
Description copied from interface:ResourcesManagerBl
Get all resourcesTags for existing Vo.- Specified by:
getAllResourcesTagsForVo
in interfaceResourcesManagerBl
- Parameters:
perunSession
-vo
-- Returns:
- list of all resourcesTags for existing Vo
-
getAllowedMembers
Description copied from interface:ResourcesManagerBl
Returns all members who can access the resource.- Specified by:
getAllowedMembers
in interfaceResourcesManagerBl
- Parameters:
sess
-resource
-- Returns:
- list of members assigned to the resource
-
getAllowedMembersNotExpiredInGroups
Description copied from interface:ResourcesManagerBl
Returns all members who can access the resource and who are also valid in at least one group associated to the resource.- Specified by:
getAllowedMembersNotExpiredInGroups
in interfaceResourcesManagerBl
- Parameters:
sess
-resource
-- Returns:
- list of members assigned to the resource
-
getAllowedResources
Description copied from interface:ResourcesManagerBl
Get all resources which have the member access on.- Specified by:
getAllowedResources
in interfaceResourcesManagerBl
- Parameters:
sess
-member
-- Returns:
- list of resources which have the member access on
-
getAllowedResources
Description copied from interface:ResourcesManagerBl
Return all resources which are under the facility and has member of the user with status other than INVALID.- Specified by:
getAllowedResources
in interfaceResourcesManagerBl
- Parameters:
sess
-facility
-user
-- Returns:
- list of resources allowed for user (user has there member with status other than INVALID)
-
getAllowedUsers
Description copied from interface:ResourcesManagerBl
Get all users, who can assess the resource.- Specified by:
getAllowedUsers
in interfaceResourcesManagerBl
- Parameters:
sess
-resource
-- Returns:
- list of users
-
getAllowedUsersNotExpiredInGroups
Description copied from interface:ResourcesManagerBl
Get all users, who can assess the resource and who are not expired in at least one group associated to the resource.- Specified by:
getAllowedUsersNotExpiredInGroups
in interfaceResourcesManagerBl
- Parameters:
sess
-resource
-- Returns:
- list of users
-
getAssignedGroups
Description copied from interface:ResourcesManagerBl
List all groups associated with the resource.- Specified by:
getAssignedGroups
in interfaceResourcesManagerBl
- Parameters:
sess
-resource
-- Returns:
- list of assigned group
-
getAssignedGroups
Description copied from interface:ResourcesManagerBl
List all groups associated with the resource where Member is a member.- Specified by:
getAssignedGroups
in interfaceResourcesManagerBl
- Parameters:
sess
-resource
-member
-- Returns:
- list of assigned groups
-
getAssignedMembers
Description copied from interface:ResourcesManagerBl
Returns all members assigned to the resource.- Specified by:
getAssignedMembers
in interfaceResourcesManagerBl
- Parameters:
sess
-resource
-- Returns:
- list of members assigned to the resource
-
getAssignedMembersWithStatus
Description copied from interface:ResourcesManagerBl
Returns members of groups assigned to resource with status of group-resource assignment.- Specified by:
getAssignedMembersWithStatus
in interfaceResourcesManagerBl
- Parameters:
sess
- perunSessionresource
- resource- Returns:
- list of members of groups assigned to given resource
-
getAssignedResources
Description copied from interface:ResourcesManagerBl
List all resources to which the group is assigned.- Specified by:
getAssignedResources
in interfaceResourcesManagerBl
- Parameters:
sess
-group
-- Returns:
- list of assigned resources
-
getAssignedResources
Description copied from interface:ResourcesManagerBl
Get all resources where the member is assigned.- Specified by:
getAssignedResources
in interfaceResourcesManagerBl
- Parameters:
sess
-member
-- Returns:
-
getAssignedResources
Description copied from interface:ResourcesManagerBl
Get all resources where the member and the service are assigned.- Specified by:
getAssignedResources
in interfaceResourcesManagerBl
- Parameters:
sess
-member
-service
-- Returns:
- list of resources
-
getAssignedResources
Description copied from interface:ResourcesManagerBl
Return List of assigned resources to user on the vo. If user is not member of Vo, return empty List;- Specified by:
getAssignedResources
in interfaceResourcesManagerBl
- Parameters:
sess
-user
-vo
-- Returns:
- return list of assigned resources or empty list if user is not member of Vo
-
getAssignedResourcesWithStatus
Description copied from interface:ResourcesManagerBl
Returns all assigned resources where member is assigned through the groups.- Specified by:
getAssignedResourcesWithStatus
in interfaceResourcesManagerBl
- Parameters:
sess
- perun sessionmember
- member- Returns:
- list of assigned resources
-
getAssignedRichMembers
Description copied from interface:ResourcesManagerBl
Returns all members assigned to the resource as RichMembers.- Specified by:
getAssignedRichMembers
in interfaceResourcesManagerBl
- Parameters:
sess
-resource
-- Returns:
- list of rich members assigned to the resource
-
getAssignedRichResources
Description copied from interface:ResourcesManagerBl
List all rich resources associated with the group with facility property filled.- Specified by:
getAssignedRichResources
in interfaceResourcesManagerBl
- Parameters:
sess
-group
-- Returns:
- list of assigned rich resources
-
getAssignedRichResources
Description copied from interface:ResourcesManagerBl
Get all rich resources where the member is assigned with facility property filled.- Specified by:
getAssignedRichResources
in interfaceResourcesManagerBl
- Parameters:
sess
-member
-- Returns:
- list of resources
-
getAssignedRichResources
public List<RichResource> getAssignedRichResources(PerunSession sess, Member member, Service service) Description copied from interface:ResourcesManagerBl
Get all rich resources where the service and the member are assigned with facility property filled.- Specified by:
getAssignedRichResources
in interfaceResourcesManagerBl
- Parameters:
sess
-member
-service
-- Returns:
- list of resources
-
getAssignedServices
Description copied from interface:ResourcesManagerBl
List all services associated with the resource.- Specified by:
getAssignedServices
in interfaceResourcesManagerBl
- Parameters:
sess
-resource
-- Returns:
- list of assigned resources
-
getAssignedUsers
Description copied from interface:ResourcesManagerBl
Returns all users assigned to the resource.- Specified by:
getAssignedUsers
in interfaceResourcesManagerBl
- Parameters:
sess
-resource
-- Returns:
- list of users assigned to the resource
-
getAssociatedGroups
Description copied from interface:ResourcesManagerBl
Return list of groups associated with the resource with specified member. Does not require ACTIVE group-resource status.- Specified by:
getAssociatedGroups
in interfaceResourcesManagerBl
- Parameters:
sess
-resource
-member
-- Returns:
- list of groups, which are associated with the resource with specified member
-
getAssociatedMembers
Description copied from interface:ResourcesManagerBl
Returns all members who are associated with the resource. Does not require ACTIVE group-resource status or any specific member status.- Specified by:
getAssociatedMembers
in interfaceResourcesManagerBl
- Parameters:
sess
-resource
-- Returns:
- list of members
-
getAssociatedResources
Description copied from interface:ResourcesManagerBl
List all resources associated with the group. Does not require ACTIVE group-resource status.- Specified by:
getAssociatedResources
in interfaceResourcesManagerBl
- Parameters:
sess
-group
-- Returns:
- list of associated resources
-
getAssociatedResources
Description copied from interface:ResourcesManagerBl
Returns all resources with which the member is associated through the groups. Does not require ACTIVE group-resource status.- Specified by:
getAssociatedResources
in interfaceResourcesManagerBl
- Parameters:
sess
-member
-- Returns:
- list of resources
-
getAssociatedUsers
Description copied from interface:ResourcesManagerBl
Returns all users who are associated with the defined resource. Does not require ACTIVE group-resource status.- Specified by:
getAssociatedUsers
in interfaceResourcesManagerBl
- Parameters:
sess
-resource
-- Returns:
- list of users
-
getBan
public BanOnResource getBan(PerunSession sess, int memberId, int resourceId) throws BanNotExistsException Description copied from interface:ResourcesManagerBl
Get specific resource ban.- Specified by:
getBan
in interfaceResourcesManagerBl
- Parameters:
sess
-memberId
- the member idresourceId
- the resource id- Returns:
- specific resource ban
- Throws:
BanNotExistsException
-
getBanById
Description copied from interface:ResourcesManagerBl
Get Ban for member on resource by it's id- Specified by:
getBanById
in interfaceResourcesManagerBl
- Parameters:
sess
-banId
- the ban id- Returns:
- resource ban by it's id
- Throws:
BanNotExistsException
-
getBansForMember
Description copied from interface:ResourcesManagerBl
Get all resources bans for member.- Specified by:
getBansForMember
in interfaceResourcesManagerBl
- Parameters:
sess
-memberId
- the member id- Returns:
- list of bans for member on any resource
-
getBansForResource
Description copied from interface:ResourcesManagerBl
Get all members bans for resource- Specified by:
getBansForResource
in interfaceResourcesManagerBl
- Parameters:
sess
-resourceId
- the resource id- Returns:
- list of all members bans on resource
-
getEnrichedBansForResource
public List<EnrichedBanOnResource> getEnrichedBansForResource(PerunSession sess, Resource resource, List<String> attrNames) throws AttributeNotExistsException Description copied from interface:ResourcesManagerBl
Get all enriched bans for members on the resource with user and member attributes- Specified by:
getEnrichedBansForResource
in interfaceResourcesManagerBl
- Parameters:
sess
-resource
- resourceattrNames
- names of attributes- Returns:
- list of all enriched bans on resource
- Throws:
AttributeNotExistsException
-
getEnrichedBansForUser
public List<EnrichedBanOnResource> getEnrichedBansForUser(PerunSession sess, User user, List<String> attrNames) throws AttributeNotExistsException Description copied from interface:ResourcesManagerBl
Get enriched bans for user on all resources where user is assigned with user and member attributes- Specified by:
getEnrichedBansForUser
in interfaceResourcesManagerBl
- Parameters:
sess
-user
- userattrNames
- names of attributes- Returns:
- list of all user's bans on resources
- Throws:
AttributeNotExistsException
-
getEnrichedResourceById
public EnrichedResource getEnrichedResourceById(PerunSession sess, int id, List<String> attrNames) throws ResourceNotExistsException Description copied from interface:ResourcesManagerBl
Find resource for given id and returns it with given attributes. If attrNames are null or empty, all resource attributes are returned.- Specified by:
getEnrichedResourceById
in interfaceResourcesManagerBl
- Parameters:
sess
- sessionid
- resource idattrNames
- names of attributes to return- Returns:
- resource for given id with desired attributes
- Throws:
ResourceNotExistsException
- if there is no resource with given id
-
getEnrichedRichResourcesForFacility
public List<EnrichedResource> getEnrichedRichResourcesForFacility(PerunSession sess, Facility facility, List<String> attrNames) Description copied from interface:ResourcesManagerBl
Find resources for given facility and attributes for given names. If the attrNames are empty or null, return all attributes.- Specified by:
getEnrichedRichResourcesForFacility
in interfaceResourcesManagerBl
- Parameters:
sess
- sessionfacility
- facilityattrNames
- names of attributes to return- Returns:
- resources with desired attributes
-
getEnrichedRichResourcesForVo
public List<EnrichedResource> getEnrichedRichResourcesForVo(PerunSession sess, Vo vo, List<String> attrNames) Description copied from interface:ResourcesManagerBl
Find resources for given vo and attributes for given names. If the attrNames are empty or null, return all attributes.- Specified by:
getEnrichedRichResourcesForVo
in interfaceResourcesManagerBl
- Parameters:
sess
- sessionvo
- voattrNames
- names of attributes to return- Returns:
- resources with desired attributes
-
getFacility
Description copied from interface:ResourcesManagerBl
Get facility which belongs to the concrete resource.- Specified by:
getFacility
in interfaceResourcesManagerBl
- Parameters:
sess
-resource
-- Returns:
- facility belonging to the resource
-
getGroupAssignments
public List<AssignedGroup> getGroupAssignments(PerunSession sess, Resource resource, List<String> attrNames) Description copied from interface:ResourcesManagerBl
Lists all of the assigned groups for the given resource. Also, returns specified attributes for the groups. If attrNames are null, all group attributes are returned.- Specified by:
getGroupAssignments
in interfaceResourcesManagerBl
- Parameters:
sess
- sessionresource
- resourceattrNames
- names of attributes to return- Returns:
- list of assigned groups for given resource with specified attributes
-
getGroupResourceAssignments
public List<GroupResourceAssignment> getGroupResourceAssignments(PerunSession sess, List<GroupResourceStatus> statuses) Description copied from interface:ResourcesManagerBl
Lists all group-resource assignments with given statuses. If statuses are empty or null, lists assignments with all statuses.- Specified by:
getGroupResourceAssignments
in interfaceResourcesManagerBl
- Parameters:
sess
- sessionstatuses
- list of allowed statuses- Returns:
- list of group-resource assignments with given statuses
-
getMailingServiceRichResourcesWithMember
public List<RichResource> getMailingServiceRichResourcesWithMember(PerunSession sess, Member member) Description copied from interface:ResourcesManagerBl
Return all rich resources with mailing service(s) where given member is assigned.- Specified by:
getMailingServiceRichResourcesWithMember
in interfaceResourcesManagerBl
- Parameters:
sess
- sessionmember
- member- Returns:
- list of corresponding rich resources
-
getPerunBl
Gets the perunBl.- Returns:
- The perunBl.
-
getResourceAssignments
public List<AssignedResource> getResourceAssignments(PerunSession sess, Group group, List<String> attrNames) Description copied from interface:ResourcesManagerBl
Lists all of the resource assignments for the given group. Also, returns specified attributes and resource tags for the resources. If attrNames are null or empty, all resource attributes are returned.- Specified by:
getResourceAssignments
in interfaceResourcesManagerBl
- Parameters:
sess
- sessiongroup
- groupattrNames
- names of attributes to return- Returns:
- list of assigned resources for given group with specified attributes and resource tags
-
getResourceById
Description copied from interface:ResourcesManagerBl
Searches for the Resource with specified id.- Specified by:
getResourceById
in interfaceResourcesManagerBl
- Parameters:
sess
-id
-- Returns:
- Resource with specified id
- Throws:
ResourceNotExistsException
-
getResourceByName
public Resource getResourceByName(PerunSession sess, Vo vo, Facility facility, String name) throws ResourceNotExistsException Description copied from interface:ResourcesManagerBl
Return resource by its name.- Specified by:
getResourceByName
in interfaceResourcesManagerBl
- Parameters:
sess
-vo
-facility
-name
-- Returns:
- resource
- Throws:
ResourceNotExistsException
-
getResources
Description copied from interface:ResourcesManagerBl
Get all VO resources.- Specified by:
getResources
in interfaceResourcesManagerBl
- Parameters:
sess
-vo
-- Returns:
- list of resources
-
getResources
public List<Resource> getResources(PerunSession sess, User user, List<Status> memberStatuses, List<MemberGroupStatus> memberGroupStatuses, List<GroupResourceStatus> groupResourceStatuses) Description copied from interface:ResourcesManagerBl
Return all resources where user is assigned. Checks member's status in VO and group and status of group-resource assignment. If statuses are null or empty all statuses are used.- Specified by:
getResources
in interfaceResourcesManagerBl
- Parameters:
sess
-user
-memberStatuses
- allowed member's statuses in VOmemberGroupStatuses
- allowed member's statuses in groupgroupResourceStatuses
- allowed statuses of group-resource assignment- Returns:
- List of allowed resources for the user
-
getResources
Description copied from interface:ResourcesManagerBl
Finds all resources.- Specified by:
getResources
in interfaceResourcesManagerBl
- Parameters:
sess
- session- Returns:
- list of all resources
-
getResourcesByAttribute
public List<Resource> getResourcesByAttribute(PerunSession sess, Attribute attribute) throws WrongAttributeAssignmentException Description copied from interface:ResourcesManagerBl
Returns all resource which have set the attribute with the value. Searching only def and opt attributes.- Specified by:
getResourcesByAttribute
in interfaceResourcesManagerBl
- Parameters:
sess
-attribute
-- Returns:
- Throws:
WrongAttributeAssignmentException
-
getResourcesByIds
Description copied from interface:ResourcesManagerBl
Searches for the Resources with specified ids.- Specified by:
getResourcesByIds
in interfaceResourcesManagerBl
- Parameters:
sess
-ids
-- Returns:
- Resources with specified ids
-
getResourcesCount
Description copied from interface:ResourcesManagerBl
Get all VO resources count.- Specified by:
getResourcesCount
in interfaceResourcesManagerBl
- Parameters:
sess
-vo
-- Returns:
- count fo vo resources
-
getResourcesCount
Description copied from interface:ResourcesManagerBl
Get count of all resources.- Specified by:
getResourcesCount
in interfaceResourcesManagerBl
- Parameters:
sess
-- Returns:
- count of all resources
-
getResourcesManagerImpl
Gets the resourcesManagerImpl.- Returns:
- The resourcesManagerImpl.
-
getResourcesWhereGroupIsAdmin
public List<Resource> getResourcesWhereGroupIsAdmin(PerunSession sess, Facility facility, Vo vo, Group authorizedGroup) Description copied from interface:ResourcesManagerBl
Return all resources for the facility and the vo where the group is authorized as resource manager.- Specified by:
getResourcesWhereGroupIsAdmin
in interfaceResourcesManagerBl
- Parameters:
sess
-facility
- the facility to which resources should be assigned tovo
- the vo to which resources should be assigned toauthorizedGroup
- group with resource manager role for all those resources- Returns:
- list of defined resources where groups has role resource manager
-
getResourcesWhereUserIsAdmin
Description copied from interface:ResourcesManagerBl
Returns list of resources, where the user is an admin. Including resources, where the user is a VALID member of authorized group.- Specified by:
getResourcesWhereUserIsAdmin
in interfaceResourcesManagerBl
- Parameters:
sess
-user
-- Returns:
- list of resources, where the user is an admin.
-
getResourcesWhereUserIsAdmin
public List<Resource> getResourcesWhereUserIsAdmin(PerunSession sess, Facility facility, Vo vo, User authorizedUser) Description copied from interface:ResourcesManagerBl
Return all resources for the facility and the vo where user is authorized as resource manager. Including resources, where the user is a VALID member of authorized group.- Specified by:
getResourcesWhereUserIsAdmin
in interfaceResourcesManagerBl
- Parameters:
sess
-facility
- the facility to which resources should be assigned tovo
- the vo to which resources should be assigned toauthorizedUser
- user with resource manager role for all those resources- Returns:
- list of defined resources where user has role resource manager
-
getResourcesWhereUserIsAdmin
Description copied from interface:ResourcesManagerBl
Return all resources for the vo where user is authorized as resource manager. Including resources, where the user is a VALID member of authorized group.- Specified by:
getResourcesWhereUserIsAdmin
in interfaceResourcesManagerBl
- Parameters:
sess
-vo
- the vo to which resources should be assigned toauthorizedUser
- user with resource manager role for all those resources- Returns:
- list of defined resources where user has role resource manager
-
getRichAdmins
public List<RichUser> getRichAdmins(PerunSession perunSession, Resource resource, List<String> specificAttributes, boolean allUserAttributes, boolean onlyDirectAdmins) throws UserNotExistsException Description copied from interface:ResourcesManagerBl
Gets list of all richUser administrators of the Resource. If some group is administrator of the given resource, all VALID members are included in the list.Supported roles: ResourceAdmin, VOAdmin
If "onlyDirectAdmins" is "true", return only direct users of the group for supported role with specific attributes. If "allUserAttributes" is "true", do not specify attributes through list and return them all in objects richUser . Ignoring list of specific attributes.
- Specified by:
getRichAdmins
in interfaceResourcesManagerBl
- Parameters:
perunSession
-resource
-specificAttributes
- list of specified attributes which are needed in object richUserallUserAttributes
- if true, get all possible user attributes and ignore list of specificAttributes (if false, get only specific attributes)onlyDirectAdmins
- if true, get only direct user administrators (if false, get both direct and indirect)- Returns:
- list of RichUser administrators for the resource and supported role with attributes
- Throws:
UserNotExistsException
-
getRichResourceById
public RichResource getRichResourceById(PerunSession sess, int id) throws ResourceNotExistsException Description copied from interface:ResourcesManagerBl
Searches for the RichResource with specified id.- Specified by:
getRichResourceById
in interfaceResourcesManagerBl
- Parameters:
sess
-id
-- Returns:
- RichResource with specified id
- Throws:
ResourceNotExistsException
-
getRichResources
Description copied from interface:ResourcesManagerBl
Get all VO rich resources with facility property filled.- Specified by:
getRichResources
in interfaceResourcesManagerBl
- Parameters:
sess
-vo
-- Returns:
- list of rich resources
-
getRichResourcesByIds
Description copied from interface:ResourcesManagerBl
Searches for the RichResources with specified ids.- Specified by:
getRichResourcesByIds
in interfaceResourcesManagerBl
- Parameters:
sess
-ids
-- Returns:
- RichResources with specified ids
-
getVo
Description copied from interface:ResourcesManagerBl
Get Vo which is tied to specified resource.- Specified by:
getVo
in interfaceResourcesManagerBl
- Parameters:
sess
-resource
-- Returns:
- vo tied to specified resource
-
groupResourceAssignmentExists
Description copied from interface:ResourcesManagerBl
Returns true if the group is assigned to the current resource with any status, false otherwise.- Specified by:
groupResourceAssignmentExists
in interfaceResourcesManagerBl
- Parameters:
sess
-resource
-group
-- Returns:
- true if the group is assigned to the current resource.
-
isGroupAssigned
Description copied from interface:ResourcesManagerBl
Returns true if the group is assigned to the current resource with ACTIVE status, false otherwise.- Specified by:
isGroupAssigned
in interfaceResourcesManagerBl
- Parameters:
sess
-resource
-group
-- Returns:
- true if the group is assigned to the current resource with active status.
-
isGroupManuallyAssigned
Description copied from interface:ResourcesManagerBl
Returns true if the group is assigned to the given resource manually, false otherwise.- Specified by:
isGroupManuallyAssigned
in interfaceResourcesManagerBl
- Parameters:
sess
-group
-resource
-- Returns:
- true if the group is assigned to the given resource manually.
-
isUserAllowed
Description copied from interface:ResourcesManagerBl
Returns true if the user is allowed to the current resource, false otherwise.- Specified by:
isUserAllowed
in interfaceResourcesManagerBl
- Parameters:
sess
-user
-resource
-- Returns:
- true if the user is allowed to the current resource.
-
isUserAssigned
Description copied from interface:ResourcesManagerBl
Returns true if the user is assigned to the current resource, false otherwise.- Specified by:
isUserAssigned
in interfaceResourcesManagerBl
- Parameters:
sess
-user
-resource
-- Returns:
- true if the user is assigned to the current resource.
-
processGroupResourceActivationAsync
@Async public void processGroupResourceActivationAsync(PerunSession sess, Group group, Resource resource) Description copied from interface:ResourcesManagerBl
Asynchronously processes group-resource activation. Sets assignment status of given group and resource to ACTIVE. Check if attributes for each member from group are valid. Fill members' attributes with missing values. In case of error during activation, the group-resource assignment status is set to FAILED.- Specified by:
processGroupResourceActivationAsync
in interfaceResourcesManagerBl
- Parameters:
sess
- sessiongroup
- groupresource
- resource
-
removeAllExpiredBansOnResources
Description copied from interface:ResourcesManagerBl
Remove all expired bans on resources to now date.Get all expired bans and remove them one by one with auditing process. This method is for purpose of removing expired bans using some cron tool.
- Specified by:
removeAllExpiredBansOnResources
in interfaceResourcesManagerBl
- Parameters:
sess
-
-
removeAllResourcesTagFromResource
Description copied from interface:ResourcesManagerBl
Remove all existing Resource tags for specific resource.- Specified by:
removeAllResourcesTagFromResource
in interfaceResourcesManagerBl
- Parameters:
perunSession
-resource
-
-
removeAutomaticGroupFromResource
public void removeAutomaticGroupFromResource(PerunSession sess, Group group, Resource resource, int sourceGroupId) throws GroupNotDefinedOnResourceException, GroupAlreadyRemovedFromResourceException Description copied from interface:ResourcesManagerBl
Remove automatically assigned group from resource. After removing, check attributes and fix them if it is needed.- Specified by:
removeAutomaticGroupFromResource
in interfaceResourcesManagerBl
- Parameters:
sess
-group
- the groupresource
- the resourcesourceGroupId
- id of a source group through which was the group automatically assigned- Throws:
GroupNotDefinedOnResourceException
- when there is no such automatic group-resource assignmentGroupAlreadyRemovedFromResourceException
- when the group was already removed
-
removeBan
Description copied from interface:ResourcesManagerBl
Remove ban by id from resources bans.- Specified by:
removeBan
in interfaceResourcesManagerBl
- Parameters:
sess
-banId
- id of specific ban- Throws:
BanNotExistsException
-
removeBan
Description copied from interface:ResourcesManagerBl
Remove ban by member_id and facility_id- Specified by:
removeBan
in interfaceResourcesManagerBl
- Parameters:
sess
-memberId
- the id of memberresourceId
- the id of resource- Throws:
BanNotExistsException
-
removeGroupFromResource
public void removeGroupFromResource(PerunSession sess, Group group, Resource resource) throws GroupNotDefinedOnResourceException, GroupAlreadyRemovedFromResourceException Description copied from interface:ResourcesManagerBl
Remove group from a resource. After removing, check attributes and fix them if it is needed.- Specified by:
removeGroupFromResource
in interfaceResourcesManagerBl
- Parameters:
sess
-group
-resource
-- Throws:
GroupNotDefinedOnResourceException
- Group was never assigned to this resourceGroupAlreadyRemovedFromResourceException
- there are 0 rows affected by deleting from DB
-
removeGroupFromResources
public void removeGroupFromResources(PerunSession perunSession, Group group, List<Resource> resources) throws GroupNotDefinedOnResourceException, GroupAlreadyRemovedFromResourceException Description copied from interface:ResourcesManagerBl
Remove group from resources. After removing, check attributes and fix them if it is needed.- Specified by:
removeGroupFromResources
in interfaceResourcesManagerBl
- Parameters:
perunSession
-group
- the groupresources
- list of resources- Throws:
GroupNotDefinedOnResourceException
GroupAlreadyRemovedFromResourceException
-
removeGroupsFromResource
public void removeGroupsFromResource(PerunSession perunSession, List<Group> groups, Resource resource) throws GroupNotDefinedOnResourceException, GroupAlreadyRemovedFromResourceException Description copied from interface:ResourcesManagerBl
Remove groups from a resource. After removing, check attributes and fix them if it is needed.- Specified by:
removeGroupsFromResource
in interfaceResourcesManagerBl
- Parameters:
perunSession
-groups
- list of groupsresource
-- Throws:
GroupNotDefinedOnResourceException
GroupAlreadyRemovedFromResourceException
-
removeResourceSelfServiceGroup
public void removeResourceSelfServiceGroup(PerunSession sess, Resource resource, Group group) throws GroupNotAdminException Description copied from interface:ResourcesManagerBl
Unset ResourceSelfService role to given group for given resource.- Specified by:
removeResourceSelfServiceGroup
in interfaceResourcesManagerBl
- Parameters:
sess
- sessionresource
- resourcegroup
- group- Throws:
GroupNotAdminException
- group did not have the role
-
removeResourceSelfServiceUser
public void removeResourceSelfServiceUser(PerunSession sess, Resource resource, User user) throws UserNotAdminException Description copied from interface:ResourcesManagerBl
Unset ResourceSelfService role to given user for given resource.- Specified by:
removeResourceSelfServiceUser
in interfaceResourcesManagerBl
- Parameters:
sess
- sessionresource
- resourceuser
- user- Throws:
UserNotAdminException
- user did not have the role
-
removeResourceTagFromResource
public void removeResourceTagFromResource(PerunSession perunSession, ResourceTag resourceTag, Resource resource) throws ResourceTagNotAssignedException Description copied from interface:ResourcesManagerBl
Remove specific ResourceTag from existing Resource.- Specified by:
removeResourceTagFromResource
in interfaceResourcesManagerBl
- Parameters:
perunSession
-resourceTag
-resource
-- Throws:
ResourceTagNotAssignedException
-
removeResourceTagsFromResource
public void removeResourceTagsFromResource(PerunSession perunSession, List<ResourceTag> resourceTags, Resource resource) throws ResourceTagNotAssignedException Description copied from interface:ResourcesManagerBl
Remove specific ResourceTags from existing Resource.- Specified by:
removeResourceTagsFromResource
in interfaceResourcesManagerBl
- Parameters:
perunSession
-resourceTags
-resource
-- Throws:
ResourceTagNotAssignedException
-
removeService
public void removeService(PerunSession sess, Resource resource, Service service) throws ServiceNotAssignedException Description copied from interface:ResourcesManagerBl
Remove service from resource.- Specified by:
removeService
in interfaceResourcesManagerBl
- Parameters:
sess
-resource
-service
-- Throws:
ServiceNotAssignedException
-
removeServices
public void removeServices(PerunSession sess, Resource resource, List<Service> services) throws ServiceNotAssignedException Description copied from interface:ResourcesManagerBl
Remove services from resource.- Specified by:
removeServices
in interfaceResourcesManagerBl
- Parameters:
sess
-resource
-services
-- Throws:
ServiceNotAssignedException
-
removeServicesPackage
public void removeServicesPackage(PerunSession sess, Resource resource, ServicesPackage servicesPackage) Description copied from interface:ResourcesManagerBl
Remove from resource all services from services package.- Specified by:
removeServicesPackage
in interfaceResourcesManagerBl
- Parameters:
sess
-resource
-servicesPackage
-
-
setBan
public BanOnResource setBan(PerunSession sess, BanOnResource banOnResource) throws BanAlreadyExistsException Description copied from interface:ResourcesManagerBl
Set ban for member on resource- Specified by:
setBan
in interfaceResourcesManagerBl
- Parameters:
sess
-banOnResource
- the ban- Returns:
- ban on resource
- Throws:
BanAlreadyExistsException
-
setPerunBl
-
updateAllRequiredAttributesForAllowedMembers
public void updateAllRequiredAttributesForAllowedMembers(PerunSession sess, Resource resource, List<Service> services) throws MemberResourceMismatchException, WrongAttributeAssignmentException, AttributeNotExistsException, WrongReferenceAttributeValueException, WrongAttributeValueException For given resource, finds all allowed members and sets them attributes, (member-resource, member, user-facility and user) that are required by given services.- Parameters:
sess
- sessionresource
- resource from where allowed members are takenservices
- services, for which the required attributes are set- Throws:
MemberResourceMismatchException
- MemberResourceMismatchExceptionWrongAttributeAssignmentException
- WrongAttributeAssignmentExceptionAttributeNotExistsException
- AttributeNotExistsExceptionWrongReferenceAttributeValueException
- WrongReferenceAttributeValueExceptionWrongAttributeValueException
- WrongAttributeValueException
-
updateBan
Description copied from interface:ResourcesManagerBl
Update description and validity timestamp of specific ban.- Specified by:
updateBan
in interfaceResourcesManagerBl
- Parameters:
sess
-banOnResource
- ban to be updated- Returns:
- updated ban
-
updateResource
Description copied from interface:ResourcesManagerBl
Updates Resource.- Specified by:
updateResource
in interfaceResourcesManagerBl
- Parameters:
sess
-resource
-- Returns:
- returns updated Resource
- Throws:
ResourceExistsException
-
updateResourceTag
Description copied from interface:ResourcesManagerBl
Update existing Resource tag.- Specified by:
updateResourceTag
in interfaceResourcesManagerBl
- Parameters:
perunSession
-resourceTag
-- Returns:
- updated ResourceTag
-