Edit C:\Users\Admin\.m2\repository\org\dspace\dspace-api\6.2\org\dspace\eperson\GroupServiceImpl.class
???? 3 ?? ?????? ? ??? ??? ???? ?? ? ? ? ? ?????? ?? ? ?? ?? ? ??? ????? !? ? ?? ? u??? u? u? ? ? ? ? ? ? ?? ?? ? ???? ?? ?? ?? ?? ?? ?? ???????? ? ?? ?? ?? ?? ?? ??? ?? H? ??? L??? ?? u? ????? S? ???? S? ???? L? ?????? ???? `? ?????? ?? H? ??? ? ??? ?? ? ??? ?? ? ^? ^ ^? ?? ! "#?$% ???&' ?() ?*+,+-+./+0 ??1 ?2 ?3 ?4?5 S??? S6 S7? 89 8: 8; 8< 8= 8> 8? ?@AB CD CE CFAG CH CI ?JKL MN OP ?Q?R?S?T ?U ?V ?W ?XY Z[\ log Lorg/slf4j/Logger; groupDAO !Lorg/dspace/eperson/dao/GroupDAO; RuntimeVisibleAnnotations 8Lorg/springframework/beans/factory/annotation/Autowired; required group2GroupCacheDAO ,Lorg/dspace/eperson/dao/Group2GroupCacheDAO; collectionService .Lorg/dspace/content/service/CollectionService; ePersonService +Lorg/dspace/eperson/service/EPersonService; communityService -Lorg/dspace/content/service/CommunityService; authorizeService /Lorg/dspace/authorize/service/AuthorizeService; <init> ()V Code LineNumberTable LocalVariableTable this %Lorg/dspace/eperson/GroupServiceImpl; create 5(Lorg/dspace/core/Context;)Lorg/dspace/eperson/Group; context Lorg/dspace/core/Context; g Lorg/dspace/eperson/Group; StackMapTable Exceptions setName /(Lorg/dspace/eperson/Group;Ljava/lang/String;)V group name Ljava/lang/String; addMember R(Lorg/dspace/core/Context;Lorg/dspace/eperson/Group;Lorg/dspace/eperson/EPerson;)V e Lorg/dspace/eperson/EPerson; P(Lorg/dspace/core/Context;Lorg/dspace/eperson/Group;Lorg/dspace/eperson/Group;)V groupParent groupChild removeMember ePerson childGroup isDirectMember 9(Lorg/dspace/eperson/Group;Lorg/dspace/eperson/EPerson;)Z isMember 7(Lorg/dspace/eperson/Group;Lorg/dspace/eperson/Group;)Z owningGroup isParentOf P(Lorg/dspace/core/Context;Lorg/dspace/eperson/Group;Lorg/dspace/eperson/Group;)Z parentGroup 6(Lorg/dspace/core/Context;Lorg/dspace/eperson/Group;)Z R(Lorg/dspace/core/Context;Lorg/dspace/eperson/EPerson;Lorg/dspace/eperson/Group;)Z specialGroup it Ljava/util/Iterator; Z cachedGroupMembership Ljava/lang/Boolean; LocalVariableTypeTable 0Ljava/util/Iterator<Lorg/dspace/eperson/Group;>;]^? isAuthenticatedUser 8(Lorg/dspace/core/Context;Lorg/dspace/eperson/EPerson;)Z .(Lorg/dspace/core/Context;Ljava/lang/String;)Z groupName J(Lorg/dspace/core/Context;Lorg/dspace/eperson/EPerson;Ljava/lang/String;)Z eperson allMemberGroups G(Lorg/dspace/core/Context;Lorg/dspace/eperson/EPerson;)Ljava/util/List; Signature c(Lorg/dspace/core/Context;Lorg/dspace/eperson/EPerson;)Ljava/util/List<Lorg/dspace/eperson/Group;>; allMemberGroupsSet F(Lorg/dspace/core/Context;Lorg/dspace/eperson/EPerson;)Ljava/util/Set; special specialGroups Ljava/util/List; group2GroupCache %Lorg/dspace/eperson/Group2GroupCache; Ljava/util/Set; groups groupCache ,Ljava/util/List<Lorg/dspace/eperson/Group;>; +Ljava/util/Set<Lorg/dspace/eperson/Group;>; 7Ljava/util/List<Lorg/dspace/eperson/Group2GroupCache;>;/_ b(Lorg/dspace/core/Context;Lorg/dspace/eperson/EPerson;)Ljava/util/Set<Lorg/dspace/eperson/Group;>; allMembers E(Lorg/dspace/core/Context;Lorg/dspace/eperson/Group;)Ljava/util/List; c group2GroupCaches childGroupChildren -Ljava/util/Set<Lorg/dspace/eperson/EPerson;>; c(Lorg/dspace/core/Context;Lorg/dspace/eperson/Group;)Ljava/util/List<Lorg/dspace/eperson/EPerson;>; find E(Lorg/dspace/core/Context;Ljava/util/UUID;)Lorg/dspace/eperson/Group; id Ljava/util/UUID; findByName G(Lorg/dspace/core/Context;Ljava/lang/String;)Lorg/dspace/eperson/Group; findAll ,(Lorg/dspace/core/Context;I)Ljava/util/List; sortField I Deprecated H(Lorg/dspace/core/Context;I)Ljava/util/List<Lorg/dspace/eperson/Group;>; Ljava/lang/Deprecated; ;(Lorg/dspace/core/Context;Ljava/util/List;)Ljava/util/List; metadataSortFields 4Ljava/util/List<Lorg/dspace/content/MetadataField;>; {(Lorg/dspace/core/Context;Ljava/util/List<Lorg/dspace/content/MetadataField;>;)Ljava/util/List<Lorg/dspace/eperson/Group;>; search =(Lorg/dspace/core/Context;Ljava/lang/String;)Ljava/util/List; groupIdentifier Y(Lorg/dspace/core/Context;Ljava/lang/String;)Ljava/util/List<Lorg/dspace/eperson/Group;>; ?(Lorg/dspace/core/Context;Ljava/lang/String;II)Ljava/util/List; offset limit uuid) [(Lorg/dspace/core/Context;Ljava/lang/String;II)Ljava/util/List<Lorg/dspace/eperson/Group;>; searchResultCount .(Lorg/dspace/core/Context;Ljava/lang/String;)I result delete 6(Lorg/dspace/core/Context;Lorg/dspace/eperson/Group;)V ePeople 2Ljava/util/Iterator<Lorg/dspace/eperson/EPerson;>; getSupportsTypeConstant ()I isEmpty (Lorg/dspace/eperson/Group;)Z subGroup hasMembers initDefaultGroupNames (Lorg/dspace/core/Context;)V groupService )Lorg/dspace/eperson/service/GroupService; anonymousGroup adminGroup? getEmptyGroups +(Lorg/dspace/core/Context;)Ljava/util/List; G(Lorg/dspace/core/Context;)Ljava/util/List<Lorg/dspace/eperson/Group;>; update isEPersonInGroup R(Lorg/dspace/core/Context;Lorg/dspace/eperson/Group;Lorg/dspace/eperson/EPerson;)Z rethinkGroupCache (Lorg/dspace/core/Context;Z)V children parent child group2groupResult %Lorg/apache/commons/lang3/tuple/Pair; myChildren Entry InnerClasses Ljava/util/Map$Entry; key flushQueries parents Ljava/util/Map; group2groupResults !Ljava/util/Set<Ljava/util/UUID;>; GLorg/apache/commons/lang3/tuple/Pair<Ljava/util/UUID;Ljava/util/UUID;>; HLjava/util/Map$Entry<Ljava/util/UUID;Ljava/util/Set<Ljava/util/UUID;>;>; BLjava/util/Map<Ljava/util/UUID;Ljava/util/Set<Ljava/util/UUID;>;>; YLjava/util/List<Lorg/apache/commons/lang3/tuple/Pair<Ljava/util/UUID;Ljava/util/UUID;>;>;`'1 getParentObject V(Lorg/dspace/core/Context;Lorg/dspace/eperson/Group;)Lorg/dspace/content/DSpaceObject; collection Lorg/dspace/content/Collection;a updateLastModified dso getChildren 0(Ljava/util/Map;Ljava/util/UUID;)Ljava/util/Set; u(Ljava/util/Map<Ljava/util/UUID;Ljava/util/Set<Ljava/util/UUID;>;>;Ljava/util/UUID;)Ljava/util/Set<Ljava/util/UUID;>; findByIdOrLegacyId findByLegacyId 6(Lorg/dspace/core/Context;I)Lorg/dspace/eperson/Group; countTotal (Lorg/dspace/core/Context;)I findByMetadataField _(Lorg/dspace/core/Context;Ljava/lang/String;Lorg/dspace/content/MetadataField;)Ljava/util/List; searchValue metadataField "Lorg/dspace/content/MetadataField; {(Lorg/dspace/core/Context;Ljava/lang/String;Lorg/dspace/content/MetadataField;)Ljava/util/List<Lorg/dspace/eperson/Group;>; =(Lorg/dspace/core/Context;Lorg/dspace/content/DSpaceObject;)V ](Lorg/dspace/core/Context;Lorg/dspace/content/DSpaceObject;)Lorg/dspace/content/DSpaceObject;b L(Lorg/dspace/core/Context;Ljava/util/UUID;)Lorg/dspace/content/DSpaceObject; =(Lorg/dspace/core/Context;I)Lorg/dspace/content/DSpaceObject; N(Lorg/dspace/core/Context;Ljava/lang/String;)Lorg/dspace/content/DSpaceObject; <clinit> qLorg/dspace/content/DSpaceObjectServiceImpl<Lorg/dspace/eperson/Group;>;Lorg/dspace/eperson/service/GroupService; SourceFile GroupServiceImpl.java ? ? ? ?cde 'org/dspace/authorize/AuthorizeException /You must be an admin to create an EPerson Group ?f ? ? org/dspace/eperson/Groupg ?h ? ? create_group java/lang/StringBuilder group_id=ijklimnopqrstf org/dspace/event/Event org/dspace/core/Constantsuv ?wxyz\I{|]}~ +Attempt to rename permanent Group {} to {}.o?? java/sql/SQLException #Attempt to rename a permanent Group ?f ? ? ????_???o ???O ???????O?? Anonymous????? ? ?????? ? ???]^????? ??^?~???? ? ????????./ ? ? java/util/ArrayList ???? java/util/HashSet????? #org/dspace/eperson/Group2GroupCache?????$?? ? ???????? 'org/dspace/eperson/service/GroupService07 'java/lang/UnsupportedOperationException <You can only find all groups sorted by name with this methodN?0Z;??????*+???F #Attempt to delete permanent Group $?? #Attempt to delete a permanent Group??? ??I???? org/dspace/eperson/EPerson? ????SH?_` delete_groupN~NO????? ? ???\? AdministratorYZ???~?o? ??~? ? update_group?? java/util/HashMap?? #org/apache/commons/lang3/tuple/Pair?? java/util/UUID??`?????? java/util/Set?? java/util/Map$Entry??~??*???????~?~?~?~?~?~?~ ? ????a??????w????? ? ????????? ??????wxHI|I?/ #org/dspace/eperson/GroupServiceImpl *org/dspace/content/DSpaceObjectServiceImpl java/lang/Boolean java/util/Iterator java/util/List java/util/Map org/dspace/content/Collection java/io/IOException -org/dspace/authorize/service/AuthorizeService isAdmin (Lorg/dspace/core/Context;)Z (Ljava/lang/String;)V org/dspace/eperson/dao/GroupDAO ?(Lorg/dspace/core/Context;Ljava/lang/Object;)Ljava/lang/Object; append -(Ljava/lang/String;)Ljava/lang/StringBuilder; getID ()Ljava/util/UUID; -(Ljava/lang/Object;)Ljava/lang/StringBuilder; toString ()Ljava/lang/String; org/dspace/core/LogManager getHeader Q(Lorg/dspace/core/Context;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; org/slf4j/Logger info getIdentifiers Q(Lorg/dspace/core/Context;Lorg/dspace/content/DSpaceObject;)Ljava/util/ArrayList; <(IILjava/util/UUID;Ljava/lang/String;Ljava/util/ArrayList;)V org/dspace/core/Context addEvent (Lorg/dspace/event/Event;)V isPermanent ()Ljava/lang/Boolean; booleanValue ()Z getName error 9(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V (Lorg/dspace/eperson/EPerson;)V getGroups ()Ljava/util/List; add (Ljava/lang/Object;)Z getEmail M(IILjava/util/UUID;ILjava/util/UUID;Ljava/lang/String;Ljava/util/ArrayList;)V contains (Lorg/dspace/eperson/Group;)V addParentGroup remove (Lorg/dspace/eperson/EPerson;)Z removeParentGroup $org/apache/commons/lang3/StringUtils equals 3(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z *org/dspace/eperson/dao/Group2GroupCacheDAO findByParentAndChild t(Lorg/dspace/core/Context;Lorg/dspace/eperson/Group;Lorg/dspace/eperson/Group;)Lorg/dspace/eperson/Group2GroupCache; getCurrentUser ()Lorg/dspace/eperson/EPerson; getCachedGroupMembership K(Lorg/dspace/eperson/Group;Lorg/dspace/eperson/EPerson;)Ljava/lang/Boolean; getSpecialGroups .org/apache/commons/collections/CollectionUtils isNotEmpty (Ljava/util/Collection;)Z iterator ()Ljava/util/Iterator; hasNext next ()Ljava/lang/Object; valueOf (Z)Ljava/lang/Boolean; cacheGroupMembership L(Lorg/dspace/eperson/Group;Lorg/dspace/eperson/EPerson;Ljava/lang/Boolean;)V #org/apache/commons/lang/ObjectUtils '(Ljava/lang/Object;Ljava/lang/Object;)Z (Ljava/util/Collection;)V getCachedAllMemberGroupsSet -(Lorg/dspace/eperson/EPerson;)Ljava/util/Set; findByEPerson addAll findByChildren ?(Lorg/dspace/core/Context;Ljava/lang/Iterable;)Ljava/util/List; getParent ()Lorg/dspace/eperson/Group; cacheAllMemberGroupsSet .(Lorg/dspace/eperson/EPerson;Ljava/util/Set;)V findByParent getChild )org/dspace/eperson/service/EPersonService findByGroups :(Lorg/dspace/core/Context;Ljava/util/Set;)Ljava/util/List; getMembers findByID N(Lorg/dspace/core/Context;Ljava/lang/Class;Ljava/util/UUID;)Ljava/lang/Object; org/dspace/util/UUIDUtils fromString $(Ljava/lang/String;)Ljava/util/UUID; findByNameLike isNotBlank (Ljava/lang/CharSequence;)Z countByNameLike '(Ljava/lang/String;Ljava/lang/Object;)V getSupervisedItems clear removeGroupPolicies getMemberGroups getParentGroups deleteAll .(Lorg/dspace/core/Context;Ljava/lang/Object;)V 0org/dspace/eperson/factory/EPersonServiceFactory getInstance 4()Lorg/dspace/eperson/factory/EPersonServiceFactory; getGroupService +()Lorg/dspace/eperson/service/GroupService; setPermanent (Z)V save isMetadataModified getDetails clearDetails isGroupsChanged clearGroupsChanged findByIdAndMembership a(Lorg/dspace/core/Context;Ljava/util/UUID;Lorg/dspace/eperson/EPerson;)Lorg/dspace/eperson/Group; getGroup2GroupResults ,(Lorg/dspace/core/Context;Z)Ljava/util/List; getLeft getRight containsKey put 8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; get &(Ljava/lang/Object;)Ljava/lang/Object; entrySet ()Ljava/util/Set; getKey getValue setParent setChild +org/dspace/authorize/AuthorizeConfiguration "canCollectionAdminManageAdminGroup "canCollectionAdminManageSubmitters !canCollectionAdminManageWorkflows !canCommunityAdminManageAdminGroup +canCommunityAdminManageCollectionAdminGroup +canCommunityAdminManageCollectionSubmitters *canCommunityAdminManageCollectionWorkflows ,org/dspace/content/service/CollectionService findByGroup T(Lorg/dspace/core/Context;Lorg/dspace/eperson/Group;)Lorg/dspace/content/Collection; getWorkflowStep1 getWorkflowStep2 getWorkflowStep3 getSubmitters getAdministrators +org/dspace/content/service/CommunityService findByAdminGroup S(Lorg/dspace/core/Context;Lorg/dspace/eperson/Group;)Lorg/dspace/content/Community; #org/apache/commons/lang/StringUtils isNumeric (Ljava/lang/String;)Z java/lang/Integer parseInt (Ljava/lang/String;)I N(Lorg/dspace/core/Context;ILjava/lang/Class;)Lorg/dspace/content/DSpaceObject; countRows org/slf4j/LoggerFactory getLogger %(Ljava/lang/Class;)Lorg/slf4j/Logger; ! ? ? ^ ? ? ? ? ? ? ?Z ? ? ? ? ? ?Z ? ? ? ? ? ?Z ? ? ? ? ? ?Z ? ? ? ? ? ?Z ? ? ? ? ? ?Z ? 0 ? ? ? 3 *? ? ? F G ? ? ? ? ? ? ? q*? +? ? ? Y? ?*? +? Y? ? ? M? +? Y? ? ,? ? ? ? ? +? Y,? *+,? ? ? *+,? ,? ? &