diff --git a/UyTube_aplicacion/src/Logica/Clases/Persona.java b/UyTube_aplicacion/src/Logica/Clases/Persona.java index da1e0fb7b691b8a472451d715cff787fa0822e12..f6d4a02f9d0d6b4619de7d05a129fc7fea7ae2c1 100644 --- a/UyTube_aplicacion/src/Logica/Clases/Persona.java +++ b/UyTube_aplicacion/src/Logica/Clases/Persona.java @@ -1,20 +1,17 @@ package Logica.Clases; public class Persona { - String nombre; - String apellido; - String contrnia; - - public Persona(){ - this.nombre = ""; - this.apellido = ""; - this.contrnia = ""; - } - - public Persona(String nombre, String apellido, String contrnia) { + private String nombre; + private String apellido; + private String contrasenia; + + public Persona(String nombre, String apellido, String contrasenia) { + if(contrasenia == ""){ + throw new RuntimeException("La contraseña no puede ser Vacio"); + } this.nombre = nombre; this.apellido = apellido; - this.contrnia = contrnia; + this.contrasenia = contrasenia; } public String getNombre() { @@ -33,13 +30,16 @@ public class Persona { this.apellido = apellido; } - public String getContraseña() { - return contrnia; + public String getContrasena() { + return contrasenia; } - public void setContraseña(String contraseña) { - this.contrnia = contraseña; + public void setContrasenia(String contrasenia) { + this.contrasenia = contrasenia; } + public boolean validarContrasenia(String pass){ + return this.contrasenia.equals(pass); + } } diff --git a/UyTube_aplicacion/src/Logica/Clases/Usuario.java b/UyTube_aplicacion/src/Logica/Clases/Usuario.java index 7f4cf84439f86c5d19bd202dbbf119caa9a253af..2d7ce3aa7e2bab9b504901740d3be3acfba81ce1 100644 --- a/UyTube_aplicacion/src/Logica/Clases/Usuario.java +++ b/UyTube_aplicacion/src/Logica/Clases/Usuario.java @@ -17,8 +17,6 @@ public class Usuario extends Persona{ private Map<String, Usuario> seguidos; - public Usuario() {} - public Usuario(String nickname, String correo, Date fechaNacimiento, String imagen, String contrasenia, String nombre, String apellido ,DtCanal DTC) { super(nombre,apellido,contrasenia); @@ -36,11 +34,6 @@ public class Usuario extends Persona{ 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; @@ -72,7 +65,7 @@ public class Usuario extends Persona{ } public DtUsuario getDT(){ - return new DtUsuario(this.nickname, this.contrnia, this.nombre, this.apellido, this.correo, this.fechaNacimiento, this.imagen, this.seguidores);//Es el otro constructor + return new DtUsuario(this.nickname, super.getContrasena(), super.getNombre(), super.getApellido(), this.correo, this.fechaNacimiento, this.imagen, this.seguidores); } public void actualizarListasPorDefecto(){ @@ -124,6 +117,9 @@ public class Usuario extends Persona{ if(Usu == null){ throw new RuntimeException("El usuario no puede ser null"); } + if(Usu == this){ + throw new RuntimeException("Un usuario no se puede seguir a si mismo"); + } if (this.seguidos.containsKey(Usu.getNickname())){ this.seguidos.remove(Usu.getNickname()); @@ -134,7 +130,8 @@ public class Usuario extends Persona{ Usu.agregarOQuitarSeguidor(this); } - public void agregarOQuitarSeguidor(Usuario Usu){ + // si, esta si es private, no es un error + private void agregarOQuitarSeguidor(Usuario Usu){ if(Usu == null){ throw new RuntimeException("El usuario no puede ser null"); } @@ -161,7 +158,11 @@ public class Usuario extends Persona{ throw new RuntimeException("El usuario no puede ser null"); } - this.agregarVideoALista(idLista, idVideo, Usu); + Video v = Usu.obtenerVideo(idVideo); + if (v == null){ + throw new RuntimeException("El video no pertenece al usuario: " + Usu.getNickname()); + } + this.MiCanal.agregarVideoALista(idLista, v); } public ArrayList<DtComentario> listarComentariosDeVideo(int idVideo){ @@ -210,13 +211,16 @@ public class Usuario extends Persona{ if(DtUsu == null){ throw new RuntimeException("El usuario no puede ser null"); } + if(DtUsu.getFechaNacimiento() == null){ + throw new RuntimeException("La fecha 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(); + super.setNombre(DtUsu.getNombre()); + super.setApellido(DtUsu.getApellido()); + super.setContrasenia(DtUsu.getContrasenia()); this.fechaNacimiento = DtUsu.getFechaNacimiento(); this.imagen = DtUsu.getImagen(); @@ -227,7 +231,7 @@ public class Usuario extends Persona{ if(DtListaDeReproduccion == null){ throw new RuntimeException("La lista de reproduccion no puede ser null"); } - + this.MiCanal.modificarListaDeReproduccion(DtListaDeReproduccion); } @@ -255,8 +259,7 @@ public class Usuario extends Persona{ throw new RuntimeException("El nickname no puede ser vacio"); } - //return this.MiCanal.obtenerValoracion(id, nickname); - return null;//Esto se saca + return this.MiCanal.obtenerValoracion(id, nickname); } public Video obtenerVideo(int id){ @@ -293,6 +296,5 @@ public class Usuario extends Persona{ } return this.MiCanal.validarListaParticular(nombre); } - } diff --git a/UyTube_aplicacion/src/Logica/main.java b/UyTube_aplicacion/src/Logica/main.java index de8f76d100428b3752bf65550ffbb02c3431a96d..c0e6897f9591384f38b553b6272a94bc348e31b7 100644 --- a/UyTube_aplicacion/src/Logica/main.java +++ b/UyTube_aplicacion/src/Logica/main.java @@ -1,8 +1,49 @@ package Logica; +import Logica.Clases.Usuario; +import Logica.DataType.DtCanal; +import Logica.DataType.DtUsuario; +import Logica.Enumerados.Privacidad; +import java.sql.Date; +import java.util.ArrayList; + public class main { public static void main(String[] args) { + try { + Usuario u1 = new Usuario("nk1", "c1", new Date(0, 0, 0), "", "1234", "nom", "ape", + new DtCanal(0, "canal1", "", Privacidad.PRIVADO)); + Usuario u2 = new Usuario("nk2", "c2", new Date(0, 0, 0), "", "1234", "nom", "ape", + new DtCanal(0, "canal2", "", Privacidad.PRIVADO)); + Usuario u3 = new Usuario("nk3", "c3", new Date(0, 0, 0), "", "1234", "nom", "ape", + new DtCanal(0, "canal3", "", Privacidad.PRIVADO)); + Usuario u4 = new Usuario("nk4", "c4", new Date(0, 0, 0), "", "1234", "nom", "ape", + new DtCanal(0, "canal4", "", Privacidad.PRIVADO)); + + u1.agregarOQuitarSeguido(u2); + u1.agregarOQuitarSeguido(u3); + u1.agregarOQuitarSeguido(u4); + + u3.agregarOQuitarSeguido(u1); + + + ArrayList<DtUsuario> l1 = u3.listarUsuariosSeguidos(); + ArrayList<DtUsuario> l2 = u3.listarUsuariosSeguidores(); + + for (int i = 0; i < l1.size(); i++){ + System.out.println(l1.get(i).toString()); + } + + System.out.println("-------------------"); + + for (int i = 0; i < l2.size(); i++){ + System.out.println(l2.get(i).toString()); + } + + } catch (Exception e) { + System.out.println("-->>" + e); + } + }