From 862ed9de7bc804d1490899d6f305fd64abb249fa Mon Sep 17 00:00:00 2001 From: JotaJota96 <jjap96@gmail.com> Date: Sat, 5 Oct 2019 18:22:33 -0300 Subject: [PATCH] =?UTF-8?q?Cambio=20en=20la=20manera=20de=20saber=20que=20?= =?UTF-8?q?tipo=20de=20clase=20es=20un=20objeto,=20se=20enpez=C3=B3=20a=20?= =?UTF-8?q?usar=20InstanceOf?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../JPAControllerClasses/BusquedaEnBDD.java | 27 +++++++------- .../src/Logica/Controladores/CUsuario.java | 10 +++--- .../src/Logica/DatosDePrueba.java | 35 ++++--------------- 3 files changed, 27 insertions(+), 45 deletions(-) diff --git a/UyTube_aplicacion/src/JPAControllerClasses/BusquedaEnBDD.java b/UyTube_aplicacion/src/JPAControllerClasses/BusquedaEnBDD.java index e35ca17..e386fc7 100644 --- a/UyTube_aplicacion/src/JPAControllerClasses/BusquedaEnBDD.java +++ b/UyTube_aplicacion/src/JPAControllerClasses/BusquedaEnBDD.java @@ -198,11 +198,11 @@ public class BusquedaEnBDD implements Serializable { private String nombreParaOrdenar(Object o){ java.sql.Date ret = null; // Devuelve el nombre del objeto - if (o.getClass() == Canal.class){ + if (o instanceof Canal){ return ((Canal) o).getNombre(); - }else if (o.getClass() == ListaDeReproduccion.class){ + }else if (o instanceof ListaDeReproduccion){ return ((ListaDeReproduccion) o).getNombre(); - }else if (o.getClass() == Video.class){ + }else if (o instanceof Video){ return ((Video) o).getNombre(); } return ""; @@ -217,8 +217,11 @@ public class BusquedaEnBDD implements Serializable { * @return */ private java.sql.Date ultimaActividad(Object o){ - java.sql.Date ret = null; - if (o.getClass() == Canal.class){ + // Por si no se pude determinar la fecha, inicializo con una fecha bien vieja + java.sql.Date ret = new java.sql.Date(-1900, 0, 1); + // mas viejo que eso solo puede ser algun video de Mirta Legrant, y no creo que ella use UyTube... + + if (o instanceof Canal){ // si el objeto es un Canal // busca la fecha de publicacion mas reciente entre los videos del canal ArrayList<DtVideo> videos = ((Canal) o).listarVideos(); @@ -227,7 +230,7 @@ public class BusquedaEnBDD implements Serializable { ret = dtv.getFechaPublicacion(); } } - }else if (o.getClass() == ListaDeReproduccion.class){ + }else if (o instanceof ListaDeReproduccion){ // si el objeto es una ListaDeReproduccion // busca la fecha de publicacion mas reciente entre los videos de la lista ArrayList<DtVideo> videos = ((ListaDeReproduccion) o).listarVideos(); @@ -236,7 +239,7 @@ public class BusquedaEnBDD implements Serializable { ret = dtv.getFechaPublicacion(); } } - }else if (o.getClass() == Video.class){ + }else if (o instanceof Video){ // si el objeto es un Video // Devuelve su fecha ret = ((Video) o).getFechaPublicacion(); @@ -283,11 +286,11 @@ public class BusquedaEnBDD implements Serializable { */ private int comparar(ParDeObjetos a, ParDeObjetos b){ // Realiza la comparacion dependiendo del tipo de objeto para comparar - if (a.getOrderField().getClass() == String.class){ + if (a.getOrderField() instanceof String){ String str1 = (String) a.getOrderField(); String str2 = (String) b.getOrderField(); return (str1.compareToIgnoreCase(str2)) * -1; - }else if (a.getOrderField().getClass() == java.sql.Date.class){ + }else if (a.getOrderField() instanceof java.sql.Date){ java.sql.Date date1 = (java.sql.Date) a.getOrderField(); java.sql.Date date2 = (java.sql.Date) b.getOrderField(); return date1.compareTo(date2); @@ -306,11 +309,11 @@ public class BusquedaEnBDD implements Serializable { for (int i = 0; i < lst.size(); i++) { o = lst.get(i); // Castea el objeto para llamar a la funcion .getDT() - if (o.getClass() == Canal.class) { + if (o instanceof Canal) { lst.set(i, ((Canal)o).getDT()); - } else if (o.getClass() == ListaDeReproduccion.class) { + } else if (o instanceof ListaDeReproduccion) { lst.set(i, ((ListaDeReproduccion)o).getDt()); - } else if (o.getClass() == Video.class) { + } else if (o instanceof Video) { lst.set(i, ((Video)o).getDt()); } } diff --git a/UyTube_aplicacion/src/Logica/Controladores/CUsuario.java b/UyTube_aplicacion/src/Logica/Controladores/CUsuario.java index d40b00d..e3875da 100644 --- a/UyTube_aplicacion/src/Logica/Controladores/CUsuario.java +++ b/UyTube_aplicacion/src/Logica/Controladores/CUsuario.java @@ -245,7 +245,7 @@ public class CUsuario implements IUsuario { for (int i = 0; i < ret.size(); i++) { - if (ret.get(i) == DtVideo.class) { + if (ret.get(i) instanceof DtVideo) { DtVideo vid = (DtVideo) ret.get(i); if (vid.getPrivacidad() == Privacidad.PRIVADO) { try { @@ -255,7 +255,7 @@ public class CUsuario implements IUsuario { i--; } } - } else if (ret.get(i) == DtListaDeReproduccion.class) { + } else if (ret.get(i) instanceof DtListaDeReproduccion) { DtListaDeReproduccion list = (DtListaDeReproduccion) ret.get(i); if (list.getPrivacidad() == Privacidad.PRIVADO) { try { @@ -265,7 +265,7 @@ public class CUsuario implements IUsuario { i--; } } - } else if (ret.get(i) == DtCanal.class) { + } else if (ret.get(i) instanceof DtCanal) { DtCanal canal = (DtCanal) ret.get(i); if (canal.getPrivacidad() == Privacidad.PRIVADO) { if(this.usuarioActual.obtenerCanal().getId() != canal.getId()){ @@ -292,7 +292,7 @@ public class CUsuario implements IUsuario { for (int i = 0; i < ret.size(); i++) { - if (ret.get(i) == DtVideo.class) { + if (ret.get(i) instanceof DtVideo) { DtVideo vid = (DtVideo) ret.get(i); if (vid.getPrivacidad() == Privacidad.PRIVADO) { try { @@ -302,7 +302,7 @@ public class CUsuario implements IUsuario { i--; } } - } else if (ret.get(i) == DtListaDeReproduccion.class) { + } else if (ret.get(i) instanceof DtListaDeReproduccion) { DtListaDeReproduccion list = (DtListaDeReproduccion) ret.get(i); if (list.getPrivacidad() == Privacidad.PRIVADO) { try { diff --git a/UyTube_aplicacion/src/Logica/DatosDePrueba.java b/UyTube_aplicacion/src/Logica/DatosDePrueba.java index 40a2db0..dd9c96b 100644 --- a/UyTube_aplicacion/src/Logica/DatosDePrueba.java +++ b/UyTube_aplicacion/src/Logica/DatosDePrueba.java @@ -32,32 +32,6 @@ public class DatosDePrueba { try { EntityManagerFactory factory = Persistence.createEntityManagerFactory("UyTubePU"); EntityManager manager = factory.createEntityManager(); - /* - // Prueba de búsqueda por categorÃa - for (Object o : new BusquedaEnBDD().buscarPorCategoria("GAMING")){ - if (o.getClass() == DtVideo.class){ - System.out.println(((DtVideo) o).toString()); - }else if (o.getClass() == DtListaDeReproduccion.class){ - System.out.println(((DtListaDeReproduccion) o).toString()); - }else if (o.getClass() == DtCanal.class){ - System.out.println(((DtCanal) o).toString()); - } - } - */ - - /* - // Prueba de búsqueda general - for (Object o : new BusquedaEnBDD().buscar("", Filtrado.CANALES, Ordenacion.ALFABETICA_ASCENDENTE)){ - if (o.getClass() == DtVideo.class){ - System.out.println(((DtVideo) o).toString()); - }else if (o.getClass() == DtListaDeReproduccion.class){ - System.out.println(((DtListaDeReproduccion) o).toString()); - }else if (o.getClass() == DtCanal.class){ - System.out.println(((DtCanal) o).toString()); - } - } - */ - } catch (Exception e) { System.out.println("//////////////////////////"); @@ -65,5 +39,10 @@ public class DatosDePrueba { System.out.println("//////////////////////////"); } } - -} \ No newline at end of file + private static void mostrarLista(ArrayList<Object> lst){ + // Prueba de búsqueda por categorÃa + for (Object o : lst){ + System.out.println("> " + o.toString()); + } + } +} -- GitLab