diff --git a/UyTube_aplicacion/src/Logica/Clases/Comentario.java b/UyTube_aplicacion/src/Logica/Clases/Comentario.java index a56559ee3f8165c9db6831d13f5635860f5f27f4..b9bbf4baf7a8c89c8198ca35b586ba6152f0553d 100644 --- a/UyTube_aplicacion/src/Logica/Clases/Comentario.java +++ b/UyTube_aplicacion/src/Logica/Clases/Comentario.java @@ -5,29 +5,40 @@ import java.sql.Date; import java.util.ArrayList; public class Comentario { + private static int contadorComentarios = 1; - + private int id; private Date fecha; private String texto; private int nivelSubComentario; private Usuario usr; + private ArrayList<Comentario> misComentario; public Comentario() { + this.id = Comentario.getNuevoID(); + this.misComentario = new ArrayList(); } - + public Comentario(int id, Date fecha, String texto, int nivelSubComentario, Usuario usr) { + if(usr==null){ + throw new RuntimeException("Usuario No puede ser null"); + } + if(fecha==null){ + throw new RuntimeException("Date No puede ser null"); + } this.id = id; this.fecha = fecha; this.texto = texto; this.nivelSubComentario = nivelSubComentario; this.usr = usr; + this.misComentario = new ArrayList(); } - public static int getNuevoID(){ + public static int getNuevoID() { return contadorComentarios++; } - + public int getId() { return id; } @@ -41,6 +52,9 @@ public class Comentario { } public void setFecha(Date fecha) { + if(fecha==null){ + throw new RuntimeException("Fecha No puede ser null"); + } this.fecha = fecha; } @@ -64,23 +78,49 @@ public class Comentario { return usr; } - public void setUsr(Usuario usr) { - this.usr = usr; + @Override + public String toString() { + return "Comentario{" + "id=" + id + ", fecha=" + fecha + ", texto=" + texto + ", nivelSubComentario=" + nivelSubComentario + '}'; } - - - public boolean agregarSubComentario(int idComPadre, DtComentario dtC, Usuario usr){ - return true; + + public boolean agregarSubComentario(int idComPadre, DtComentario dtC, Usuario usr) { + if(dtC==null){ + throw new RuntimeException("DtComentario No puede ser null"); + } + if(usr==null){ + throw new RuntimeException("Usuario No puede ser null"); + } + if (this.id == idComPadre) { + Comentario com = new Comentario(Comentario.getNuevoID(), + dtC.getFecha(), + dtC.getTexto(), + this.nivelSubComentario + 1, + usr); + this.misComentario.add(com); + return true; + } else { + + for (int i = 0; i < misComentario.size(); i++) { + if (this.misComentario.get(i).agregarSubComentario(idComPadre, dtC, usr)) { + return true; + } + } + return false; + } } - - public DtComentario getDT(){ + + public DtComentario getDT() { DtComentario dtC = new DtComentario(this.id, this.usr.getNickname(), this.fecha, this.texto, this.nivelSubComentario); return dtC; } - - public ArrayList<DtComentario> listarSubComentarios(){ - return new ArrayList(); + + public ArrayList<DtComentario> listarSubComentarios() { + ArrayList lsc = new ArrayList(); + + for (int i = 0; i < this.misComentario.size(); i++) { + lsc.add(this.misComentario.get(i).getDT()); + lsc.addAll(this.misComentario.get(i).listarSubComentarios()); + } + return lsc; } - - } diff --git a/UyTube_aplicacion/src/Logica/Clases/Valoracion.java b/UyTube_aplicacion/src/Logica/Clases/Valoracion.java index e511619cef21a21626af0bcd221b6dd1e09762b0..986aaa69392ce44313a4bb6a4396da6c209fbabc 100644 --- a/UyTube_aplicacion/src/Logica/Clases/Valoracion.java +++ b/UyTube_aplicacion/src/Logica/Clases/Valoracion.java @@ -11,6 +11,9 @@ public class Valoracion { } public Valoracion(TipoValoracion val, Usuario usr) { + if(usr==null){ + throw new RuntimeException("Usuario No puede ser null"); + } this.val = val; this.usr = usr; } @@ -26,16 +29,15 @@ public class Valoracion { public Usuario getUsr() { return usr; } - - public void setUsr(Usuario usr) { - this.usr = usr; - } - private DtValoracion getDT(){ + public DtValoracion getDT(){ DtValoracion dtV = new DtValoracion(this.val, this.usr.getNickname()); return dtV; } - private DtValoracion getDT(String nickname){ + public DtValoracion getDT(String nickname){ + if(nickname==null){ + throw new RuntimeException("Nickname No puede ser null"); + } // si esta valoracion corresponde al usuario, devuelve su DT, sino null if (nickname.equals(this.usr.getNickname())){ return this.getDT(); @@ -43,7 +45,13 @@ public class Valoracion { return null; } } - private boolean modificar(DtValoracion dtV, String nickname){ + public boolean modificar(DtValoracion dtV, String nickname){ + if(dtV==null){ + throw new RuntimeException("DtValoracion No puede ser null"); + } + if(nickname==null){ + throw new RuntimeException("Nickname No puede ser null"); + } if (nickname.equals(this.usr.getNickname())){ this.val = dtV.getVal(); return true; diff --git a/UyTube_aplicacion/src/Logica/main.java b/UyTube_aplicacion/src/Logica/main.java index 911451d24179437d75744a97dd1faf6ef6df0897..70c1d8fb41879efa7e96e202456c290dd90bcf8f 100644 --- a/UyTube_aplicacion/src/Logica/main.java +++ b/UyTube_aplicacion/src/Logica/main.java @@ -4,6 +4,6 @@ import Logica.*; public class main { public static void main(String[] args) { - + } }