package com.constellio.app.ui.framework.builders;
import java.io.Serializable;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import com.google.common.base.Joiner;
import org.apache.commons.collections.CollectionUtils;
import org.joda.time.LocalDateTime;
import com.constellio.app.ui.entities.UserCredentialVO;
import com.constellio.model.entities.security.global.UserCredential;
import com.constellio.model.entities.security.global.UserCredentialStatus;
@SuppressWarnings("serial")
public class UserCredentialToVOBuilder implements Serializable {
public UserCredentialVO build(UserCredential userCredential) {
String username = userCredential.getUsername();
String firstName = userCredential.getFirstName();
String lastName = userCredential.getLastName();
String email = userCredential.getEmail();
String jobTitle = userCredential.getJobTitle();
String phone = userCredential.getPhone();
String fax = userCredential.getFax();
String address = userCredential.getAddress();
Map<String, LocalDateTime> tokens = userCredential.getAccessTokens();
String serviceKey = userCredential.getServiceKey();
boolean systemAdmin = userCredential.isSystemAdmin();
List<String> globalGroups = userCredential.getGlobalGroups();
Set<String> collections = new HashSet<>();
collections.addAll(userCredential.getCollections());
UserCredentialStatus status = userCredential.getStatus();
String personalEmailsPresentation = null;
if (!CollectionUtils.isEmpty(userCredential.getPersonalEmails())) {
personalEmailsPresentation = Joiner.on("\n").join(userCredential.getPersonalEmails());
}
return new UserCredentialVO(username, firstName, lastName, email, jobTitle, phone, fax, address, personalEmailsPresentation, serviceKey, systemAdmin, globalGroups, collections,
tokens, null, null, status);
}
}