diff --git a/UyTube_aplicacion/nbproject/project.properties b/UyTube_aplicacion/nbproject/project.properties index 065f169d14334992c51703f7929db4cfcc1fbbf1..1f399e5abba4a418204f873bebeb1208c916f548 100644 --- a/UyTube_aplicacion/nbproject/project.properties +++ b/UyTube_aplicacion/nbproject/project.properties @@ -4,6 +4,8 @@ annotation.processing.processor.options=-Aeclipselink.canonicalmodel.use_static_ annotation.processing.processors.list= annotation.processing.run.all.processors=true annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +application.title=UyTube +application.vendor=Juan build.classes.dir=${build.dir}/classes build.classes.excludes=**/*.java,**/*.form # This directory is removed when the project is cleaned: @@ -26,6 +28,7 @@ dist.archive.excludes= dist.dir=dist dist.jar=${dist.dir}/UyTube.jar dist.javadoc.dir=${dist.dir}/javadoc +endorsed.classpath= excludes= file.reference.jcalendar-1.4.jar=C:\\Users\\Juan\\Desktop\\jcalendar-1.4.jar <<<<<<< HEAD diff --git a/UyTube_aplicacion/src/JPAControllerClasses/BusquedaEnBDD.java b/UyTube_aplicacion/src/JPAControllerClasses/BusquedaEnBDD.java index e386fc727f769de93aa452efa7f0b37c0d06fa75..1e495779a639087aa5618de4fc1b09e8fd6c300b 100644 --- a/UyTube_aplicacion/src/JPAControllerClasses/BusquedaEnBDD.java +++ b/UyTube_aplicacion/src/JPAControllerClasses/BusquedaEnBDD.java @@ -55,9 +55,9 @@ public class BusquedaEnBDD implements Serializable { // Busca los Canales if (filtro == Filtrado.TODO || filtro == Filtrado.CANALES){ if (busqueda == null || busqueda.equals("")){ - q = em.createQuery("SELECT e FROM Canal e"); + q = em.createQuery("SELECT e FROM Canal e WHERE NOT e.eliminado"); }else{ - q = em.createQuery("SELECT e FROM Canal e WHERE (UPPER(e.nombre)) LIKE (UPPER(?1)) OR (UPPER(e.descripcion)) LIKE (UPPER(?1))"); + q = em.createQuery("SELECT e FROM Canal e WHERE (UPPER(e.nombre)) LIKE (UPPER(?1)) OR (UPPER(e.descripcion)) LIKE (UPPER(?1)) AND NOT e.eliminado"); q.setParameter(1, busqueda); } ret.addAll(q.getResultList()); @@ -65,10 +65,10 @@ public class BusquedaEnBDD implements Serializable { // Busca los Listas de reproduccion if (filtro == Filtrado.TODO || filtro == Filtrado.LISTAS_DE_REPRODUCCION){ if (busqueda == null || busqueda.equals("")){ - q = em.createQuery("SELECT e FROM ListaDeReproduccion e WHERE e.tipo = ?1"); + q = em.createQuery("SELECT e FROM ListaDeReproduccion e WHERE e.tipo = ? AND NOT e.eliminado"); q.setParameter(1, TipoListaDeReproduccion.PARTICULAR); }else{ - q = em.createQuery("SELECT e FROM ListaDeReproduccion e WHERE e.tipo = ?1 AND (UPPER(e.nombre)) LIKE (UPPER(?2)) "); + q = em.createQuery("SELECT e FROM ListaDeReproduccion e WHERE e.tipo = ?1 AND (UPPER(e.nombre)) LIKE (UPPER(?2)) AND NOT e.eliminado"); q.setParameter(1, TipoListaDeReproduccion.PARTICULAR); q.setParameter(2, busqueda); } @@ -77,9 +77,9 @@ public class BusquedaEnBDD implements Serializable { // Busca los Videos if (filtro == Filtrado.TODO || filtro == Filtrado.VIDEOS){ if (busqueda == null || busqueda.equals("")){ - q = em.createQuery("SELECT e FROM Video e"); + q = em.createQuery("SELECT e FROM Video e WHERE NOT e.eliminado"); }else{ - q = em.createQuery("SELECT e FROM Video e WHERE (UPPER(e.nombre)) LIKE (UPPER(?1)) OR (UPPER(e.descripcion)) LIKE (UPPER(?1))"); + q = em.createQuery("SELECT e FROM Video e WHERE (UPPER(e.nombre)) LIKE (UPPER(?1)) OR (UPPER(e.descripcion)) LIKE (UPPER(?1)) AND NOT e.eliminado"); q.setParameter(1, busqueda); } ret.addAll(q.getResultList()); @@ -125,11 +125,11 @@ public class BusquedaEnBDD implements Serializable { try { Query q; // Obtiene los videos en esa categoria - q = em.createQuery("SELECT v FROM Video v WHERE v.categoria = ?1"); + q = em.createQuery("SELECT e FROM Video e WHERE e.categoria = ?1 AND NOT e.eliminado"); q.setParameter(1, cat); ret.addAll(q.getResultList()); // obtiene las listas de reproduccion en esa categoria - q = em.createQuery("SELECT l FROM ListaDeReproduccion l WHERE l.categoria = ?1"); + q = em.createQuery("SELECT e FROM ListaDeReproduccion e WHERE e.categoria = ?1 AND NOT e.eliminado"); q.setParameter(1, cat); ret.addAll(q.getResultList()); diff --git a/UyTube_aplicacion/src/Logica/Controladores/CUsuario.java b/UyTube_aplicacion/src/Logica/Controladores/CUsuario.java index 6b46b7dcb0bbcdb8cc059056c3cbf94d55d6a7ea..d1afc0a86edb837fcb6c10747f7543e544c7d83c 100644 --- a/UyTube_aplicacion/src/Logica/Controladores/CUsuario.java +++ b/UyTube_aplicacion/src/Logica/Controladores/CUsuario.java @@ -256,12 +256,17 @@ public class CUsuario implements IUsuario { } else if (ret.get(i) instanceof DtListaDeReproduccion) { DtListaDeReproduccion list = (DtListaDeReproduccion) ret.get(i); if (list.getPrivacidad() == Privacidad.PRIVADO) { - try { - // Si el usuarioActual es null, o no posee una lista con ese ID, se quita el elemento de la lista - this.usuarioActual.obtenerListaDeReproduccion(list.getId()); - } catch (Exception e) { + if (list.getTipo() == TipoListaDeReproduccion.POR_DEFECTO) { ret.remove(i); i--; + } else { + try { + // Si el usuarioActual es null, o no posee una lista con ese ID, se quita el elemento de la lista + this.usuarioActual.obtenerListaDeReproduccion(list.getId()); + } catch (Exception e) { + ret.remove(i); + i--; + } } } } else if (ret.get(i) instanceof DtCanal) { @@ -305,12 +310,17 @@ public class CUsuario implements IUsuario { } else if (ret.get(i) instanceof DtListaDeReproduccion) { DtListaDeReproduccion list = (DtListaDeReproduccion) ret.get(i); if (list.getPrivacidad() == Privacidad.PRIVADO) { - try { - // Si el usuarioActual es null, o no posee una lista con ese ID, se quita el elemento de la lista - this.usuarioActual.obtenerListaDeReproduccion(list.getId()); - } catch (Exception e) { + if (list.getTipo() == TipoListaDeReproduccion.POR_DEFECTO) { ret.remove(i); i--; + } else { + try { + // Si el usuarioActual es null, o no posee una lista con ese ID, se quita el elemento de la lista + this.usuarioActual.obtenerListaDeReproduccion(list.getId()); + } catch (Exception e) { + ret.remove(i); + i--; + } } } } @@ -326,6 +336,15 @@ public class CUsuario implements IUsuario { usuarioActual = null; } + + @Override + public boolean elUsuarioSeleccionadoEsElUsuarioActual(){ + if (usuarioActual == null || usuarioSeleccionado == null){ + return false; + } + return usuarioActual.getNickname().equals(usuarioSeleccionado.getNickname()); + } + @Override public boolean existeEmail(String email) { if (email.equals("")){ @@ -443,7 +462,7 @@ public class CUsuario implements IUsuario { ArrayList<DtListaDeReproduccion> ret = usuarioSeleccionado.listarListasDeReproduccionDeCanal(false); - if (this.usuarioActual == this.usuarioSeleccionado) { + if (elUsuarioSeleccionadoEsElUsuarioActual()) { // Se incluyen las privadas pero se quitan las POR_DEFECTO segun el parametro recibido if (incluirListasPorDefecto) { // se retorna todo @@ -502,7 +521,7 @@ public class CUsuario implements IUsuario { throw new RuntimeException("El sistema no tiene un usuario seleccionado"); } ArrayList<DtVideo> ret = this.usuarioSeleccionado.listarVideosDeListaDeReproduccion(idListaSeleccionada); - if (this.usuarioActual == this.usuarioSeleccionado) { + if (elUsuarioSeleccionadoEsElUsuarioActual()) { // incluye los videos privados si y solo si son del usuario actual // dicho de otra manera: quita los videos privados que no son del usuarioActual for (int i = 0; i < ret.size(); i++) { @@ -534,7 +553,7 @@ public class CUsuario implements IUsuario { throw new RuntimeException("El sistema no tiene un usuario seleccionado"); } - if(this.usuarioActual == this.usuarioSeleccionado){ + if(elUsuarioSeleccionadoEsElUsuarioActual()){ // se incluyen todos los videos return usuarioSeleccionado.listarVideosDeCanal(); }else{ diff --git a/UyTube_aplicacion/src/Logica/DatosDePrueba.java b/UyTube_aplicacion/src/Logica/DatosDePrueba.java index dd9c96b2b1ef6d29d9dbe66c8b2af579b52f9901..a5b672710f670331fb6baef631962bdd585e4843 100644 --- a/UyTube_aplicacion/src/Logica/DatosDePrueba.java +++ b/UyTube_aplicacion/src/Logica/DatosDePrueba.java @@ -30,8 +30,6 @@ public class DatosDePrueba { usuSys = f.getIUsuario(); //CUsuario su = CUsuario.getInstancia(); try { - EntityManagerFactory factory = Persistence.createEntityManagerFactory("UyTubePU"); - EntityManager manager = factory.createEntityManager(); } catch (Exception e) { System.out.println("//////////////////////////"); @@ -39,10 +37,18 @@ public class DatosDePrueba { System.out.println("//////////////////////////"); } } + /* private static void mostrarLista(ArrayList<Object> lst){ // Prueba de búsqueda por categorÃa for (Object o : lst){ System.out.println("> " + o.toString()); } } + */ + private static void mostrarLista(Object lst){ + // Prueba de búsqueda por categorÃa + for (Object o : (ArrayList<Object>)lst){ + System.out.println("> " + o.toString()); + } + } } diff --git a/UyTube_aplicacion/src/Logica/Interfaces/IUsuario.java b/UyTube_aplicacion/src/Logica/Interfaces/IUsuario.java index b6a9a98d671765ebf1ae522188a30474785c9a3d..e94a4890cd0f6967ead47bf3d409c278ad116e5e 100644 --- a/UyTube_aplicacion/src/Logica/Interfaces/IUsuario.java +++ b/UyTube_aplicacion/src/Logica/Interfaces/IUsuario.java @@ -94,6 +94,15 @@ public interface IUsuario { */ public void cerrarSesion(); + /** + * Como el nombre de la funcion lo indica, es para saber si el usuario que + * se ha seleccionado, es el usuario que tiene la inicion sesiada + * + * @return true si el usuario seleccionado es el usuario que inicio la + * sesion + */ + public boolean elUsuarioSeleccionadoEsElUsuarioActual(); + /** * Verifica si existe un usuario con el email indicado *