From 40ace4737a90fb96d8082acead6f6bdd624054a3 Mon Sep 17 00:00:00 2001 From: JotaJota96 <jjap96@gmail.com> Date: Thu, 10 Oct 2019 03:28:36 -0300 Subject: [PATCH] =?UTF-8?q?Terminada=20p=C3=A1gina=20y=20servlet=20de=20bu?= =?UTF-8?q?squedas?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/Logica/Controladores/CUsuario.java | 12 +- .../src/Logica/Interfaces/IUsuario.java | 8 ++ UyTube_web/libreria/UyTube_logica.jar | Bin 213602 -> 213983 bytes UyTube_web/src/java/com/uytube/Buscar.java | 98 +++++++++------ UyTube_web/web/Buscar.jsp | 118 ++++++++++++++---- 5 files changed, 171 insertions(+), 65 deletions(-) diff --git a/UyTube_logica/src/Logica/Controladores/CUsuario.java b/UyTube_logica/src/Logica/Controladores/CUsuario.java index 86e14e6..3080ca8 100644 --- a/UyTube_logica/src/Logica/Controladores/CUsuario.java +++ b/UyTube_logica/src/Logica/Controladores/CUsuario.java @@ -652,7 +652,17 @@ public class CUsuario implements IUsuario { } return usuarioSeleccionado.obtenerCanal(); } - + + @Override + public DtUsuario obtenerPropietarioDeCanal(int idCanal){ + for (Map.Entry<String, Usuario> u : this.obtenerUsuarios().entrySet()){ + if (u.getValue().obtenerCanal().getId() == idCanal){ + return u.getValue().getDT(); + } + } + throw new RuntimeException("El iID de canal no crresponde a ningun usuario"); + } + @Override public DtUsuario obtenerPropietarioDeVideo(int idVideo) { // Esto es un parche, pero de los que nunca se despegan... diff --git a/UyTube_logica/src/Logica/Interfaces/IUsuario.java b/UyTube_logica/src/Logica/Interfaces/IUsuario.java index 2cb89b3..0d0ba5d 100644 --- a/UyTube_logica/src/Logica/Interfaces/IUsuario.java +++ b/UyTube_logica/src/Logica/Interfaces/IUsuario.java @@ -245,6 +245,14 @@ public interface IUsuario { */ public DtCanal obtenerCanalDeUsuario(); + /** + * Busca entre todos los usuarios al propietario del canal con el ID indicado + * + * @param idCanal ID del canal + * @return Datos del usuario + */ + public DtUsuario obtenerPropietarioDeCanal(int idCanal); + /** * Busca entre todos los usuarios al propietario del video con el ID indicado * diff --git a/UyTube_web/libreria/UyTube_logica.jar b/UyTube_web/libreria/UyTube_logica.jar index 27652ad8f937c9e5ecefab8708eeb1aa8750aca7..cfa8c2a4d35dae34e5142dc11294aef0678de49e 100644 GIT binary patch delta 9823 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 delta 9248 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 diff --git a/UyTube_web/src/java/com/uytube/Buscar.java b/UyTube_web/src/java/com/uytube/Buscar.java index 341afca..670edd8 100644 --- a/UyTube_web/src/java/com/uytube/Buscar.java +++ b/UyTube_web/src/java/com/uytube/Buscar.java @@ -5,8 +5,15 @@ */ package com.uytube; +import Logica.Enumerados.Filtrado; +import Logica.Enumerados.Ordenacion; +import Logica.Enumerados.Privacidad; +import Logica.Fabrica; +import Logica.Interfaces.IUsuario; import java.io.IOException; import java.io.PrintWriter; +import java.util.ArrayList; +import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; @@ -18,32 +25,6 @@ import javax.servlet.http.HttpServletResponse; */ public class Buscar extends HttpServlet { - /** - * Processes requests for both HTTP <code>GET</code> and <code>POST</code> - * methods. - * - * @param request servlet request - * @param response servlet response - * @throws ServletException if a servlet-specific error occurs - * @throws IOException if an I/O error occurs - */ - protected void processRequest(HttpServletRequest request, HttpServletResponse response) - throws ServletException, IOException { - response.setContentType("text/html;charset=UTF-8"); - try (PrintWriter out = response.getWriter()) { - /* TODO output your page here. You may use following sample code. */ - out.println("<!DOCTYPE html>"); - out.println("<html>"); - out.println("<head>"); - out.println("<title>Servlet Buscar</title>"); - out.println("</head>"); - out.println("<body>"); - out.println("<h1>Servlet Buscar at " + request.getContextPath() + "</h1>"); - out.println("</body>"); - out.println("</html>"); - } - } - // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code."> /** * Handles the HTTP <code>GET</code> method. @@ -56,21 +37,58 @@ public class Buscar extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - processRequest(request, response); - } + try { + IUsuario sys = Fabrica.getInstancia().getIUsuario(); + //----------------------------------------------------- + String Categoria = request.getParameter("categoria"); + String Texto = request.getParameter("texto"); + String Filtro = request.getParameter("filtro"); + String Orden = request.getParameter("orden"); + //------------------------------------------------------ + ArrayList<Object> Ret = null; - /** - * Handles the HTTP <code>POST</code> method. - * - * @param request servlet request - * @param response servlet response - * @throws ServletException if a servlet-specific error occurs - * @throws IOException if an I/O error occurs - */ - @Override - protected void doPost(HttpServletRequest request, HttpServletResponse response) - throws ServletException, IOException { - processRequest(request, response); + if (Categoria == null || Categoria.equals("")) { + Filtrado Fil = Filtrado.TODO; + Ordenacion ord = Ordenacion.FECHA_DESCENDENTE; + + if (Filtro != null && Filtro.equals("CANALES")) { + Fil = Filtrado.CANALES; + } + if (Filtro != null && Filtro.equals("LISTAS_DE_REPRODUCCION")) { + Fil = Filtrado.LISTAS_DE_REPRODUCCION; + } + if (Filtro != null && Filtro.equals("VIDEOS")) { + Fil = Filtrado.VIDEOS; + } + if (Orden != null && Orden.equals("ALFABETICO")) { + ord = Ordenacion.ALFABETICA_ASCENDENTE; + } + + String comilla = "" + (char) 34; + String vacio = ""; + Texto = Texto.replaceAll(comilla, vacio); + + if (Texto.equals("")){ + Texto = " "; + } + + Ret = sys.buscar(Texto, Fil, ord); + + } else { + Ret = sys.buscar(Categoria); + } + + request.setAttribute("Lista", Ret); + + RequestDispatcher rd; //objeto para despachar + rd = request.getRequestDispatcher("/Buscar.jsp"); + rd.forward(request, response); + + } catch (Exception e) { + RequestDispatcher rd; //objeto para despachar + rd = request.getRequestDispatcher("/"); + rd.forward(request, response); + } } /** diff --git a/UyTube_web/web/Buscar.jsp b/UyTube_web/web/Buscar.jsp index 6756fb8..06cb4e4 100644 --- a/UyTube_web/web/Buscar.jsp +++ b/UyTube_web/web/Buscar.jsp @@ -4,6 +4,12 @@ Author : administrador --%> +<%@page import="Logica.DataType.DtUsuario"%> +<%@page import="Logica.Fabrica"%> +<%@page import="Logica.DataType.DtVideo"%> +<%@page import="Logica.DataType.DtListaDeReproduccion"%> +<%@page import="Logica.DataType.DtCanal"%> +<%@page import="java.util.ArrayList"%> <%@page contentType="text/html" pageEncoding="UTF-8"%> <!DOCTYPE html> @@ -27,7 +33,18 @@ <div class="container-fluid"> <div class="row"> <div class="col-12"> + <!-- Inclusion de la barra superior --> + <% + if (false){ + %> <%@ include file='include/header-usuario.html' %> + <% + }else{ + %> + <%@ include file='include/header-visitante.html' %> + <% + } + %> </div> </div> </div> @@ -94,48 +111,101 @@ <!--LISTA DE CONTENIDO--> <div class="tab-pane fade show active" id="videos" role="tabpanel" aria-labelledby="nav-VIDEO-tab"> - - <br><div class="lista bd-highlight"> + <% + ArrayList<Object> lista = (ArrayList) request.getAttribute("Lista"); + for (Object o : lista){ + if (o instanceof DtVideo){ + DtVideo e = (DtVideo) o; + String miniatura = Funciones.Funciones.obtenerImagenDeVideo( + Funciones.Funciones.extraerIDYoutube(e.getUrlVideoOriginal()), + 2 + ); + %> + <div class="video"> <div class="bd-highlight caja-imagen"> - <div class="bd-highlight "> - <img src="imagenes/lista.jpg" alt="lista"> + <div class="bd-highlight"> + <a href="video-consultar?id=<%= e.getId() %>"> + <img src="<%= miniatura %>" width="246" height="138"> + </a> </div> </div> - <div class=" bd-highlight caja-texto"> - <div class="overflow-auto bg-light" > - <h5 class="mt-0">Titulo de la Lista</h5> - <p>Descripcion de la lista: EMI Music Publishing, Warner Chappell, UNIAO BRASILEIRA DE EDITORAS DE MUSICA - UBEM, LatinAutor, ASCAP, LatinAutor - SonyATV y 4 sociedades de derechos musicales</p> + <div class="bd-highlight caja-texto justify-content-start"> + <div class="bg-light" > + <h5 class="mt-0"> + <a href="video-consultar?id=<%= e.getId() %>"> + <%= e.getNombre() %> + </a> + </h5> + <p><%= e.getDescripcion() %></p> </div> </div> - </div><br> - - <div class="video"> + </div> + <br> + <% + }else if (o instanceof DtListaDeReproduccion){ + DtListaDeReproduccion e = (DtListaDeReproduccion) o; + %> + <br><div class="lista bd-highlight"> <div class="bd-highlight caja-imagen"> - <div class="bd-highlight"> - <a href="/uytube/video-consulta&id=1234"><img src="https://i.ytimg.com/vi/OVjbqdm_JVI/hqdefault.jpg"></a> + <div class="bd-highlight "> + <a href="lista-consultar?id=<%= e.getId()%>"> + <img src="imagenes/lista.jpg" alt="lista" width="246" height="138"> + </a> + </div> </div> - <div class="bd-highlight caja-texto"> - <div class="bg-light" > - <h5 class="mt-0">Titulo del video</h5> - <p>Descripcion del video: EMI Music Publishing, Warner Chappell, UNIAO BRASILEIRA DE EDITORAS DE MUSICA - UBEM, LatinAutor, ASCAP, LatinAutor - SonyATV y 4 sociedades de derechos musicales</p> + <div class=" bd-highlight caja-texto justify-content-start"> + <div class="overflow-auto bg-light" > + <h5 class="mt-0"> + <a href="lista-consultar?id=<%= e.getId() %>"> + <%= e.getNombre() %> + </a> + </h5> + <p>CategorÃa: <%= e.getCategoria() %></p> </div> </div> - </div><br> - + </div> + <br> + <% + }else if (o instanceof DtCanal){ + DtCanal e = (DtCanal) o; + // buena suerte entendiendo esto... + DtUsuario usu = Fabrica.getInstancia().getIUsuario().obtenerPropietarioDeCanal(e.getId()); + String imagenCanal; + if (usu.getImagen() == null || usu.getImagen().equals("")){ + imagenCanal = "imagenes/ukp.png"; + }else{ + imagenCanal = usu.getImagen(); + } + %> <div class="canal bd-highlight"> <div class="bd-highlight caja-imagen"> <div class="bd-highlight"> - <img src="imagenes/mestruli.jpg" class="align-self-center rounded-circle" alt="Cinque Terre" > + <a href="usuario-consultar?id=<%= usu.getNickname() %>"> + <img src="<%= imagenCanal %>" class="align-self-center rounded-circle" alt="Cinque Terre" > + </a> </div> </div> - <div class="bd-highlight caja-texto"> + <div class="bd-highlight caja-texto justify-content-start"> <div class="overflow-auto bg-light"> - <h5 class="mt-0">Nombre del canal</h5> - <p>Descripcion del canal: EMI Music Publishing, Warner Chappell, UNIAO BRASILEIRA DE EDITORAS DE MUSICA - UBEM, LatinAutor, ASCAP, LatinAutor - SonyATV y 4 sociedades de derechos musicales</p> + <h5 class="mt-0"> + <a href="usuario-consultar?id=<%= usu.getNickname() %>"> + <%= e.getNombre() %> + </a> + </h5> + <p><%= e.getDescripcion() %></p> </div> </div> - </div><br> + </div> + <br> + <% + } + } + %> + + + + </div> <!--FIN de LISTA DE CONTENIDO--> -- GitLab