package javaBB; import java.util.LinkedList; import java.util.List; import javax.ejb.EJB; import javax.faces.bean.ManagedBean; import javax.faces.bean.SessionScoped; import javax.faces.context.FacesContext; import persistencia.Categoria; import persistencia.Empresa; import persistencia.SitioInteres; import negocios.GestionAutenticacion; import negocios.GestionEmpresas; import negocios.GestionSitioInteres; @ManagedBean(name = "altaSitioInteres", eager = true) @SessionScoped public class AltaSitioInteresBB { private String nombre; private String calendario; private String descripcion; private float latitud; private float longitud; private Object[] logoData; private List<Categoria> categorias; private List<Categoria> categoriasSelected; private List<String> nombresCategoria; private List<String> nombresCategoriaSelected; private boolean exito; @EJB private GestionSitioInteres gs; @EJB private GestionEmpresas ge; public AltaSitioInteresBB() { System.out.println("altaSIBean instantiated"); this.exito = true; } /* logica y navegaciĆ³n*/ public String altaSitioInteres() { String retorno = ""; retorno = "exito"; SitioInteres sitioInteres = new SitioInteres(); sitioInteres.setNombre(this.nombre); sitioInteres.setGoogleCalendarId(this.calendario); sitioInteres.setDescripcion(this.descripcion); sitioInteres.setLatitud(this.latitud); sitioInteres.setLongitud(this.longitud); this.categoriasSelected = new LinkedList<Categoria>(); for(String s : this.nombresCategoriaSelected){ for(Categoria cate : this.categorias){ if (s.equals(cate.getNombre())){ this.categoriasSelected.add(cate); } } } sitioInteres.setCategorias(this.categoriasSelected); gs.agregarSitioInteres(sitioInteres); retorno = "exito"; this.setExito(true); FacesContext context = FacesContext.getCurrentInstance(); context.getExternalContext().getSessionMap().remove("ModificarSitioInteresBB"); StatusBB statusBB = (StatusBB) context.getExternalContext().getSessionMap().get("statusBB"); statusBB.setExito(true); statusBB.setError(false); statusBB.setExitoMsg("Se ha dado de alta el sitio de interes " + sitioInteres.getNombre()); return retorno; } public void logoListener() { } public String finalizar() { String retorno = ""; //removerBB retorno = "finalizar"; return retorno; } public String cancelar() { String retorno = ""; //removerBB FacesContext context = FacesContext.getCurrentInstance(); StatusBB statusBB = (StatusBB) context.getExternalContext().getSessionMap().get("statusBB"); if (statusBB != null) { statusBB.setExito(false); statusBB.setError(false); } retorno = "cancelar"; return retorno; } /* setters y getters */ public String getNombre() { return nombre; } public void setNombre(String nombre) { this.nombre = nombre; } public boolean isExito() { return exito; } public void setExito(boolean exito) { this.exito = exito; } public String getDescripcion() { return descripcion; } public void setDescripcion(String descripcion) { this.descripcion = descripcion; } public Object[] getLogoData() { return logoData; } public void setLogoData(Object[] logoData) { this.logoData = logoData; } public float getLatitud() { return latitud; } public void setLatitud(float latitud) { this.latitud = latitud; } public float getLongitud() { return longitud; } public void setLongitud(float longitud) { this.longitud = longitud; } public List<String> getNombresCategoria() { this.nombresCategoria = new LinkedList<String>(); this.categorias = ge.obtenerCategorias(); for(Categoria cate : this.categorias){ nombresCategoria.add(cate.getNombre()); } return nombresCategoria; } public void setNombresCategoria(List<String> nombresCategoria) { this.nombresCategoria = nombresCategoria; } public List<String> getNombresCategoriaSelected() { this.nombresCategoriaSelected = new LinkedList<String>(); return nombresCategoriaSelected; } public void setNombresCategoriaSelected(List<String> nombresCategoriaSelected) { this.nombresCategoriaSelected = nombresCategoriaSelected; } public String getCalendario() { return calendario; } public void setCalendario(String calendario) { this.calendario = calendario; } public List<Categoria> getCategorias() { return categorias; } public void setCategorias(List<Categoria> categorias) { this.categorias = categorias; } public List<Categoria> getCategoriasSelected() { return categoriasSelected; } public void setCategoriasSelected(List<Categoria> categoriasSelected) { this.categoriasSelected = categoriasSelected; } }