From 70662b2dc59ecf0da6e45c6fd49336daf4e651be Mon Sep 17 00:00:00 2001 From: JotaJota96 <jjap96@gmail.com> Date: Tue, 17 Sep 2019 03:52:51 -0300 Subject: [PATCH] Se quitaron los static getNuevoID --- .../src/Logica/Clases/Administrador.java | 8 ------ .../src/Logica/Clases/Canal.java | 26 +++++++++---------- .../src/Logica/Clases/Comentario.java | 14 +++++----- .../Logica/Clases/ListaDeReproduccion.java | 11 ++++---- .../src/Logica/Clases/Usuario.java | 14 +++++++++- .../src/Logica/Clases/Video.java | 22 +++++++--------- 6 files changed, 47 insertions(+), 48 deletions(-) diff --git a/UyTube_aplicacion/src/Logica/Clases/Administrador.java b/UyTube_aplicacion/src/Logica/Clases/Administrador.java index 92b3b06..ba5036f 100644 --- a/UyTube_aplicacion/src/Logica/Clases/Administrador.java +++ b/UyTube_aplicacion/src/Logica/Clases/Administrador.java @@ -1,17 +1,13 @@ package Logica.Clases; import java.io.Serializable; -import javax.persistence.Column; import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Table; @Entity @Table(name="administrador") public class Administrador extends Persona implements Serializable{ - private static int contadorAdministrador = 1; @Id // No logre hacer que el id fuera auto-incremental, no se por que, probe de todo y no pude @@ -30,10 +26,6 @@ public class Administrador extends Persona implements Serializable{ this.id = id; } - public static int getNuevoID(){ - return contadorAdministrador++; - } - public int getIdAdmin() { return id; } diff --git a/UyTube_aplicacion/src/Logica/Clases/Canal.java b/UyTube_aplicacion/src/Logica/Clases/Canal.java index 8485ffc..b869778 100644 --- a/UyTube_aplicacion/src/Logica/Clases/Canal.java +++ b/UyTube_aplicacion/src/Logica/Clases/Canal.java @@ -16,17 +16,18 @@ import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.EnumType; import javax.persistence.Enumerated; +import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.JoinColumn; +import javax.persistence.MapKeyColumn; import javax.persistence.OneToMany; import javax.persistence.Table; @Entity @Table(name = "canal") public class Canal implements Serializable { - private static int contadorCanal = 1; @Id @GeneratedValue(strategy=GenerationType.IDENTITY) @@ -51,6 +52,9 @@ public class Canal implements Serializable { @JoinColumn(name = "id_canal") private Map<Integer, Video> misVideos; + @Column(name = "eliminado") + private boolean eliminado; + //------------------------------------------------------------------------------------- public Canal() { } @@ -67,6 +71,7 @@ public class Canal implements Serializable { this.misListas = new TreeMap(); this.misVideos = new TreeMap(); this.actualizarListasPorDefecto(listas); + this.eliminado = false; } public int getId() { @@ -109,10 +114,6 @@ public class Canal implements Serializable { this.privacidad = privacidad; } - public static int getNuevoId() { - return contadorCanal++; - } - //----------------------------------------------------------------------------- public void actualizarListasPorDefecto(ArrayList<String> listas) { // descarta las listas que ya estan agregadas @@ -123,8 +124,8 @@ public class Canal implements Serializable { } // agrega las que pasaron el filtro anterior for (String lista : listas) { - int nuevoID = ListaDeReproduccion.getNuevoId(); - this.misListas.put(nuevoID, new ListaDeReproduccion(nuevoID, lista, Privacidad.PRIVADO, TipoListaDeReproduccion.POR_DEFECTO, "UNDEFINED")); + ListaDeReproduccion nuevaLista = new ListaDeReproduccion(0, lista, Privacidad.PRIVADO, TipoListaDeReproduccion.POR_DEFECTO, "UNDEFINED"); + this.misListas.put(nuevaLista.getId(), nuevaLista); } } @@ -145,7 +146,6 @@ public class Canal implements Serializable { } public void agregarListaParticular(DtListaDeReproduccion listaReproduccion) { - int idLdr = ListaDeReproduccion.getNuevoId(); if (listaReproduccion == null){ throw new RuntimeException("La lista de reprodccion es null"); } @@ -167,12 +167,12 @@ public class Canal implements Serializable { } ListaDeReproduccion ldr = new ListaDeReproduccion( - idLdr, + 0, listaReproduccion.getNombre(), listaReproduccion.getPrivacidad(), listaReproduccion.getTipo(), listaReproduccion.getCategoria()); - this.misListas.put(idLdr, ldr); + this.misListas.put(ldr.getId(), ldr); } public void quitarValoracion(int idVideo, String nickname) { @@ -220,8 +220,8 @@ public class Canal implements Serializable { } } - int idVideo = Video.getNuevoId(); - Video vd = new Video(idVideo, + Video vd = new Video( + 0, video.getNombre(), video.getDescripcion(), video.getDuracion(), @@ -235,7 +235,7 @@ public class Canal implements Serializable { vd.setPrivacidad(Privacidad.PRIVADO); } - this.misVideos.put(idVideo, vd); + this.misVideos.put(vd.getId(), vd); } public void agregarVideoALista(int id, Video video) { diff --git a/UyTube_aplicacion/src/Logica/Clases/Comentario.java b/UyTube_aplicacion/src/Logica/Clases/Comentario.java index f1e297a..69680a8 100644 --- a/UyTube_aplicacion/src/Logica/Clases/Comentario.java +++ b/UyTube_aplicacion/src/Logica/Clases/Comentario.java @@ -9,6 +9,7 @@ import javax.persistence.Basic; import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; +import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; @@ -20,8 +21,7 @@ import javax.persistence.Table; @Entity @Table(name = "comentario") public class Comentario implements Serializable { - private static int contadorComentarios = 1; - + @Id @GeneratedValue(strategy=GenerationType.IDENTITY) @Column(name = "id") @@ -41,7 +41,9 @@ public class Comentario implements Serializable { @JoinColumn(name = "nick_usuario") private Usuario usr; - @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true) + @OneToMany(cascade = CascadeType.ALL, + orphanRemoval = true, + fetch = FetchType.LAZY) @JoinColumn(name = "id_com_padre") private List<Comentario> misComentario; @@ -64,10 +66,6 @@ public class Comentario implements Serializable { this.misComentario = new ArrayList(); } - public static int getNuevoID() { - return contadorComentarios++; - } - public int getId() { return id; } @@ -99,7 +97,7 @@ public class Comentario implements Serializable { throw new RuntimeException("Usuario No puede ser null"); } if (this.id == idComPadre) { - Comentario com = new Comentario(Comentario.getNuevoID(), + Comentario com = new Comentario(0, dtC.getFecha(), dtC.getTexto(), this.nivelSubComentario + 1, diff --git a/UyTube_aplicacion/src/Logica/Clases/ListaDeReproduccion.java b/UyTube_aplicacion/src/Logica/Clases/ListaDeReproduccion.java index 7c6f78f..295794f 100644 --- a/UyTube_aplicacion/src/Logica/Clases/ListaDeReproduccion.java +++ b/UyTube_aplicacion/src/Logica/Clases/ListaDeReproduccion.java @@ -13,18 +13,19 @@ import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.EnumType; import javax.persistence.Enumerated; +import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.JoinTable; import javax.persistence.ManyToMany; +import javax.persistence.MapKeyColumn; import javax.persistence.Table; @Entity @Table(name = "lista_de_reproduccion") public class ListaDeReproduccion implements Serializable { - private static int contadorListasDeReproduccion = 1; @Id @GeneratedValue(strategy=GenerationType.IDENTITY) @@ -51,6 +52,9 @@ public class ListaDeReproduccion implements Serializable { inverseJoinColumns = @JoinColumn(name = "id_video")) private Map<Integer, Video> misVideos; + @Column(name = "eliminado") + private boolean eliminado; + //----------------------------------------------------------------------------- public ListaDeReproduccion() { } @@ -74,12 +78,9 @@ public class ListaDeReproduccion implements Serializable { this.tipo = tipo; this.categoria = categoria; this.misVideos = new TreeMap(); + this.eliminado = false; } - public static int getNuevoId() { - return contadorListasDeReproduccion++; - } - public int getId() { return id; } diff --git a/UyTube_aplicacion/src/Logica/Clases/Usuario.java b/UyTube_aplicacion/src/Logica/Clases/Usuario.java index 0b0e54c..6610fee 100644 --- a/UyTube_aplicacion/src/Logica/Clases/Usuario.java +++ b/UyTube_aplicacion/src/Logica/Clases/Usuario.java @@ -8,9 +8,11 @@ import javax.persistence.Basic; import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; +import javax.persistence.FetchType; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.JoinTable; +import javax.persistence.MapKeyColumn; import javax.persistence.OneToMany; import javax.persistence.OneToOne; import javax.persistence.Table; @@ -35,6 +37,14 @@ public class Usuario extends Persona{ @Column(name = "seguidores") private int seguidores; + @Column(name = "eliminado") + private boolean eliminado; + + @Basic + @Column(name = "fecha_eliminado") + private Date fechaEliminado; + + @OneToOne(cascade = CascadeType.PERSIST) @JoinColumn(name = "id_canal") private Canal MiCanal; @@ -78,9 +88,11 @@ public class Usuario extends Persona{ this.fechaNacimiento = fechaNacimiento; this.imagen = imagen; this.seguidores = 0; - this.MiCanal = new Canal(Canal.getNuevoId(),DTC.getNombre(),DTC.getDescripcion(),DTC.getPrivacidad(), listas); + this.MiCanal = new Canal(0,DTC.getNombre(),DTC.getDescripcion(),DTC.getPrivacidad(), listas); this.misSeguidores = new TreeMap(); this.seguidos = new TreeMap(); + this.eliminado = false; + this.fechaEliminado = null; } public String getNickname() { diff --git a/UyTube_aplicacion/src/Logica/Clases/Video.java b/UyTube_aplicacion/src/Logica/Clases/Video.java index d06af75..a1fb7ed 100644 --- a/UyTube_aplicacion/src/Logica/Clases/Video.java +++ b/UyTube_aplicacion/src/Logica/Clases/Video.java @@ -17,17 +17,18 @@ import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.EnumType; import javax.persistence.Enumerated; +import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.JoinColumn; +import javax.persistence.MapKeyColumn; import javax.persistence.OneToMany; import javax.persistence.Table; @Entity @Table(name = "video") public class Video implements Serializable { - private static int idActual = 1; @Id @GeneratedValue(strategy=GenerationType.IDENTITY) @@ -75,15 +76,15 @@ public class Video implements Serializable { @JoinColumn(name = "id_video") private Map<Integer, Comentario> comentarios; + @Column(name = "eliminado") + private boolean eliminado; + //------------------------------------------------------------------------ public Video(){ } /********************** Constructor *********************/ public Video(int _id, String _nombre, String _descripcion,Time _duracion, Date _fechaPublicacion,String _urlVideoOriginal,String _categoria ){ - if (_id < 0) { - throw new RuntimeException("Error, el id del video es un negativo o cero."); - } if (_nombre == "") { throw new RuntimeException("Error, el nombre del video está vacÃo"); } @@ -108,7 +109,8 @@ public class Video implements Serializable { this.urlVideoOriginal = _urlVideoOriginal; this.categoria = _categoria; this.valoraciones = new ArrayList<Valoracion>(); - this.comentarios = new TreeMap<Integer, Comentario>(); + this.comentarios = new TreeMap<Integer, Comentario>(); + this.eliminado = false; } /** Agregar un nuevo comentario **/ @@ -120,9 +122,8 @@ public class Video implements Serializable { throw new RuntimeException("El usuario es null"); } - int nuevoId = Comentario.getNuevoID(); - Comentario nuevoComentario = new Comentario(nuevoId, dtComentario.getFecha(), dtComentario.getTexto(), 0, usuario); - comentarios.put(nuevoId, nuevoComentario); + Comentario nuevoComentario = new Comentario(0, dtComentario.getFecha(), dtComentario.getTexto(), 0, usuario); + comentarios.put(nuevoComentario.getId(), nuevoComentario); } /* Agregar un subcomentario a un comentario existente */ @@ -284,11 +285,6 @@ public class Video implements Serializable { } - public static int getNuevoId(){ - int nuevoId = idActual ++; - return nuevoId; - } - //============================ Get and Set ================================ public int getId() { return id; -- GitLab