Class SearcherBlImpl

java.lang.Object
cz.metacentrum.perun.core.blImpl.SearcherBlImpl
All Implemented Interfaces:
SearcherBl

public class SearcherBlImpl extends Object implements SearcherBl
Searcher Class for searching objects by Map of Attributes
Author:
Michal Stava <stavamichal@gmail.com>
  • Constructor Details

  • Method Details

    • getUsers

      public List<User> getUsers(PerunSession sess, Map<String,String> attributesWithSearchingValues) throws AttributeNotExistsException, WrongAttributeAssignmentException
      Description copied from interface: SearcherBl
      This method get Map of Attributes with searching values and try to find all users, which have specific attributes in format. Better information about format below. When there are more than 1 attribute in Map, it means all must be true "looking for all of them" (AND)
      Specified by:
      getUsers in interface SearcherBl
      Parameters:
      sess - perun session
      attributesWithSearchingValues - map of attributes names when attribute is type String, so value is string and we are looking for total match (Partial is not supported now, will be supported later by symbol *) when attribute is type Integer, so value is integer in String and we are looking for total match when attribute is type List, so value is String and we are looking for at least one total or partial matching element when attribute is type Map so value is String in format "key=value" and we are looking total match of both or if is it "key" so we are looking for total match of key IMPORTANT: In map there is not allowed char '=' in key. First char '=' is delimiter in MAP item key=value!!!
      Returns:
      list of users who have attributes with specific values (behavior above) if no user exist, return empty list of users
      Throws:
      AttributeNotExistsException
      WrongAttributeAssignmentException
    • getUsersForCoreAttributes

      public List<User> getUsersForCoreAttributes(PerunSession sess, Map<String,String> coreAttributesWithSearchingValues) throws AttributeNotExistsException, WrongAttributeAssignmentException
      Description copied from interface: SearcherBl
      This method take map of coreAttributes with search values and return all users who have the specific match for all of these core attributes.
      Specified by:
      getUsersForCoreAttributes in interface SearcherBl
      Returns:
      Throws:
      AttributeNotExistsException
      WrongAttributeAssignmentException
    • getGroups

      public List<Group> getGroups(PerunSession sess, Vo vo, Map<String,String> attributesWithSearchingValues) throws AttributeNotExistsException
      Description copied from interface: SearcherBl
      Filter output from getGroups by vo_id.
      Specified by:
      getGroups in interface SearcherBl
      Throws:
      AttributeNotExistsException
      See Also:
    • getGroups

      public List<Group> getGroups(PerunSession sess, Map<String,String> attributesWithSearchingValues) throws AttributeNotExistsException
      Description copied from interface: SearcherBl
      This method get Map of Attributes with searching values and try to find all groups, which have specific attributes in format. Better information about format below. When there are more than 1 attribute in Map, it means all must be true "looking for all of them" (AND) IMPORTANT: can't get CORE ATTRIBUTES, it will skip any core attribute in map without information about it
      Specified by:
      getGroups in interface SearcherBl
      Parameters:
      sess - perun session
      attributesWithSearchingValues - map of attributes names when attribute is type String, so value is string and we are looking for total match (Partial is not supported now, will be supported later by symbol *) when attribute is type Integer, so value is integer in String and we are looking for total match when attribute is type List, so value is String and we are looking for at least one total or partial matching element when attribute is type Map so value is String in format "key=value" and we are looking total match of both or if is it "key" so we are looking for total match of key IMPORTANT: In map there is not allowed char '=' in key. First char '=' is delimiter in MAP item key=value!!!
      Returns:
      list of groups who have attributes with specific values (behavior above) if no group exist, return empty list of groups if empty map, return all groups
      Throws:
      AttributeNotExistsException
    • getMembersByExpiration

      public List<Member> getMembersByExpiration(PerunSession sess, String operator, int days)
      Description copied from interface: SearcherBl
      Return members with expiration date set, which will expire on today +/- X days. You can specify operator for comparison (by default "=") returning exact match. So you can get all expired members (including today) using "<=" and zero days shift. or using "<" and +1 day shift. Method ignores current member state, just compares expiration date !
      Specified by:
      getMembersByExpiration in interface SearcherBl
      Parameters:
      sess - PerunSession
      operator - One of "=", "<", ">", "<=", ">=". If null, "=" is anticipated.
      days - X days before/after today
      Returns:
      Members with expiration relative to method params.
    • getMembersByExpiration

      public List<Member> getMembersByExpiration(PerunSession sess, String operator, LocalDate date)
      Description copied from interface: SearcherBl
      Return members with expiration date set, which will expire on specified date. You can specify operator for comparison (by default "=") returning exact match. So you can get all expired members (including today) using "<=" and today date. or using "<" and tomorrow date. Method ignores current member state, just compares expiration date !
      Specified by:
      getMembersByExpiration in interface SearcherBl
      Parameters:
      sess - PerunSession
      operator - One of "=", "<", ">", "<=", ">=". If null, "=" is anticipated.
      date - Date to compare expiration with (if null, current date is used).
      Returns:
      Members with expiration relative to method params.
    • getMembersByGroupExpiration

      public List<Member> getMembersByGroupExpiration(PerunSession sess, Group group, String operator, LocalDate date)
      Description copied from interface: SearcherBl
      Return members with group expiration date set, which will expire on specified date in given group. You can specify operator for comparison (by default "=") returning exact match. So you can get all expired members (including today) using "<=" and today date. or using "<" and tomorrow date. Method returns members with its expiration status for given group. Method ignores current member state, just compares expiration date! Method returns also indirect members of group with expiration set (by accident probably), but we manage status only for direct members !!
      Specified by:
      getMembersByGroupExpiration in interface SearcherBl
      Parameters:
      sess - Perun session
      operator - One of "=", "<", ">", "<=", ">=". If null, "=" is anticipated.
      date - Date to compare expiration with (if null, current date is used).
      Returns:
      Members with expiration relative to method params.
    • getGroupsByGroupResourceSetting

      public List<Group> getGroupsByGroupResourceSetting(PerunSession sess, Attribute groupResourceAttribute, Attribute resourceAttribute)
      Description copied from interface: SearcherBl
      Return all groups assigned to any resource with following conditions: 1] resource has set "resourceAttribute" attribute with same value 2] group and resource has set "groupResourceAttribute" attribute with same value Attribute values can't be empty. If there is no such group, return empty array.
      Specified by:
      getGroupsByGroupResourceSetting in interface SearcherBl
      groupResourceAttribute - expected attribute set between a group and a resource (group need to be assigned to the resource)
      resourceAttribute - expected attribute set for assigned resource
      Returns:
      list of groups with following conditions
    • getFacilities

      public List<Facility> getFacilities(PerunSession sess, Map<String,String> attributesWithSearchingValues) throws AttributeNotExistsException, WrongAttributeAssignmentException
      Description copied from interface: SearcherBl
      This method get Map of Attributes with searching values and try to find all facilities, which have specific attributes in format. Better information about format below. When there are more than 1 attribute in Map, it means all must be true "looking for all of them" (AND)
      Specified by:
      getFacilities in interface SearcherBl
      Parameters:
      sess - perun session
      attributesWithSearchingValues - map of attributes names when attribute is type String, so value is string and we are looking for total match (Partial is not supported now, will be supported later by symbol *) when attribute is type Integer, so value is integer in String and we are looking for total match when attribute is type List, so value is String and we are looking for at least one total or partial matching element when attribute is type Map so value is String in format "key=value" and we are looking total match of both or if is it "key" so we are looking for total match of key IMPORTANT: In map there is not allowed char '=' in key. First char '=' is delimiter in MAP item key=value!!!
      Returns:
      list of facilities that have attributes with specific values (behaviour above) if no such facility exists, returns empty list
      Throws:
      AttributeNotExistsException - when specified attribute does not exist
      WrongAttributeAssignmentException - wrong attribute assignment
    • getResources

      public List<Resource> getResources(PerunSession sess, Map<String,String> attributesWithSearchingValues, boolean allowPartialMatchForString) throws AttributeNotExistsException, WrongAttributeAssignmentException
      Description copied from interface: SearcherBl
      This method get Map of Attributes with searching values and try to find all resources, which have specific attributes in format. Better information about format below. When there are more than 1 attribute in Map, it means all must be true "looking for all of them" (AND)
      Specified by:
      getResources in interface SearcherBl
      Parameters:
      sess - perun session
      attributesWithSearchingValues - map of attributes names when attribute is type String, so value is string and we are looking for exact or partial match based by parameter 'allowPartialMatchForString' when attribute is type Integer, so value is integer in String and we are looking for total match when attribute is type List, so value is String and we are looking for at least one total or partial matching element when attribute is type Map so value is String in format "key=value" and we are looking total match of both or if is it "key" so we are looking for total match of key IMPORTANT: In map there is not allowed char '=' in key. First char '=' is delimiter in MAP item key=value!!!
      allowPartialMatchForString - if true, we are looking for partial match, if false, we are looking only for exact match (only for STRING type attributes)
      Returns:
      list of resources that have attributes with specific values (behaviour above) if no such resource exists, returns empty list
      Throws:
      AttributeNotExistsException - when specified attribute does not exist
      WrongAttributeAssignmentException - wrong attribute assignment
    • getVosIdsForAppAutoRejection

      public List<Integer> getVosIdsForAppAutoRejection()
      Description copied from interface: SearcherBl
      Gets VOs ids for potential application auto rejection.
      Specified by:
      getVosIdsForAppAutoRejection in interface SearcherBl
      Returns:
      VOs ids
    • getGroupsIdsForAppAutoRejection

      public List<Integer> getGroupsIdsForAppAutoRejection()
      Description copied from interface: SearcherBl
      Gets groups ids for potential application auto rejection.
      Specified by:
      getGroupsIdsForAppAutoRejection in interface SearcherBl
      Returns:
      groups ids
    • getSearcherImpl

      public SearcherImplApi getSearcherImpl()
    • getPerunBl

      public PerunBl getPerunBl()
    • setPerunBl

      public void setPerunBl(PerunBl perunBl)