package com.constellio.model.services.security.roles; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import org.jdom2.Document; import org.jdom2.Element; import com.constellio.model.entities.security.Role; public class RolesManagerReader { private static final String TITLE = "title"; private static final String CODE = "code"; private static final String COLLECTION = "collection"; private Document document; public RolesManagerReader(Document document) { this.document = document; } public List<Role> getAllRoles() { List<Role> roles = new ArrayList<>(); Element root = document.getRootElement(); for (Element child : root.getChildren()) { roles.add(getRoleFromElement(child)); } return roles; } private Role getRoleFromElement(Element element) { List<String> operationPermissions = Arrays.asList(element.getText().split(",")); return new Role(element.getAttributeValue(COLLECTION), element.getAttributeValue(CODE), element.getAttributeValue(TITLE), operationPermissions); } }