package net.sourceforge.fenixedu.applicationTier.utils; import java.util.Collection; import java.util.Collections; import java.util.HashSet; import java.util.SortedSet; import java.util.TreeSet; import net.sourceforge.fenixedu.applicationTier.ICandidateView; import net.sourceforge.fenixedu.applicationTier.IUserView; import net.sourceforge.fenixedu.domain.Person; import net.sourceforge.fenixedu.domain.Role; import net.sourceforge.fenixedu.domain.person.RoleType; import org.joda.time.DateTime; public class MockUserView implements IUserView { final private Person person; final private String username; final private Collection roleTypes = new HashSet(); private transient Collection roles; private final DateTime userCreationDateTime = new DateTime(); public MockUserView(final String username, final Collection roles, final Person person) { this.person = person; this.username = username; this.roles = roles; for (final Role role : roles) { roleTypes.add(role.getRoleType()); } } public String getUtilizador() { return username; } public String getFullName() { return null; } public ICandidateView getCandidateView() { return null; } public boolean hasRoleType(RoleType roleType) { return false; } public void setCandidateView(ICandidateView candidateView) { } public Person getPerson() { return person; } public Collection getRoleTypes() { return roleTypes; } public Collection getRoles() { if (roles != null) { final SortedSet roles = new TreeSet(); for (final RoleType roleType : roleTypes) { roles.add(Role.getRoleByRoleType(roleType)); } this.roles = Collections.unmodifiableSortedSet(roles); } return roles; } public DateTime getExpirationDate() { return null; } public String getPrivateConstantForDigestCalculation() { return null; } @Override public String getUsername() { return getUtilizador(); } @Override public boolean hasRole(String role) { return false; } @Override public DateTime getLastLogoutDateTime() { return null; } @Override public DateTime getUserCreationDateTime() { return userCreationDateTime; } }