From a15d3726a89452a75e74ae58558d1577486b08f7 Mon Sep 17 00:00:00 2001
From: Falucho <german.faller@pcunix71.fing.edu.uy>
Date: Mon, 24 Jun 2019 13:28:32 -0300
Subject: [PATCH] Se megora Gestion HEcho

---
 .../edu/fing/tse/jsf/GestionhechosBean.java   | 34 +++++++
 .../uy/edu/fing/tse/jsf/HechosService.java    | 97 -------------------
 .../src/main/webapp/jsf/gestionhechos.xhtml   | 11 ++-
 .../fing/tse/central/business/Business.java   |  2 +
 .../tse/central/business/BusinessBean.java    |  4 +
 5 files changed, 46 insertions(+), 102 deletions(-)
 delete mode 100644 backoffice/src/main/java/uy/edu/fing/tse/jsf/HechosService.java

diff --git a/backoffice/src/main/java/uy/edu/fing/tse/jsf/GestionhechosBean.java b/backoffice/src/main/java/uy/edu/fing/tse/jsf/GestionhechosBean.java
index c637d37..a1cdc8e 100644
--- a/backoffice/src/main/java/uy/edu/fing/tse/jsf/GestionhechosBean.java
+++ b/backoffice/src/main/java/uy/edu/fing/tse/jsf/GestionhechosBean.java
@@ -2,6 +2,7 @@ package uy.edu.fing.tse.jsf;
 
 import uy.edu.fing.tse.central.business.BusinessLocal;
 import uy.edu.fing.tse.dto.Fact;
+import uy.edu.fing.tse.dto.State;
 
 import javax.annotation.PostConstruct;
 import javax.ejb.EJB;
@@ -21,11 +22,17 @@ public class GestionhechosBean implements Serializable {
 
     @PostConstruct
     public void init() {
+        estados = service.listarEstados();
         filteredFacts = service.listarHechos();
     }
 
+    private List<State> estados;
     private List<Fact> filteredFacts;
 
+    private String filterTitulo = "";
+    private String filterDesc = "";
+    private String filterEstado = "";
+
 
     public List<Fact> getFilteredNFact() {
         return filteredFacts;
@@ -35,5 +42,32 @@ public class GestionhechosBean implements Serializable {
         this.filteredFacts = filteredNoticias;
     }
 
+    public List<State> getEstados() {
+        return estados;
+    }
+
+    public String getFilterTitulo() {
+        return filterTitulo;
+    }
+
+    public void setFilterTitulo(String filterTitulo) {
+        this.filterTitulo = filterTitulo;
+    }
+
+    public String getFilterDesc() {
+        return filterDesc;
+    }
+
+    public void setFilterDesc(String filterDesc) {
+        this.filterDesc = filterDesc;
+    }
+
+    public String getFilterEstado() {
+        return filterEstado;
+    }
+
+    public void setFilterEstado(String filterEstado) {
+        this.filterEstado = filterEstado;
+    }
 }
 
diff --git a/backoffice/src/main/java/uy/edu/fing/tse/jsf/HechosService.java b/backoffice/src/main/java/uy/edu/fing/tse/jsf/HechosService.java
deleted file mode 100644
index 17b4d29..0000000
--- a/backoffice/src/main/java/uy/edu/fing/tse/jsf/HechosService.java
+++ /dev/null
@@ -1,97 +0,0 @@
-package uy.edu.fing.tse.jsf;
-
-import uy.edu.fing.tse.dto.Fact;
-
-import uy.edu.fing.tse.dto.State;
-
-import javax.ejb.EJB;
-import javax.faces.bean.ManagedBean;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.UUID;
-
-//Usar requestScope   ApplicationContext.getparameter in jsf
-
-//@SessionScoped
-//@ManagedBean(name = "Session")  NO USAR SESSION
-
-@ManagedBean(name = "NoticiasService")
-
-public class HechosService {
-
-
-
-
-    private final static String[] titulos;
-
-
-    private final static String[] descripciones;
-
-    private final static String[] estados;
-
-    static {
-        titulos = new String[10];
-        titulos[0] = "Debutó la Unidad Previsional con éxito";
-        titulos[1] = "Sin claras señales de cambios en el billete verde";
-        titulos[2] = "Conaprole e Isusa colocaron US$ 17: en el mercado";
-        titulos[3] = "¿Quiere ser de la nobleza? Compre un título en Escocia";
-        titulos[4] = "¿Qué hacer con el dinero en momentos de \"nubarrones\"?";
-        titulos[5] = "Cavani alcanzó al \"Cebolla\"";
-        titulos[6] = "Petrobras emitió y captó US$ 2.000 millones";
-        titulos[7] = "Bonos brasileños en manos de argentinos no pagarán impuestos";
-        titulos[8] = "Noticia 9";
-        titulos[9] = "esta es la ultima noticia";
-
-        descripciones = new String[10];
-        descripciones[0] = "Ayer, por primera vez, se emitió deuda en la recientemente creada Unidad Previsional (UP) que tiene cotización diaria y ajusta según la evolución del Índice Medio de Salarios Nominales.";
-        descripciones[1] = "En Brasil la divisa estadounidense subió un 2,49% en la semana, y en Argentina un 6,81%.";
-        descripciones[2] = "Dos emisiones donde la demanda superó el monto ofertado.";
-        descripciones[3] = "¿Le apetece unirse a la nobleza escocesa? Esta región del norte de Reino Unido ha visto desarrollarse toda una industria que permite que la gente ordinaria haga justamente eso, algunos con más justificación legal que otros.";
-        descripciones[4] = "Presidente y director de la Bolsa de Valores hicieron análisis y sugerencias.";
-        descripciones[5] = "PSG se consagró y el \"Matador\" es uno de los uruguayos con más títulos";
-        descripciones[6] = "La petrolera brasileña Petrobras informó ayer que captó US$ 2.000 millones con el lanzamiento el jueves en el exterior de títulos con vencimiento en 2029 por los que pagará un interés anual del 5,750%.";
-        descripciones[7] = "Bonos brasileños en manos de argentinos no pagarán impuestos";
-        descripciones[8] = "descripcion noticia 9";
-        descripciones[9] = "descripcion noticia 10";
-
-        estados = new String[10];
-        estados[0] = "Verificado";
-        estados[1] = "Verificado";
-        estados[2] = "No Verificado";
-        estados[3] = "No Verificado";
-        estados[4] = "No Verificado";
-        estados[5] ="Verificado";
-        estados[6] = "Verificado";
-        estados[7] = "No Verificado";
-        estados[8] = "Verificado";
-        estados[9] = "No Verificado";
-
-
-
-    }
-
-    public List<Fact> createHechos(int size) {
-
-
-
-
-        List<Fact> list = new ArrayList<Fact>();
-        for(int i = 0 ; i < size ; i++) {
-            State actualState = new State();
-            actualState.setValue(estados[i]);
-            final var fact = new Fact();
-            fact.setTitle(titulos[i]);
-            fact.setDescription(descripciones[i]);
-            fact.setActualState(actualState);
-            fact.setCategory(null);
-            fact.setScore(null);
-            fact.addHistory(null);
-            fact.addHistory(null);
-            list.add(fact);
-
-        }
-
-        return list;
-    }
-
-}
\ No newline at end of file
diff --git a/backoffice/src/main/webapp/jsf/gestionhechos.xhtml b/backoffice/src/main/webapp/jsf/gestionhechos.xhtml
index f4c83b7..e5cf8ee 100644
--- a/backoffice/src/main/webapp/jsf/gestionhechos.xhtml
+++ b/backoffice/src/main/webapp/jsf/gestionhechos.xhtml
@@ -3,7 +3,7 @@
         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml"
       xmlns:h="http://xmlns.jcp.org/jsf/html"
-      xmlns:p="http://primefaces.org/ui" xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:p="http://primefaces.org/ui"
       xmlns:f="http://xmlns.jcp.org/jsf/core">
 
 <h:head>
@@ -51,17 +51,18 @@
                 </p:outputPanel>
             </f:facet>
 
-            <p:column filterBy="#{hecho.title}" headerText="Titulo"  filterMatchMode="contains">
+            <p:column filterBy="#{gestionHechos.filterTitulo}" headerText="Titulo" filterMatchMode="contains">
                 <h:outputText value="#{hecho.title}" />
             </p:column>
-            <p:column filterBy="#{hecho.actualState.value}" headerText="Descripción"  filterMatchMode="contains">
+            <p:column filterBy="#{gestionHechos.filterDesc}" headerText="Descripción" filterMatchMode="contains">
                 <h:outputText value="#{hecho.actualState.value}" />
             </p:column>
-            <p:column filterBy="#{hecho.actualState.value}" headerText="Estados"  filterMatchMode="exact">
+            <p:column filterBy="#{gestionHechos.filterEstado}" headerText="Estados" filterMatchMode="exact">
                 <f:facet name="filter">
                     <p:selectOneMenu onchange="PF('NoticiasTable').filter()" styleClass="custom-filter">
                         <f:selectItem itemLabel="Select One" itemValue="#{null}" noSelectionOption="true" />
-                        <f:selectItems value="#{hecho.actualState.value}" />
+                        <f:selectItems value="#{gestionHechos.estados}" var="e" itemLabel="#{e.value}"
+                                       itemValue="#{e.value}"/>
                     </p:selectOneMenu>
                 </f:facet>
 
diff --git a/central-ejb/src/main/java/uy/edu/fing/tse/central/business/Business.java b/central-ejb/src/main/java/uy/edu/fing/tse/central/business/Business.java
index be44412..6e2060b 100644
--- a/central-ejb/src/main/java/uy/edu/fing/tse/central/business/Business.java
+++ b/central-ejb/src/main/java/uy/edu/fing/tse/central/business/Business.java
@@ -23,5 +23,7 @@ public interface Business extends Serializable {
     List<Role> listarRoles();
 
     void altaCalificacion(Score e);
+
+    List<State> listarEstados();
 }
 
diff --git a/central-ejb/src/main/java/uy/edu/fing/tse/central/business/BusinessBean.java b/central-ejb/src/main/java/uy/edu/fing/tse/central/business/BusinessBean.java
index cd54e94..d03b704 100644
--- a/central-ejb/src/main/java/uy/edu/fing/tse/central/business/BusinessBean.java
+++ b/central-ejb/src/main/java/uy/edu/fing/tse/central/business/BusinessBean.java
@@ -78,4 +78,8 @@ public class BusinessBean implements BusinessLocal, BusinessRemote {
         calificacion.create(e);
     }
 
+    @Override
+    public List<State> listarEstados() {
+        return estados.findAll();
+    }
 }
-- 
GitLab