+ } else if(_tosave == Save.readers) {
+ long studyId = getOpenStudy().getIndex().longValue();
+ _readers = getStudyService().getReaders(studyId);
+
+ //Remove newly unchecked users
+ if(_readers != null) {
+ for(UserDTO userDTO : _readers) {
+ if(_readerIds == null || !_readerIds.contains(userDTO.getIndex())) {
+ getStudyService().removeReader(studyId, userDTO.getIndex());
+ }
+ }
+ }
+
+ //Add newly checked users
+ if(_readerIds != null) {
+ for(Long userId : _readerIds) {
+ if(_readers == null) {
+ getStudyService().addReader(studyId, userId);
+ } else {
+ boolean contains = false;
+ for(UserDTO userDTO : _readers) {
+ if(userId.longValue() == userDTO.getIndex()) {
+ contains = true;
+ break;
+ }
+ }
+ if(!contains) {
+ getStudyService().addReader(studyId, userId);
+ }
+ }
+ }
+ }
+
+ //Update OpenStudy
+ _openStudy.open(getConnectedUser(), getStudyService().selectStudy(_openStudy.getIndex()));