@Override
 public void loadBean() {
   String id = getRequestParameterMap().get(BEAN_SELECTED);
   if (id == null) {
     id = selectedBean.getId().toString();
   }
   Producto obj =
       (Producto) this.getRecetasService().getObjecto(Producto.class, Integer.parseInt(id));
   final ProductoBean bean = (ProductoBean) getSessionMap().get(BEAN_NAME);
   bean.loadBean(obj);
   this.editable = false;
 }
  public void deleteAction() {
    ProductoBean bean = null;
    try {
      for (int a = 0; a < this.beans.size(); a++) {
        bean = beans.get(a);
        if (bean.getSelected() == true) {
          getRecetasService().deleteObjecto(Producto.class, bean.getId());
        }
      }
    } catch (DataIntegrityViolationException e) {
      addMessage(
          "No se puede eliminar el registro '"
              + bean.getNombre()
              + "' ya que tiene registros relacionados");
    }

    fillList();
  }
 @Override
 public void clearFields() {
   final ProductoBean obj = (ProductoBean) getSessionMap().get(BEAN_NAME);
   obj.setId(null);
   obj.setNombre(null);
   obj.setDescripcion(null);
   obj.setMarcaId(null);
   obj.setMarca(null);
   obj.setIngredienteId(null);
   obj.setIngrediente(null);
 }
 public void saveAction() {
   final ProductoBean bean = (ProductoBean) getSessionMap().get(BEAN_NAME);
   if (bean.getId() == null) {
     Producto bo = new Producto();
     bo.setNombre(bean.getNombre());
     bo.setDescripcion(bean.getDescripcion());
     if (bean.getIngredienteId() != null) {
       bo.setIngredienteRelacionado(
           (Ingrediente)
               getRecetasService().getObjecto(Ingrediente.class, bean.getIngredienteId()));
     }
     if (bean.getMarcaId() != null) {
       bo.setMarca((Marca) getRecetasService().getObjecto(Marca.class, bean.getMarcaId()));
     }
     this.getRecetasService().saveObjecto(bo);
   } else {
     Producto bo = (Producto) this.getRecetasService().getObjecto(Producto.class, bean.getId());
     bo.setNombre(bean.getNombre());
     bo.setDescripcion(bean.getDescripcion());
     if (bean.getIngredienteId() != null) {
       bo.setIngredienteRelacionado(
           (Ingrediente)
               getRecetasService().getObjecto(Ingrediente.class, bean.getIngredienteId()));
     }
     if (bean.getMarcaId() != null) {
       bo.setMarca((Marca) getRecetasService().getObjecto(Marca.class, bean.getMarcaId()));
     }
     this.getRecetasService().updateObjecto(bo);
   }
   this.fillList();
 }