/*
* 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.Competencia;
import com.pepe.jpa.sesions.CompetenciaFacade;
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;
import com.pepe.jpa.entities.Programa;
import com.pepe.jpa.sesions.ProgramaFacade;
/**
*
* @author Adsit
*/
@ManagedBean
@SessionScoped
public class CompetenciaController {
@EJB
private CompetenciaFacade competenciaFacade;
private Competencia competenciaActual;
@EJB
private ProgramaFacade programaFacade;
private List<Competencia> listaCompetencia = null;
private List<Programa> listaPrograma = null;
public CompetenciaController(){
}
public CompetenciaFacade getCompetenciaFacade(){
return competenciaFacade;
}
public Competencia getCompetenciaActual() {
if (competenciaActual == null) {
competenciaActual = new Competencia();
}
return competenciaActual;
}
public void setCompetenciaActual(Competencia CompetenciaActual) {
this.competenciaActual = CompetenciaActual;
}
public List<Competencia> getListaCompetencia() {
if (listaCompetencia == null) {
try {
listaCompetencia = getCompetenciaFacade().findAll();
} catch (Exception e) {
addErrorMessage("Error closing resource " + e.getClass().getName(), "Message: " + e.getMessage());
}
}
return listaCompetencia;
}
private void recargarLista() {
listaCompetencia = null;
}
public String prepareCreate() {
competenciaActual = new Competencia();
return "competencia/crear_competencia.xhtml";
}
public String prepareEdit() {
return "";
}
public String prepareView() {
return "";
}
public String prepareList() {
recargarLista();
return "";
}
public String xd(){
return "competencia/crear_competencia.xhtml";
}
public String addCompetencia() {
try {
getCompetenciaFacade().create(competenciaActual);
recargarLista();
return "";
} catch (Exception e) {
addErrorMessage("Error closing resource " + e.getClass().getName(), "Message: " + e.getMessage());
return null;
}
}
public String updateCompetencia() {
try {
getCompetenciaFacade().edit(competenciaActual);
recargarLista();
return "";
} catch (Exception e) {
addErrorMessage("Error closing resource " + e.getClass().getName(), "Message: " + e.getMessage());
return null;
}
}
public ProgramaFacade getProgramaFacade() {
return programaFacade;
}
public void setProgramaFacade(ProgramaFacade programaFacade) {
this.programaFacade = programaFacade;
}
public List<Programa> getListaPrograma() {
listaPrograma = programaFacade.findAll();
return listaPrograma;
}
public void setListaPrograma(List<Programa> listaPrograma) {
this.listaPrograma = listaPrograma;
}
public String deleteCompetencia() {
try {
getCompetenciaFacade().remove(competenciaActual);
recargarLista();
} catch (Exception e) {
addErrorMessage("Error closing resource " + e.getClass().getName(), "Message: " + e.getMessage());
}
return "List";
}
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 Competencia getCompetencia(java.lang.Integer id) {
return getCompetenciaFacade().find(id);
}
@FacesConverter(forClass = Competencia.class)
public static class CompetenciaControllerConverter implements Converter {
@Override
public Object getAsObject(FacesContext facesContext, UIComponent component, String value) {
if (value == null || value.length() == 0) {
return null;
}
CompetenciaController controller = (CompetenciaController) facesContext.getApplication().getELResolver().
getValue(facesContext.getELContext(), null, "competenciaController");
return controller.getCompetencia(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 Competencia) {
Competencia o = (Competencia) object;
return getStringKey(o.getIdCompetencia());
} else {
throw new IllegalArgumentException("object " + object + " is of type " + object.getClass().getName() + "; expected type: " + Competencia.class.getName());
}
}
}
}