Skip to content
Snippets Groups Projects
Commit b166ae5a authored by JotaJota96's avatar JotaJota96
Browse files

correccion y agregado de funciones en CUsuario

parent 17edfc9b
No related branches found
No related tags found
No related merge requests found
......@@ -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
......
......@@ -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());
......
......@@ -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{
......
......@@ -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());
}
}
}
......@@ -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
*
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment