package hu.sch.web.rest.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
import hu.sch.domain.user.User;
import org.apache.commons.lang3.StringUtils;
/**
*
* @author balo
* @author tomi
*/
public class ProfileResult {
private static final String VIRID_PREFIX = "urn:mace:terena.org:schac:personalUniqueID:hu:BME-SCH-VIR:person:";
private static final String STUDENT_STATUS_PREFIX = "urn:mace:terena.org:schac:status:sch.hu:student_status:";
private final User user;
private final String entitlement;
public ProfileResult(User user, String entitlement) {
this.user = user;
this.entitlement = entitlement;
}
public String getUid() {
return user.getScreenName();
}
@JsonProperty("schacPersonalUniqueId")
public String getVirId() {
return VIRID_PREFIX + user.getId();
}
public String getNeptun() {
return user.getNeptunCode();
}
@JsonProperty("cn")
public String getFullName() {
return user.getFullName();
}
@JsonProperty("givenName")
public String getFirstName() {
return user.getFirstName();
}
@JsonProperty("sn")
public String getLastName() {
return user.getLastName();
}
@JsonProperty("eduPersonNickName")
public String getNick() {
return user.getNickName();
}
@JsonProperty("mail")
public String getEmail() {
return user.getEmailAddress();
}
@JsonProperty("schacUserStatus")
public String getUserStatus() {
return STUDENT_STATUS_PREFIX + user.getStudentStatus();
}
@JsonProperty("roomNumber")
public String getRoom() {
final String room = user.getFullRoomNumber();
if (StringUtils.isBlank(room)) {
return null;
}
return room;
}
@JsonProperty("eduPersonEntitlement")
public String getEntitlement() {
return entitlement;
}
public String getDisplayName() {
return user.getFullName();
}
}