diff --git a/UyTube_aplicacion/src/Logica/Clases/ListaDeReproduccion.java b/UyTube_aplicacion/src/Logica/Clases/ListaDeReproduccion.java index 7b5fa24da56e686e70c48437b0eb24f103e2157c..b569a01bfcc7043b08ae7569cd83d8b1f09e3160 100644 --- a/UyTube_aplicacion/src/Logica/Clases/ListaDeReproduccion.java +++ b/UyTube_aplicacion/src/Logica/Clases/ListaDeReproduccion.java @@ -1,6 +1,7 @@ package Logica.Clases; import Logica.DataType.DtListaDeReproduccion; +import Logica.DataType.DtVideo; import Logica.Enumerados.Privacidad; import Logica.Enumerados.TipoListaDeReproduccion; import java.util.ArrayList; @@ -31,49 +32,97 @@ public class ListaDeReproduccion { this.misVideos = new TreeMap(); } - public static int getNuevoId(){ - return contadorListasDeReproduccion++; + public static int getNuevoId() { + return contadorListasDeReproduccion; } - - + public int getId() { return id; } + public void setId(int id) { + this.id = id; + } + public String getNombre() { return nombre; } + public void setNombre(String nombre) { + this.nombre = nombre; + } + public Privacidad getPrivacidad() { return privacidad; } + public void setPrivacidad(Privacidad privacidad) { + this.privacidad = privacidad; + } + public TipoListaDeReproduccion getTipo() { return tipo; } + public void setTipo(TipoListaDeReproduccion tipo) { + this.tipo = tipo; + } + public String getCategoria() { return categoria; } + + public void setCategoria(String categoria) { + this.categoria = categoria; + } + + @Override + public String toString() { + return "ListaDeReproduccion{" + "id=" + id + ", nombre=" + nombre + ", privacidad=" + privacidad + ", tipo=" + tipo + ", categoria=" + categoria + ", misVideos.size=" + misVideos.size() + '}'; + } - + ///////////////////////////////////////////////////////////////////////////////////////// + public void agregarVideoA(Video v){ - + // agrega el video y su clave a la coleccion + this.misVideos.put(v.getId(), v); } public DtListaDeReproduccion getDt(){ + // devuelve un DT con los datos de la lista return new DtListaDeReproduccion(this.id, this.nombre, this.privacidad, this.tipo, this.categoria); } - public ArrayList listarVideos(){ - return new ArrayList(); + public ArrayList<DtVideo> listarVideos(){ + // crea una lista de retorno + 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 void modificar(DtListaDeReproduccion ldr) { - + // se sobreescriben los atributos que pueden ser modificados + this.nombre = ldr.getNombre(); + this.privacidad = ldr.getPrivacidad(); + this.categoria = ldr.getCategoria(); + // el ID y el tipo de lista no se puede modificar } - + public void quitarVideo(int idVideo) { - + // remueve de la coleccion el video con la clave idVideo + this.misVideos.remove(idVideo); } + } diff --git a/UyTube_aplicacion/src/Logica/Clases/Video.java b/UyTube_aplicacion/src/Logica/Clases/Video.java index 68ca30b373726c2e7b524a619216e29b40e1f40a..e4ddd22af6bddbade440c5f0e413f92bec90365e 100644 --- a/UyTube_aplicacion/src/Logica/Clases/Video.java +++ b/UyTube_aplicacion/src/Logica/Clases/Video.java @@ -50,16 +50,18 @@ public class Video { } - public DtVideo getDtVideo(){ - - + public DtVideo getDt(){ + return new DtVideo(this.id, this.nombre, this.descripcion, this.duracion, this.fechaPublicacion, this.urlVideoOriginal, this.privacidad, this.categoria, this.cantLikes, this.cantDisLikes); } public ArrayList<DtComentario> listarComentarios(){ - + // provisorio + return new ArrayList(); } public ArrayList<DtValoracion> listarValoraciones(){ + // provisorio + return new ArrayList(); } @@ -68,10 +70,11 @@ public class Video { } public DtValoracion obtenerValoracion(String nickname){ - + // provisorio + return new DtValoracion(); } - public static int obtenerNuevoId(){ + public static int getNuevoId(){ int nuevoId = idActual ++; return nuevoId; } @@ -156,6 +159,11 @@ public class Video { public void setCantDisLikes(int cantDisLikes) { this.cantDisLikes = cantDisLikes; } + + @Override + public String toString() { + return "Video{" + "id=" + id + ", nombre=" + nombre + ", descripcion=" + descripcion + ", duracion=" + duracion + ", fechaPublicacion=" + fechaPublicacion + ", urlVideoOriginal=" + urlVideoOriginal + ", privacidad=" + privacidad + ", categoria=" + categoria + ", cantLikes=" + cantLikes + ", cantDisLikes=" + cantDisLikes + '}'; + } diff --git a/UyTube_aplicacion/src/Logica/DataType/DtListaDeReproduccion.java b/UyTube_aplicacion/src/Logica/DataType/DtListaDeReproduccion.java index cfccc06332c9d756b4226eee965e5e6237665f11..23da0c5ba5e88ee99acfd9ec2863fed8f0dba63e 100644 --- a/UyTube_aplicacion/src/Logica/DataType/DtListaDeReproduccion.java +++ b/UyTube_aplicacion/src/Logica/DataType/DtListaDeReproduccion.java @@ -20,23 +20,29 @@ public class DtListaDeReproduccion { this.categoria = categoria; } - public void setId(int id) { - this.id = id; + public int getId() { + return id; } - public void setNombre(String nombre) { - this.nombre = nombre; + public String getNombre() { + return nombre; } - public void setPrivacidad(Privacidad privacidad) { - this.privacidad = privacidad; + public Privacidad getPrivacidad() { + return privacidad; } - public void setTipo(TipoListaDeReproduccion tipo) { - this.tipo = tipo; + public TipoListaDeReproduccion getTipo() { + return tipo; } - public void setCategoria(String categoria) { - this.categoria = categoria; + public String getCategoria() { + return categoria; + } + + @Override + public String toString() { + return "DtListaDeReproduccion{" + "id=" + id + ", nombre=" + nombre + ", privacidad=" + privacidad + ", tipo=" + tipo + ", categoria=" + categoria + '}'; } + } diff --git a/UyTube_aplicacion/src/Logica/DataType/DtVideo.java b/UyTube_aplicacion/src/Logica/DataType/DtVideo.java index b80ff568ac2e6566c6b0afedbae671c3b5a51e3f..6c6f879bd4fdd085a11a4dc6c0277888af368816 100644 --- a/UyTube_aplicacion/src/Logica/DataType/DtVideo.java +++ b/UyTube_aplicacion/src/Logica/DataType/DtVideo.java @@ -71,4 +71,11 @@ public class DtVideo { public int getCantDisLikes() { return cantDisLikes; } + + @Override + public String toString() { + return "DtVideo{" + "id=" + id + ", nombre=" + nombre + ", descripcion=" + descripcion + ", duracion=" + duracion + ", fechaPublicacion=" + fechaPublicacion + ", urlVideoOriginal=" + urlVideoOriginal + ", privacidad=" + privacidad + ", categoria=" + categoria + ", cantLikes=" + cantLikes + ", cantDisLikes=" + cantDisLikes + '}'; + } + + } diff --git a/UyTube_aplicacion/src/Logica/main.java b/UyTube_aplicacion/src/Logica/main.java index bcab9b771943bd46e9aec962837639cf7ccc4b26..f5caed7e50c266131baeee431ce6b045ba6df5c1 100644 --- a/UyTube_aplicacion/src/Logica/main.java +++ b/UyTube_aplicacion/src/Logica/main.java @@ -1,12 +1,50 @@ package Logica; import Logica.Clases.*; +import Logica.DataType.*; +import Logica.Enumerados.*; import java.sql.Date; +import java.sql.Time; +import java.util.ArrayList; public class main { public static void main(String[] args) { System.out.println("Hola mundo"); - + + System.out.println("Creando lista nueva"); + ListaDeReproduccion l1 = new ListaDeReproduccion(1, "lista_test", Privacidad.PRIVADO, TipoListaDeReproduccion.PARTICULAR, "UNDEFINED"); + System.out.println(l1.toString()); + + System.out.println("Creando 5 videos"); + Video v1 = new Video(Video.getNuevoId(), "video_1", "desc_1", new Time(0, 1, 50), new Date(2019-1900, 0, 5), "url_1", "DEFAULT"); + Video v2 = new Video(Video.getNuevoId(), "video_2", "desc_2", new Time(0, 2, 40), new Date(2019-1900, 2, 4), "url_2", "MUSICA"); + Video v3 = new Video(Video.getNuevoId(), "video_3", "desc_3", new Time(0, 3, 30), new Date(2019-1900, 3, 3), "url_3", "DEPORTE"); + Video v4 = new Video(Video.getNuevoId(), "video_4", "desc_4", new Time(0, 4, 20), new Date(2019-1900, 4, 2), "url_4", "GAMING"); + Video v5 = new Video(Video.getNuevoId(), "video_5", "desc_5", new Time(0, 5, 10), new Date(2019-1900, 5, 1), "url_5", "MUSICA"); + + System.out.println("agregando videos 1, 3 y 4"); + l1.agregarVideoA(v3); + l1.agregarVideoA(v1); + l1.agregarVideoA(v4); + System.out.println(l1.toString()); + + System.out.println("Quitando video 2"); + l1.quitarVideo(2); + System.out.println(l1.toString()); + System.out.println("Quitando video 3"); + l1.quitarVideo(3); + System.out.println(l1.toString()); + System.out.println("agregando video 5"); + l1.agregarVideoA(v5); + + System.out.println("Listando todos los videos"); + ArrayList<DtVideo> dt = l1.listarVideos(); + for (int i = 0; i < dt.size(); i++){ + System.out.println(dt.get(i).toString()); + } + + + } }