Skip to content
Snippets Groups Projects
Commit d82f57c4 authored by JotaJota96's avatar JotaJota96
Browse files

Merge desde LucasRama hacia pre_master

parents 4c7b7571 d418848a
No related branches found
No related tags found
No related merge requests found
......@@ -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,30 +74,131 @@ 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(){}
//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
......@@ -3,15 +3,18 @@ package Logica.Clases;
public class Persona {
String nombre;
String apellido;
String contraseña;
String contrnia;
public Persona() {
public Persona(){
this.nombre = "";
this.apellido = "";
this.contrnia = "";
}
public Persona(String nombre, String apellido, String contraseña) {
public Persona(String nombre, String apellido, String contrnia) {
this.nombre = nombre;
this.apellido = apellido;
this.contraseña = contraseña;
this.contrnia = contrnia;
}
public String getNombre() {
......@@ -31,11 +34,11 @@ public class Persona {
}
public String getContraseña() {
return contraseña;
return contrnia;
}
public void setContraseña(String contraseña) {
this.contraseña = contraseña;
this.contrnia = contraseña;
}
......
......@@ -2,101 +2,297 @@ package Logica.Clases;
import java.sql.Date;
import Logica.DataType.*;
import java.util.ArrayList;
import java.util.Map;
import java.util.TreeMap;
public class Usuario extends Persona{
private String nickname;
private String correo;
private Date fechaNacimiento;
private String imagen;
private int seguidores;
private Canal MiCanal;
private Map<String, Usuario> misSeguidores;
private Map<String, Usuario> seguidos;
public Usuario() {
}
public Usuario() {}
public Usuario(String nickname, String correo, Date fechaNacimiento, String imagen, String contrasenia, String nombre, String apellido ,DtCanal DTC) {
super(nombre,apellido,contrasenia);
if(fechaNacimiento == null){
throw new RuntimeException("la fecha no puede ser nill");
}
if(DTC == null){
throw new RuntimeException("El canal no puede ser null");
}
if(nickname == ""){
throw new RuntimeException("El nickname no puede ser Vacio");
}
if(correo == ""){
throw new RuntimeException("El correo no puede ser Vacio");
}
if(contrasenia == ""){
throw new RuntimeException("La contraseña no puede ser Vacio");
}
this.nickname = nickname;
this.correo = correo;
this.fechaNacimiento = fechaNacimiento;
this.imagen = imagen;
this.seguidores = 0;
//this.MiCanal = new Canal(DTC.getNuevoId(),DTC.getNombre(),DTC.getDescripcion(),DTC.getPrivacidad());
this.MiCanal = new Canal(Canal.getNuevoId(),DTC.getNombre(),DTC.getDescripcion(),DTC.getPrivacidad());
this.misSeguidores = new TreeMap();
this.seguidos = new TreeMap();
}
public String getNickname() {
return nickname;
}
public void setNickname(String nickname) {
this.nickname = nickname;
}
public String getCorreo() {
return correo;
}
public void setCorreo(String correo) {
this.correo = correo;
}
public Date getFechaNacimiento() {
return fechaNacimiento;
}
public void setFechaNacimiento(Date fechaNacimiento) {
this.fechaNacimiento = fechaNacimiento;
}
public String getImagen() {
return imagen;
}
public void setImagen(String imagen) {
this.imagen = imagen;
}
public int getSeguidores() {
return seguidores;
}
public void setSeguidores(int seguidores) {
this.seguidores = seguidores;
}
public DtUsuario getDT(){
return new DtUsuario(nickname, contraseña, nombre, apellido, correo, fechaNacimiento, imagen, seguidores);//Es el otro constructor
}
public void actualizarListasPorDefecto(){}
public void agregarComentarioAVideo(int id, DtComentario DtComentario, Usuario Usu){}
public void agregarComentarioAVideo(int id,int idCom, DtComentario DtComentario, Usuario Usu){}
public void agregarListaParticular(DtListaDeReproduccion DtValoracion){}
public void agregarModificarValoracionDeVideo(int id, DtValoracion DtValoracion, Usuario Usu){}
public void agregarOQuitarSeguido(Usuario Usu){}
public void agregarOQuitarSeguidor(Usuario Usu){}
public void agregarVideoACanal(DtVideo DtVideo){}
public void agregarVideoALista(int idLista , int idVideo, Usuario Usu){}
// public ArrayList<DtComentario> listarComentariosDeVideo(int id){}
// public ArrayList<DtListasDeReproduccion> listarListasDeReproduccionDeCanal(bool porDefecto){}
// public ArrayList<DtUsuario> listarUsuariosSeguidores(){}
// public ArrayList<DtUsuario> listarUsuariosSeguidos(){}
// public ArrayList<DtValoracion> listarValoracionesDeVideo(int id){}
// public ArrayList<DtVideo> listarVideosDeCanal(){}
// public ArrayList<DtVideo> listarVideosDeListaDeReproduccion(int id){}
public void modificar(DtUsuario Usu, DtCanal DtCanal){}
public void modificarListaDeReproduccionDeCanal(DtListaDeReproduccion DtListaDeReproduccion){}
public void modificarVideoDeCanal(DtVideo DtVideo){}
// public DtCanal obtenerCanal(){}
// public ArrayList<DtListaDeReproduccion> obtenerListasEnCategoria(cat:string){}
// public DtValoracion obtenerValoracion(int id, string nickname){}
// public Video obtenerVideo(int id){}
// public DtVideo obtenerVideoDeCanal(int id){}
// public ArrayList<DtVideo> obtenerVideosEnCategoria(cat:string){}
public void quitarVideoDeListaDeReproduccion(int idLista, int idVideo){}
// public boolean validarListaParticular(String nombre){}
return new DtUsuario(this.nickname, this.contrnia, this.nombre, this.apellido, this.correo, this.fechaNacimiento, this.imagen, this.seguidores);//Es el otro constructor
}
public void actualizarListasPorDefecto(){
this.MiCanal.actualizarListasPorDefecto();
}
public void agregarComentarioAVideo(int idVideo, DtComentario DtComentario, Usuario Usu){
if(DtComentario == null){
throw new RuntimeException("El comentario no puede ser null");
}
if(Usu == null){
throw new RuntimeException("El usuario no puede ser null");
}
this.MiCanal.agregarComentarioAVideo(idVideo, DtComentario, Usu);
}
public void agregarComentarioAVideo(int idVideo, int idCom, DtComentario DtComentario, Usuario Usu){
if(DtComentario == null){
throw new RuntimeException("El comentario no puede ser null");
}
if(Usu == null){
throw new RuntimeException("El usuario no puede ser null");
}
this.MiCanal.agregarComentarioAVideo(idVideo, idCom, DtComentario, Usu);
}
public void agregarListaParticular(DtListaDeReproduccion DtValoracion){
if(DtValoracion == null){
throw new RuntimeException("La valoracion no puede ser null");
}
this.MiCanal.agregarListaParticular(DtValoracion);
}
public void agregarModificarValoracionDeVideo(int idVideo, DtValoracion DtValoracion, Usuario Usu){
if(DtValoracion == null){
throw new RuntimeException("La valoracion no puede ser null");
}
if(Usu == null){
throw new RuntimeException("El usuario no puede ser null");
}
this.MiCanal.agregarModificarValoracion(idVideo , DtValoracion, Usu);
}
public void agregarOQuitarSeguido(Usuario Usu){
if(Usu == null){
throw new RuntimeException("El usuario no puede ser null");
}
if (this.seguidos.containsKey(Usu.getNickname())){
this.seguidos.remove(Usu.getNickname());
}else{
this.seguidos.put(Usu.getNickname(), Usu);
}
Usu.agregarOQuitarSeguidor(this);
}
public void agregarOQuitarSeguidor(Usuario Usu){
if(Usu == null){
throw new RuntimeException("El usuario no puede ser null");
}
if (this.misSeguidores.containsKey(Usu.nickname)){
this.misSeguidores.remove(Usu.getNickname());
this.seguidores--;
}else{
this.misSeguidores.put(Usu.getNickname(), Usu);
this.seguidores++;
}
}
public void agregarVideoACanal(DtVideo DtVideo){
if(DtVideo == null){
throw new RuntimeException("El video no puede ser null");
}
this.MiCanal.agregarVideo(DtVideo);
}
public void agregarVideoALista(int idLista , int idVideo, Usuario Usu){
if(Usu == null){
throw new RuntimeException("El usuario no puede ser null");
}
this.agregarVideoALista(idLista, idVideo, Usu);
}
public ArrayList<DtComentario> listarComentariosDeVideo(int idVideo){
return this.MiCanal.listarComentariosDeVideo(idVideo);
}
public ArrayList<DtListaDeReproduccion> listarListasDeReproduccionDeCanal(boolean porDefecto){
return this.MiCanal.listarListasDeReproduccion(porDefecto);
}
public ArrayList<DtUsuario> listarUsuariosSeguidos(){
// crea una lista de retorno
ArrayList<DtUsuario> ret = new ArrayList();
for (Map.Entry<String,Usuario> i : this.seguidos.entrySet()){
// hace un getDT y lo agrega a la coleccion de retorno
ret.add(i.getValue().getDT());
}
return ret;
}//(Ctrl + C Ctrl + V) De la clase video
public ArrayList<DtUsuario> listarUsuariosSeguidores(){
// crea una lista de retorno
ArrayList<DtUsuario> ret = new ArrayList();
for (Map.Entry<String,Usuario> i : this.misSeguidores.entrySet()){
// hace un getDT y lo agrega a la coleccion de retorno
ret.add(i.getValue().getDT());
}
return ret;
}//(Ctrl + C Ctrl + V) De la clase lirRepro
public ArrayList<DtValoracion> listarValoracionesDeVideo(int id){
return this.MiCanal.listarValoracionesDeVideo(id);
}
public ArrayList<DtVideo> listarVideosDeCanal(){
return this.MiCanal.listarVideos();
}
public ArrayList<DtVideo> listarVideosDeListaDeReproduccion(int id){
return this.MiCanal.listarVideosDeListaDeReproduccion(id);
}
public void modificar(DtUsuario DtUsu, DtCanal DtCanal){
if(DtUsu == null){
throw new RuntimeException("El usuario no puede ser null");
}
if(DtCanal == null){
throw new RuntimeException("El canal no puede ser null");
}
this.nombre = DtUsu.getNombre();
this.apellido = DtUsu.getApellido();
this.contrnia = DtUsu.getContrasenia();
this.fechaNacimiento = DtUsu.getFechaNacimiento();
this.imagen = DtUsu.getImagen();
this.MiCanal.modificar(DtCanal);
}
public void modificarListaDeReproduccionDeCanal(DtListaDeReproduccion DtListaDeReproduccion){
if(DtListaDeReproduccion == null){
throw new RuntimeException("La lista de reproduccion no puede ser null");
}
this.MiCanal.modificarListaDeReproduccion(DtListaDeReproduccion);
}
public void modificarVideoDeCanal(DtVideo DtVideo){
if(DtVideo == null){
throw new RuntimeException("El video no puede ser null");
}
this.MiCanal.modificarVideo(DtVideo);
}
public DtCanal obtenerCanal(){
return this.MiCanal.getDT();
}
public ArrayList<DtListaDeReproduccion> obtenerListasEnCategoria(String cat){
if(cat == ""){
throw new RuntimeException("La categoria no puede ser vacia");
}
return this.MiCanal.obtenerListasEnCategoria(cat);
}
public DtValoracion obtenerValoracion(int id, String nickname){
if(nickname == ""){
throw new RuntimeException("El nickname no puede ser vacio");
}
//return this.MiCanal.obtenerValoracion(id, nickname);
return null;//Esto se saca
}
public Video obtenerVideo(int id){
return this.MiCanal.obtenerVideo(id);
}
public DtVideo obtenerVideoDeCanal(int idVideo){
return this.MiCanal.obtenerDtVideo(idVideo);
}
public ArrayList<DtVideo> obtenerVideosEnCategoria(String cat){
if(cat == ""){
throw new RuntimeException("La categoria no puede ser vacia");
}
return this.MiCanal.obtenerVideosEnCategoria(cat);
}
public void quitarValoracion(int id, String nickname){
if(nickname == ""){
throw new RuntimeException("El nickname no puede ser vacia");
}
this.MiCanal.quitarValoracion(id, nickname);
}
public void quitarVideoDeListaDeReproduccion(int idLista, int idVideo){
this.MiCanal.quitarVideoDeListaDeReproduccion(idLista, idVideo);
}
public boolean validarListaParticular(String nombre){
if(nombre == ""){
throw new RuntimeException("El nombre de la lista no puede ser vacia");
}
return this.MiCanal.validarListaParticular(nombre);
}
}
package Logica;
import Logica.Clases.*;
import Logica.DataType.*;
import Logica.Enumerados.*;
import java.sql.Date;
import java.sql.Time;
import java.util.ArrayList;
import Logica.*;
public class main {
public static void main(String[] args) {
System.out.println("Hola mundo");
try {
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());
}
System.out.println("-------------");
ArrayList<String> lsts = ListaDeReproduccion.listarNombresDeListasPorDefecto();
for (int i = 0; i < lsts.size(); i++) {
System.out.println(lsts.get(i));
}
System.out.println("-------------");
ListaDeReproduccion.agregarCategoria("MUSICA");
ListaDeReproduccion.agregarCategoria("GAMING");
lsts = ListaDeReproduccion.listarNombresDeListasPorDefecto();
for (int i = 0; i < lsts.size(); i++) {
System.out.println(lsts.get(i));
}
} catch (Exception e) {
System.out.println("-->" + e);
}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment