package br.uff.ic.oceano.controller;
import br.uff.ic.oceano.contexto.ConstantesAplicacao;
import br.uff.ic.oceano.core.model.OceanoUser;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
import javax.faces.context.FacesContext;
import javax.faces.model.SelectItem;
import javax.servlet.http.HttpSession;
/**
*
* @author Kann
*/
public final class SessaoDoUsuario {
private String identificador;
private OceanoUser usuarioCorrente;
private List<SelectItem> idiomsList;
private String idiom;
public SessaoDoUsuario() {
idiom = "en_US";
changeIdiom();
}
public void changeIdiom() {
String[] split = this.idiom.split("_");
Locale locale = new Locale(split[0], split[1]);
FacesContext instance = FacesContext.getCurrentInstance();
if(instance != null && instance.getViewRoot() != null){
instance.getViewRoot().setLocale(locale);
}
}
public void invalidar() {
HttpSession s = (HttpSession) FacesContext.getCurrentInstance().getExternalContext().getSession(true);
s.invalidate();
}
public OceanoUser getUsuarioCorrente() {
return usuarioCorrente;
}
public String getIdentificador() {
if (identificador == null) {
identificador = " " + usuarioCorrente.getName();
}
return identificador;
}
public void setIdentificador(String identificador) {
this.identificador = identificador;
}
public void setUsuarioCorrente(OceanoUser usuarioCorrente) {
this.usuarioCorrente = usuarioCorrente;
}
public String getImgInterna() {
return ConstantesAplicacao.IMAGEM_INTERNO;
}
public void setPerfilPeixeEspada() {
ConstantesAplicacao.IMAGEM_INTERNO = ConstantesAplicacao.IMAGEM_PEIXE_ESPADA;
}
public void setPerfilOceano() {
ConstantesAplicacao.IMAGEM_INTERNO = ConstantesAplicacao.IMAGEM_OCEANO;
}
public void setPerfilOstra() {
ConstantesAplicacao.IMAGEM_INTERNO = ConstantesAplicacao.IMAGEM_OSTRA;
}
public void setPerfilPolvo() {
ConstantesAplicacao.IMAGEM_INTERNO = ConstantesAplicacao.IMAGEM_POLVO;
}
/**
* @return the idionsList
*/
public List<SelectItem> getIdiomsList() {
if (idiomsList == null) {
idiomsList = new ArrayList<SelectItem>();
idiomsList.add(new SelectItem("pt_BR", "Português - Brasil"));
idiomsList.add(new SelectItem("en_US", "English - US"));
}
return idiomsList;
}
/**
* @param idionsList the idionsList to set
*/
public void setIdiomsList(List<SelectItem> idionsList) {
this.idiomsList = idionsList;
}
/**
* @return the idiom
*/
public String getIdiom() {
return idiom;
}
/**
* @param idiom the idiom to set
*/
public void setIdiom(String idiom) {
this.idiom = idiom;
}
}