diff --git a/UyTube_aplicacion/src/Logica/Clases/Canal.java b/UyTube_aplicacion/src/Logica/Clases/Canal.java index eeaf666a28f59d4bf6a517090a72def023279c3e..d64b1098debc85d3d706aeba62855456f99b2e62 100644 --- a/UyTube_aplicacion/src/Logica/Clases/Canal.java +++ b/UyTube_aplicacion/src/Logica/Clases/Canal.java @@ -6,7 +6,8 @@ import Logica.DataType.DtListaDeReproduccion; import Logica.DataType.DtValoracion; import Logica.DataType.DtVideo; import Logica.DataType.DtCanal; -//import java.util.ArrayList; +import Logica.Enumerados.TipoListaDeReproduccion; +import java.util.ArrayList; import java.util.Map; import java.util.TreeMap; @@ -18,14 +19,14 @@ public class Canal { private String nombre; private String descripcion; private Privacidad privacidad; - private Map<Integer,ListaDeReproduccion> listasDeReproducciones; - private Map<Integer,Video> Videos; + private Map<Integer,ListaDeReproduccion> misListas; + private Map<Integer,Video> misVideos; public Canal() { this.id = getNuevoId(); - this.listasDeReproducciones = new TreeMap(); - this.Videos = new TreeMap(); + this.misListas = new TreeMap(); + this.misVideos = new TreeMap(); } public Canal(int id, String nombre, String descripcion, Privacidad privacidad) { @@ -33,8 +34,8 @@ public class Canal { this.nombre = nombre; this.descripcion = descripcion; this.privacidad = privacidad; - this.listasDeReproducciones = new TreeMap(); - this.Videos = new TreeMap(); + this.misListas = new TreeMap(); + this.misVideos = new TreeMap(); } @@ -73,32 +74,130 @@ public class Canal { public static int getNuevoId(){ 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 DtValoracion agregarModificarValoracion(int id, string nickname){} -public void agregarValoracionAVideo(int id, DtValoracion valoracion, int idUsuario){} -public void agregarVideo(DtVideo video){} -public void agregarVideoALista(int id, DtVideo video){} -public DtCanal getDT(){ - return new DtCanal(this.id, this.nombre, this.descripcion, this.privacidad); -} - -//public ArrayList<DtComentario> listarComentariosDeVideo(int id){} -//public ArrayList<DtListaDeReproduccion> listarListasDeReproduccion(bool x){} -//public ArrayList<DtValoracion> listarValoracionesDeVideo(int id){} -//public ArrayList<DtVideo> listarVideos(){} -//public ArrayList<DtVideo> listarVideosDeListaDeReproduccion(int id){} -public void modificar(DtCanal canal){} -public void modificarListaDeReproduccion(DtListaDeReproduccion listaDeReproduccion){} -public void modificarVideo(DtVideo video){} -//public ArrayList<DtListaDeReproduccion> obtenerListasEnCategoria(string cat){} -//public DtVideo obtenerVideo(int id){} -//public DtVideo obtenerVideo(int id){} -//public ArrayList<DtVideo> obtenerVideosEnCategoria(string cat){} -public void quitarVideoDeListaDeReproduccion(int idLista, int idVideo){} -//public bool validarListaParticular(string lista){} - -} + public void actualizarListasPorDefecto(){ + + } + + 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){ + 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 this.misVideos.get(id).listarComentarios(); + } + + public ArrayList<DtListaDeReproduccion> listarListasDeReproduccion(boolean x){ + 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 this.misVideos.get(id).listarValoraciones(); + + } + + public ArrayList<DtVideo> listarVideos(){ + 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; + } + + public ArrayList<DtVideo> listarVideosDeListaDeReproduccion(int id){ + return this.misListas.get(id).listarVideos(); + } + + public void modificar(DtCanal canal){ + this.nombre = canal.getNombre(); + this.descripcion = canal.getDescripcion(); + 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 this.misVideos.get(id).getDt(); + } + public Video obtenerVideo(int id){ + return null; + } + + public ArrayList<DtVideo> obtenerVideosEnCategoria(String cat){ + return new ArrayList(); + } + + public void quitarVideoDeListaDeReproduccion(int idLista, int idVideo){ + + } + + public boolean validarListaParticular(String lista){ + return false; + } +} \ No newline at end of file