From d298717d2d5e9a7c88e798594e952fd4ac1858eb Mon Sep 17 00:00:00 2001 From: Facundo <facu_camilo2@hotmail.com> Date: Wed, 21 Aug 2019 19:30:43 -0300 Subject: [PATCH] comit --- .../src/Logica/Clases/Canal.java | 92 +++++++++++++------ 1 file changed, 66 insertions(+), 26 deletions(-) diff --git a/UyTube_aplicacion/src/Logica/Clases/Canal.java b/UyTube_aplicacion/src/Logica/Clases/Canal.java index e306bb4..44df7e3 100644 --- a/UyTube_aplicacion/src/Logica/Clases/Canal.java +++ b/UyTube_aplicacion/src/Logica/Clases/Canal.java @@ -6,6 +6,7 @@ import Logica.DataType.DtListaDeReproduccion; import Logica.DataType.DtValoracion; import Logica.DataType.DtVideo; import Logica.DataType.DtCanal; +import Logica.Enumerados.TipoListaDeReproduccion; import java.util.ArrayList; import java.util.Map; import java.util.TreeMap; @@ -19,13 +20,13 @@ public class Canal { private String descripcion; private Privacidad privacidad; private Map<Integer,ListaDeReproduccion> misListas; - private Map<Integer,Video> Videos; + private Map<Integer,Video> misVideos; public Canal() { this.id = getNuevoId(); this.misListas = new TreeMap(); - this.Videos = new TreeMap(); + this.misVideos = new TreeMap(); } public Canal(int id, String nombre, String descripcion, Privacidad privacidad) { @@ -34,7 +35,7 @@ public class Canal { this.descripcion = descripcion; this.privacidad = privacidad; this.misListas = new TreeMap(); - this.Videos = new TreeMap(); + this.misVideos = new TreeMap(); } @@ -74,44 +75,82 @@ public class Canal { return contadorCanal++; } public void actualizarListasPorDefecto(){} -public void agregarComentarioAVideo(int id, DtComentario comentario, int idUsuario){} -public void agregarComentarioAVideo(int id, int idComentario, DtComentario comentario, int idUsuario){} -public void agregarListaParticular(DtListaDeReproduccion listaReproduccion){} -public ArrayList<DtValoracion> quitarValoracion(int id, String nickname){ - return new ArrayList(); +public void agregarComentarioAVideo(int id, DtComentario comentario, Usuario usuario){ + this.misVideos.get(id).agregarComentario(comentario, usuario); +} +public void agregarComentarioAVideo(int id, int idComentario, DtComentario comentario, Usuario usuario){ + this.misVideos.get(id).agregarComentario(idComentario, comentario, usuario); +} +public void agregarListaParticular(DtListaDeReproduccion listaReproduccion){ + int id = ListaDeReproduccion.getNuevoId(); + ListaDeReproduccion ldr = new ListaDeReproduccion(id, listaReproduccion.getNombre(), listaReproduccion.getPrivacidad(),listaReproduccion.getTipo(), listaReproduccion.getCategoria()); + this.misListas.put(id, ldr); +} +public void quitarValoracion(int id, String nickname){ + } -public void agregarModificarValoracion(int id, DtValoracion valoracion, Usuario usuario){} -public void agregarVideo(DtVideo video){} -public void agregarVideoALista(int id, DtVideo video){} +public void agregarModificarValoracion(int id, DtValoracion valoracion, Usuario usuario){ + this.misVideos.get(id).agregarModificarValoracion(valoracion, usuario); +} +public void agregarVideo(DtVideo video){ + int id = Video.getNuevoId(); + Video vd = new Video(id, video.getNombre(), video.getDescripcion(), video.getDuracion(), video.getFechaPublicacion(), video.getUrlVideoOriginal(), video.getCategoria()); + this.misVideos.put(id, vd); +} +public void agregarVideoALista(int id, Video video){ + this.misListas.get(video.getId()).agregarVideoA(video); +} + public DtCanal getDT(){ return new DtCanal(this.id, this.nombre, this.descripcion, this.privacidad); } public ArrayList<DtComentario> listarComentariosDeVideo(int id){ - return new ArrayList(); + return this.misVideos.get(id).listarComentarios(); } + public ArrayList<DtListaDeReproduccion> listarListasDeReproduccion(boolean x){ - return new ArrayList(); + ArrayList<DtListaDeReproduccion> ret = new ArrayList(); + + // para cada elemento en misVideos + /** + * este for no es normal, se declara la variable m que es de tipo + * Entrada de Map (como un nodo arbol), y autmaticamente la hace avanzar + * por todas las entradas de la coleccion. + * De la entrada actual se puede obtener la Key y el Valor almacenado + */ + for (Map.Entry<Integer, ListaDeReproduccion> m : misListas.entrySet()){ + // hace un getDT y lo agrega a la coleccion de retorno + ret.add(m.getValue().getDt()); + } + + return ret; } public ArrayList<DtValoracion> listarValoracionesDeVideo(int id){ - return new ArrayList(); + return this.misVideos.get(id).listarValoraciones(); + } public ArrayList<DtVideo> listarVideos(){ - ArrayList<DtVideo> ret = new ArrayList(); - - for (Map.Entry<Integer, ListaDeReproduccion> m : misListas.entrySet()){ - // hace un getDT y lo agrega a la coleccion de retorno - for (Map.Entry<Integer, Video> m : misListas.entrySet()){ + ArrayList<DtVideo> ret = new ArrayList(); + + // para cada elemento en misVideos + /** + * este for no es normal, se declara la variable m que es de tipo + * Entrada de Map (como un nodo arbol), y autmaticamente la hace avanzar + * por todas las entradas de la coleccion. + * De la entrada actual se puede obtener la Key y el Valor almacenado + */ + for (Map.Entry<Integer, Video> m : misVideos.entrySet()){ // hace un getDT y lo agrega a la coleccion de retorno ret.add(m.getValue().getDt()); - } - } - return ret; + } + + return ret; } public ArrayList<DtVideo> listarVideosDeListaDeReproduccion(int id){ - return ListaDeReproduccion. + return this.misListas.get(id).listarVideos(); } public void modificar(DtCanal canal){ this.nombre = canal.getNombre(); @@ -119,16 +158,17 @@ public void modificar(DtCanal canal){ this.privacidad = canal.getPrivacidad(); } public void modificarListaDeReproduccion(DtListaDeReproduccion ldr){ - + this.misListas.get(ldr.getId()).modificar(ldr); } public void modificarVideo(DtVideo video){} public ArrayList<DtListaDeReproduccion> obtenerListasEnCategoria(String cat){ return new ArrayList(); } public DtVideo obtenerDtVideo(int id){ - return new DtVideo(); + return this.misVideos.get(id).getDt(); +} +public Video obtenerVideo(int id){ } -//public Video obtenerVideo(int id){ // return new Video(); //} public ArrayList<DtVideo> obtenerVideosEnCategoria(String cat){ -- GitLab