package com.pepe.controller; import com.pepe.jpa.entities.Ficha; import com.pepe.jpa.entities.Revision; import com.pepe.jpa.entities.TipoRevision; import com.pepe.jpa.entities.Valoracion; import com.pepe.jpa.entities.Variable; import com.pepe.jpa.sesions.RevisionFacade; import com.pepe.jpa.sesions.ValoracionFacade; import com.pepe.jpa.sesions.VariableFacade; import java.io.Serializable; import java.util.ArrayList; import java.util.Date; import java.util.List; import javax.ejb.EJB; import javax.enterprise.context.SessionScoped; import javax.faces.component.UIComponent; import javax.faces.context.FacesContext; import javax.faces.convert.Converter; import javax.faces.convert.FacesConverter; import javax.faces.event.ActionEvent; import javax.inject.Named; @Named("variableController") @SessionScoped public class VariableController implements Serializable { @EJB private VariableFacade variableFacade; @EJB private RevisionFacade revisionFacade; @EJB private ValoracionFacade valoracionFacade; private Valoracion valoracionActual; private Variable variableActual; private List<Variable> listaVariable; private Ficha fichaActual; private List<Valoracion> listaValoracion; private Revision revisionActual; public List<Valoracion> getListaValoracion() { return listaValoracion; } public void setListaValoracion(List<Valoracion> listaValoracion) { this.listaValoracion = listaValoracion; } public VariableFacade getVariableFacade() { return variableFacade; } public Valoracion getValoracionActual() { return valoracionActual; } public void setValoracionActual(Valoracion valoracionActual) { this.valoracionActual = valoracionActual; } public Ficha getFichaActual() { if (fichaActual == null) { fichaActual = new Ficha(); } return fichaActual; } public void setFichaActual(Ficha fichaActual) { this.fichaActual = fichaActual; } public RevisionFacade getRevisionFacade() { return revisionFacade; } public void setRevisionFacade(RevisionFacade revisionFacade) { this.revisionFacade = revisionFacade; } public ValoracionFacade getValoracionFacade() { return valoracionFacade; } public void setValoracionFacade(ValoracionFacade valoracionFacade) { this.valoracionFacade = valoracionFacade; } public Variable getVariableActual() { if (variableActual == null) { variableActual = new Variable(); } return variableActual; } public void setVariableActual(Variable variableActual) { this.variableActual = variableActual; } public List<Variable> getListaVariable() { return listaVariable; } public void setListaVariable(List<Variable> listaVariable) { this.listaVariable = listaVariable; } public void setVariableFacade(VariableFacade variableFacade) { this.variableFacade = variableFacade; } public VariableController() { } public String prepareList() { return "List"; } public String prepareView() { return "View"; } public void prepareCreate(ActionEvent event) { fichaActual = ((Ficha) event.getComponent().getAttributes().get("ficha")); revisionActual = new Revision(); revisionActual.setIdProyecto(fichaActual.getIdProyecto()); revisionActual.setFechaRevision(new Date()); revisionActual.setIdTipoRevision(new TipoRevision(Integer.parseInt((String) event.getComponent().getAttributes().get("variable")))); variableActual = new Variable(); listaValoracion = new ArrayList<>(); for (Variable variableGeneral : getVariableFacade().findByIdTipoRevision(revisionActual.getIdTipoRevision())) { valoracionActual = new Valoracion(); valoracionActual.setIdVariable(variableGeneral); valoracionActual.setCumple(true); listaValoracion.add(valoracionActual); } } public boolean tipoRevisionForm() { if (revisionActual.getIdTipoRevision().getIdTipoRevision() == 1) { return false; } else { return true; } } public boolean isProyecto() { return revisionActual.getIdTipoRevision().getIdTipoRevision() == 1; } public String cargarCreate() { return "/Valoracion/crearValoracion"; } public Variable getVariable(java.lang.Integer id) { return variableFacade.find(id); } @FacesConverter(forClass = Variable.class) public static class VariableControllerConverter implements Converter { @Override public Object getAsObject(FacesContext facesContext, UIComponent component, String value) { if (value == null || value.length() == 0) { return null; } VariableController controller = (VariableController) facesContext.getApplication().getELResolver(). getValue(facesContext.getELContext(), null, "variableController"); return controller.getVariable(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 Variable) { Variable o = (Variable) object; return getStringKey(o.getIdVariable()); } else { throw new IllegalArgumentException("object " + object + " is of type " + object.getClass().getName() + "; expected type: " + Variable.class.getName()); } } } }