/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package com.pepe.controller; import com.pepe.jpa.entities.Recurso; import com.pepe.jpa.sesions.RecursoFacade; import java.io.Serializable; import java.util.List; import javax.ejb.EJB; import javax.faces.application.FacesMessage; import javax.faces.bean.ManagedBean; import javax.faces.bean.SessionScoped; import javax.faces.component.UIComponent; import javax.faces.context.FacesContext; import javax.faces.convert.Converter; import javax.faces.convert.FacesConverter; /** * * @author Junior Cabal */ @ManagedBean @SessionScoped public class RecursoController implements Serializable{ @EJB private RecursoFacade recursoFacade; private Recurso recursoActual; private List<Recurso> listaRecurso = null; /** * Creates a new instance of CiudadController */ public RecursoController() { } public RecursoFacade getRecursoFacade() { return recursoFacade; } public Recurso getRecursoActual() { if (recursoActual == null) { recursoActual = new Recurso(); } return recursoActual; } public void setRecursoActual(Recurso recursoActual) { this.recursoActual = recursoActual; } public List<Recurso> getListaGenero() { if (listaRecurso == null) { try { listaRecurso = getRecursoFacade().findAll(); } catch (Exception e) { addErrorMessage("Error closing resource " + e.getClass().getName(), "Message: " + e.getMessage()); } } return listaRecurso; } private void recargarLista() { listaRecurso = null; } public String prepareCreate() { recursoActual = new Recurso(); return ""; } public String prepareEdit() { return ""; } public String prepareView() { return ""; } public String prepareList() { recargarLista(); return ""; } public String addRecurso() { try { getRecursoFacade().create(recursoActual); recargarLista(); return ""; } catch (Exception e) { addErrorMessage("Error closing resource " + e.getClass().getName(), "Message: " + e.getMessage()); return null; } } public String updateRecurso() { try { getRecursoFacade().edit(recursoActual); recargarLista(); return ""; } catch (Exception e) { addErrorMessage("Error closing resource " + e.getClass().getName(), "Message: " + e.getMessage()); return null; } } public String deleteRecurso() { try { getRecursoFacade().remove(recursoActual); recargarLista(); } catch (Exception e) { addErrorMessage("Error closing resource " + e.getClass().getName(), "Message: " + e.getMessage()); } return ""; } private void addErrorMessage(String title, String msg) { FacesMessage facesMsg = new FacesMessage(FacesMessage.SEVERITY_ERROR, title, msg); FacesContext.getCurrentInstance().addMessage(null, facesMsg); } private void addSuccessMessage(String title, String msg) { FacesMessage facesMsg = new FacesMessage(FacesMessage.SEVERITY_INFO, title, msg); FacesContext.getCurrentInstance().addMessage("successInfo", facesMsg); } public Recurso getRecurso(java.lang.Integer id) { return getRecursoFacade().find(id); } @FacesConverter(forClass = Recurso.class) public static class RecursoControllerConverter implements Converter { @Override public Object getAsObject(FacesContext facesContext, UIComponent component, String value) { if (value == null || value.length() == 0) { return null; } RecursoController controller = (RecursoController) facesContext.getApplication().getELResolver(). getValue(facesContext.getELContext(), null, "recursoController"); return controller.getRecurso(getKey(value)); } java.lang.Integer getKey(String value) { java.lang.Integer key; key = Integer.valueOf(value); return key; } String getStringKey(java.lang.Integer value) { StringBuilder sb = new StringBuilder(); sb.append(value); return sb.toString(); } @Override public String getAsString(FacesContext facesContext, UIComponent component, Object object) { if (object == null) { return null; } if (object instanceof Recurso) { Recurso o = (Recurso) object; return getStringKey(o.getIdRecurso()); } else { throw new IllegalArgumentException("object " + object + " is of type " + object.getClass().getName() + "; expected type: " + Recurso.class.getName()); } } } }