diff --git a/UyTube_aplicacion/src/Logica/Clases/Canal.java b/UyTube_aplicacion/src/Logica/Clases/Canal.java index 6fff19cf3f1198c17fd051aa1585b94d7ad1a32e..10a1602c06300f599801c4c130d28a02619960b8 100644 --- a/UyTube_aplicacion/src/Logica/Clases/Canal.java +++ b/UyTube_aplicacion/src/Logica/Clases/Canal.java @@ -11,24 +11,22 @@ import java.util.ArrayList; import java.util.Map; import java.util.TreeMap; - public class Canal { - + private static int contadorCanal = 1; private int id; private String nombre; private String descripcion; private Privacidad privacidad; - private Map<Integer,ListaDeReproduccion> misListas; - private Map<Integer,Video> misVideos; - - + private Map<Integer, ListaDeReproduccion> misListas; + private Map<Integer, Video> misVideos; + public Canal() { this.id = getNuevoId(); this.misListas = new TreeMap(); this.misVideos = new TreeMap(); } - + public Canal(int id, String nombre, String descripcion, Privacidad privacidad) { this.id = id; this.nombre = nombre; @@ -71,134 +69,163 @@ public class Canal { this.privacidad = privacidad; } - public static int getNuevoId(){ - return contadorCanal++; - } - public void actualizarListasPorDefecto(){ - + public static int getNuevoId() { + return contadorCanal++; } - public void agregarComentarioAVideo(int id, DtComentario comentario, Usuario usuario){ + 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){ + + 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 agregarListaParticular(DtListaDeReproduccion listaReproduccion) { + int idLdr = ListaDeReproduccion.getNuevoId(); + ListaDeReproduccion ldr = new ListaDeReproduccion(idLdr, listaReproduccion.getNombre(), listaReproduccion.getPrivacidad(), listaReproduccion.getTipo(), listaReproduccion.getCategoria()); + this.misListas.put(idLdr, ldr); } - - public void agregarModificarValoracion(int id, DtValoracion valoracion, Usuario usuario){ + +//Aun no está implementada en la clase Video +//public void quitarValoracion(int id, String nickname){ + // this.misVideos.get(id).quitarValoracion(); +//} + 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 agregarVideo(DtVideo video) { + int idVideo = Video.getNuevoId(); + Video vd = new Video(idVideo, video.getNombre(), video.getDescripcion(), video.getDuracion(), video.getFechaPublicacion(), video.getUrlVideoOriginal(), video.getCategoria()); + this.misVideos.put(idVideo, vd); } - - public void agregarVideoALista(int id, Video video){ + + public void agregarVideoALista(int id, Video video) { this.misListas.get(video.getId()).agregarVideoA(video); } - public DtCanal getDT(){ + public DtCanal getDT() { return new DtCanal(this.id, this.nombre, this.descripcion, this.privacidad); } - public ArrayList<DtComentario> listarComentariosDeVideo(int id){ + public ArrayList<DtComentario> listarComentariosDeVideo(int id) { return this.misVideos.get(id).listarComentarios(); } - public ArrayList<DtListaDeReproduccion> listarListasDeReproduccion(boolean x){ - ArrayList<DtListaDeReproduccion> ret = new ArrayList(); + 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()); - } + for (Map.Entry<Integer, ListaDeReproduccion> m : misListas.entrySet()) { + ret.add(m.getValue().getDt()); + } - return ret; + return ret; } - - public ArrayList<DtValoracion> listarValoracionesDeVideo(int id){ - return this.misVideos.get(id).listarValoraciones(); + + 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()); - } + 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; + return ret; } - public ArrayList<DtVideo> listarVideosDeListaDeReproduccion(int id){ + 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 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 modificarListaDeReproduccion(DtListaDeReproduccion ldr) { + this.misListas.get(ldr.getId()).modificar(ldr); } - public void modificarVideo(DtVideo video){ + public void modificarVideo(DtVideo video) { + this.misVideos.get(video.getId()).modificar(video); + } - } + public ArrayList<DtListaDeReproduccion> obtenerListasEnCategoria(String cat) { + ArrayList<DtListaDeReproduccion> ret = new ArrayList(); - public ArrayList<DtListaDeReproduccion> obtenerListasEnCategoria(String cat){ - return 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 + if (misListas.get(m.getValue()).getCategoria().equals(cat)) { + ret.add(m.getValue().getDt()); + } + } + + return ret; } - - public DtVideo obtenerDtVideo(int id){ + + public DtVideo obtenerDtVideo(int id) { return this.misVideos.get(id).getDt(); } - - public Video obtenerVideo(int id){ - return null; + + public Video obtenerVideo(int id) { + return this.misVideos.get(id); } - - public ArrayList<DtVideo> obtenerVideosEnCategoria(String cat){ - return new ArrayList(); + + public ArrayList<DtVideo> obtenerVideosEnCategoria(String cat) { + 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 + if (misVideos.get(m.getValue()).getCategoria().equals(cat)) { + ret.add(m.getValue().getDt()); + } + } + + return ret; } - - public void quitarVideoDeListaDeReproduccion(int idLista, int idVideo){ - + + public void quitarVideoDeListaDeReproduccion(int idLista, int idVideo) { + this.misListas.get(idLista).quitarVideo(idVideo); + } + + public boolean validarListaParticular(int idLista) { + return this.misListas.get(idLista).getTipo().toString().equals("PARTICULAR"); } - - public boolean validarListaParticular(String lista){ - return false; + + public DtValoracion obtenerValoracion(int id, String nickname) { + return this.misVideos.get(id).obtenerValoracion(nickname); } -} \ No newline at end of file +} diff --git a/UyTube_aplicacion/src/Logica/main.java b/UyTube_aplicacion/src/Logica/main.java index ba0d3f599c1db076db64a9b034037a1845e2cfbf..911451d24179437d75744a97dd1faf6ef6df0897 100644 --- a/UyTube_aplicacion/src/Logica/main.java +++ b/UyTube_aplicacion/src/Logica/main.java @@ -4,5 +4,6 @@ import Logica.*; public class main { public static void main(String[] args) { + } }