import org.slf4j.Logger; import org.slf4j.LoggerFactory; import pl.edu.icm.synat.logic.services.user.exception.UserProfileNotFoundException; import pl.edu.icm.synat.api.services.usercatalog.UserCatalog import pl.edu.icm.synat.api.services.usercatalog.model.UserData; import pl.edu.icm.synat.application.commons.pagination.CountingIterator import pl.edu.icm.synat.application.commons.pagination.PaginationResult; import pl.edu.icm.synat.logic.services.user.profile.UserProfileService Integer PAGE_SIZE = 1000; UserProfileService profileService = serviceUtils.getService("user-profile-service", UserProfileService.class) UserCatalog catalog = serviceUtils.getService("UserCatalog", UserCatalog.class); int currentOffset = 0; PaginationResult users = catalog.searchUsers("SYNAT", null, null, null, null, null, null, 0, PAGE_SIZE); Logger logger = LoggerFactory.getLogger("Migrate Users Script"); while(!users.results.empty){ users.results.each { try { profileService.getUserProfile(it.id); }catch (UserProfileNotFoundException e) { logger.warn(e.message); } } currentOffset+=users.results.size(); users = catalog.searchUsers("SYNAT", null, null, null, null, null, null, currentOffset, PAGE_SIZE); }