package com.constellio.sdk.load.script.preparators; import java.util.ArrayList; import java.util.List; import com.constellio.model.entities.security.global.GlobalGroup; import com.constellio.model.entities.security.global.GlobalGroupStatus; import com.constellio.model.entities.security.global.UserCredential; import com.constellio.model.entities.security.global.UserCredentialStatus; import com.constellio.model.entities.security.global.XmlGlobalGroup; import com.constellio.model.entities.security.global.XmlUserCredential; import com.constellio.sdk.load.script.UserPreparator; public class DefaultUsersPreparator implements UserPreparator { List<String> collections; int usersCount; int groupsCount; int sequence; public DefaultUsersPreparator(List<String> collections, int usersCount, int groupsCount) { this.collections = collections; this.usersCount = usersCount; this.groupsCount = groupsCount; } @Override public List<GlobalGroup> createGroups() { List<GlobalGroup> groups = new ArrayList<>(); for (int i = 0; i < groupsCount; i++) { String code = "" + i; String name = "Group '" + code + "'"; groups.add(new XmlGlobalGroup(code, name, collections, null, GlobalGroupStatus.ACTIVE, true)); } return groups; } @Override public List<UserCredential> createUsers(List<String> groups) { List<UserCredential> userCredentials = new ArrayList<>(); userCredentials.add(newUser("admin", "admin", "admin", groups)); for (int i = 0; i < usersCount; i++) { String code = "user" + i; List<String> userGroups = new ArrayList<>(); userGroups.addAll(groups); userCredentials.add(newUser(code, code, code, userGroups)); } return userCredentials; } private UserCredential newUser(String username, String firstName, String lastName, List<String> groups) { String email = firstName + "." + lastName + "@constellio.com"; return new XmlUserCredential(username, firstName, lastName, email, groups, collections, UserCredentialStatus.ACTIVE); } }