package javaBB; import java.io.File; import java.io.IOException; import java.io.OutputStream; import java.util.LinkedList; import javax.annotation.PostConstruct; import javax.ejb.EJB; import javax.faces.bean.ManagedBean; import javax.faces.bean.SessionScoped; import javax.faces.context.FacesContext; import javax.faces.model.SelectItem; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import org.richfaces.event.FileUploadEvent; import org.richfaces.model.UploadedFile; import persistencia.Empresa; import persistencia.Imagen; import negocios.GestionAutenticacion; import negocios.GestionEmpresas; import negocios.GestionSitioInteres; import negocios.excepciones.EntidadNoExiste; @ManagedBean(name = "modificarEmpresa", eager = true) @SessionScoped public class ModificarEmpresaBB { private String mail; private String nombre; private String descripcion; private String password; private int id; private int idImagen; private Imagen imagen; private UploadedFile uploadedFile; private boolean exito; @EJB private GestionEmpresas ge; public ModificarEmpresaBB() { System.out.println("modificarEmpresaBean instantiated"); } @PostConstruct public void cargarDatos(){ FacesContext context = FacesContext.getCurrentInstance(); HttpSession session = (HttpSession)context.getExternalContext().getSession(true); String mailEmpresa = (String) session.getAttribute("mailEmpresa"); Empresa empresa = ge.obtenerEmpresaPorMail(mailEmpresa); this.nombre = empresa.getNombre(); this.mail = empresa.getMailAdmin(); this.descripcion = empresa.getDescripcion(); this.imagen = empresa.getLogo(); this.id = empresa.getId(); if (this.imagen != null){ this.idImagen = empresa.getLogo().getId(); } } /* logica y navegaciĆ³n*/ public String modificarEmpresa() { String retorno = ""; FacesContext context = FacesContext.getCurrentInstance(); HttpSession session = (HttpSession)context.getExternalContext().getSession(true); String mailEmpresa = (String) session.getAttribute("mailEmpresa"); Empresa empresa = ge.obtenerEmpresaPorMail(mailEmpresa); try { empresa.setId(id); empresa.setNombre(this.nombre); empresa.setMailAdmin(this.mail); empresa.setDescripcion(this.descripcion); empresa.setLogo(this.imagen); empresa.getLogo().setId(idImagen); ge.modifciarEmpresa(empresa); session.setAttribute("nombreEmpresa", empresa.getNombre()); session.setAttribute("mailEmpresa", empresa.getMailAdmin()); session.setAttribute("descripcionEmpresa", empresa.getDescripcion()); context.getExternalContext().getSessionMap().remove("altaEmpresaBB"); StatusBB statusBB = (StatusBB) context.getExternalContext().getSessionMap().get("statusBB"); statusBB.setExito(true); statusBB.setError(false); statusBB.setExitoMsg("Se ha modifico la empresa " + empresa.getNombre()); } catch (EntidadNoExiste e) { // TODO Auto-generated catch block e.printStackTrace(); } retorno = "exito"; return retorno; } public void logoListener(FileUploadEvent event) throws Exception{ this.uploadedFile = event.getUploadedFile(); this.imagen = new Imagen(); this.imagen.setImagen(this.uploadedFile.getData()); this.imagen.setId(idImagen); System.out.println("finlistener"); } public void paint(OutputStream stream, Object object) throws IOException { if (this.imagen != null){ stream.write(imagen.getImagen()); } } 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 getMail() { FacesContext context = FacesContext.getCurrentInstance(); HttpSession session = (HttpSession)context.getExternalContext().getSession(true); this.mail = (String) session.getAttribute("mailEmpresa"); return mail; } public void setMail(String mail) { this.mail = mail; } 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 String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public Imagen getImagen() { return imagen; } public void setImagen(Imagen imagen) { this.imagen = imagen; } public UploadedFile getUploadedFile() { return uploadedFile; } public void setUploadedFile(UploadedFile uploadedFile) { this.uploadedFile = uploadedFile; } }