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