Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
J
JavierBootcamp
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Javier Ferreira
JavierBootcamp
Commits
6ae65ded
Commit
6ae65ded
authored
Oct 29, 2021
by
Javier Ferreira
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Initial commit
parent
22b36884
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
483 additions
and
0 deletions
+483
-0
Dia5/Dashboard.java
+482
-0
TalentoHumano
+1
-0
No files found.
Dia5/Dashboard.java
0 → 100644
View file @
6ae65ded
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package
twitter
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.Objects
;
import
java.util.Scanner
;
/**
*
* @author user
*/
class
Tweet
{
private
Usuario
usuario
;
private
String
text
;
private
int
numeroRt
;
private
int
numeroFav
;
private
String
imageUrl
;
private
String
linkUrl
;
private
ArrayList
<
Reaccion
>
reacciones
;
private
ArrayList
<
Respuesta
>
respuestas
;
public
Tweet
(
Usuario
usuario
,
String
text
,
String
imageUrl
,
String
linkUrl
)
{
this
.
usuario
=
usuario
;
this
.
text
=
text
;
this
.
imageUrl
=
imageUrl
;
this
.
linkUrl
=
linkUrl
;
this
.
numeroFav
=
0
;
this
.
numeroRt
=
0
;
this
.
respuestas
=
new
ArrayList
<
Respuesta
>();
this
.
reacciones
=
new
ArrayList
<
Reaccion
>();
}
public
static
void
likear
(
Usuario
usuario
,
int
tweetId
){
BaseDeDatos
.
getTweetById
(
tweetId
).
addLike
(
usuario
);
}
public
void
addLike
(
Usuario
usuario
){
for
(
Reaccion
reaccion:
reacciones
){
if
(
reaccion
.
getUsuario
()==
usuario
){
System
.
out
.
println
(
"Ya diste like a esta publicacion"
);
return
;
}
}
this
.
reacciones
.
add
(
new
Reaccion
(
usuario
,
this
,
"LIKE"
));
this
.
numeroFav
++;
}
public
static
void
retweetear
(
Usuario
usuario
,
int
tweetId
){
BaseDeDatos
.
getTweetById
(
tweetId
).
addRt
(
usuario
);
}
public
void
addRt
(
Usuario
usuario
){
for
(
Reaccion
reaccion:
reacciones
){
if
(
reaccion
.
getUsuario
()==
usuario
){
System
.
out
.
println
(
"Ya diste rt a esta publicacion"
);
return
;
}
}
this
.
reacciones
.
add
(
new
Reaccion
(
usuario
,
this
,
"RT"
));
this
.
numeroRt
++;
}
public
static
void
responder
(
Usuario
usuario
,
int
tweetId
){
BaseDeDatos
.
getTweetById
(
tweetId
).
addRespuesta
(
usuario
);
}
public
void
addRespuesta
(
Usuario
usuario
){
respuestas
.
add
(
Respuesta
.
tweetear
(
usuario
,
this
));
}
public
static
void
tweetear
(
Usuario
user
){
Scanner
in
=
new
Scanner
(
System
.
in
);
String
text
;
String
imageUrl
=
null
;
String
linkUrl
=
null
;
String
choice
;
try
{
System
.
out
.
println
(
"Texto"
);
System
.
out
.
print
(
"-----> "
);
text
=
in
.
nextLine
();
System
.
out
.
print
(
"\nDesea agregar una imagen al tweet?(Y/N): "
);
choice
=
(
in
.
nextLine
()).
toLowerCase
();
if
(
choice
.
equals
(
"y"
)){
System
.
out
.
print
(
"\nURL De la Imagen: "
);
imageUrl
=
in
.
nextLine
();
}
System
.
out
.
print
(
"\nDesea agregar un link al tweet?(Y/N): "
);
choice
=
(
in
.
nextLine
()).
toLowerCase
();
if
(
choice
.
equals
(
"y"
)){
System
.
out
.
print
(
"\nURL: "
);
linkUrl
=
in
.
nextLine
();
}
BaseDeDatos
.
addTweet
(
new
Tweet
(
user
,
text
,
imageUrl
,
linkUrl
));
}
catch
(
Exception
e
){
System
.
out
.
println
(
"Error"
);
}
}
public
Usuario
getUsuario
()
{
return
usuario
;
}
public
String
getText
()
{
return
text
;
}
public
int
getNumeroRt
()
{
return
numeroRt
;
}
public
int
getNumeroFav
()
{
return
numeroFav
;
}
public
String
getImageUrl
()
{
return
imageUrl
;
}
public
String
getLinkUrl
()
{
return
linkUrl
;
}
public
ArrayList
<
Respuesta
>
getRespuestas
()
{
return
respuestas
;
}
}
//}
public
class
Dashboard
{
private
Usuario
usuario
;
public
Dashboard
(
Usuario
usuario
)
{
this
.
usuario
=
usuario
;
}
public
void
verUltimosTweets
(
int
limit
){
ArrayList
<
Tweet
>
tweets
=
BaseDeDatos
.
getTweets
();
ArrayList
<
Usuario
>
usuarios
=
this
.
usuario
.
seguimiento
.
getSeguidos
();
int
count
=
0
;
int
index
=
0
;
for
(
Tweet
tweet:
tweets
){
if
(
usuarios
.
contains
(
tweet
.
getUsuario
())
||
tweet
.
getUsuario
()==
this
.
usuario
){
System
.
out
.
print
(
"\n---------------------"
);
System
.
out
.
print
(
"\n\t*id: "
+
index
+
"\n\tAutor: "
+
tweet
.
getUsuario
().
getNombreUsuario
()+
"\n\tTexto: "
+
tweet
.
getText
());
System
.
out
.
print
(
"\n\tLikes: "
+
tweet
.
getNumeroFav
()+
"\tRts: "
+
tweet
.
getNumeroRt
());
if
(
tweet
.
getImageUrl
()!=
null
){
System
.
out
.
print
(
"\n\tImage: "
+
tweet
.
getImageUrl
());
}
if
(
tweet
.
getLinkUrl
()!=
null
){
System
.
out
.
print
(
"\n\tLink: "
+
tweet
.
getLinkUrl
());
}
if
(!
tweet
.
getRespuestas
().
isEmpty
()){
System
.
out
.
print
(
"\n\tRespuestas: "
);
for
(
Respuesta
respuesta:
tweet
.
getRespuestas
()){
System
.
out
.
print
(
"\n\t\t\t*Usuario: "
+
respuesta
.
getUsuario
().
getNombreUsuario
());
System
.
out
.
print
(
"\n\t\t\tText: "
+
respuesta
.
getText
());
if
(
respuesta
.
getImageUrl
()!=
null
){
System
.
out
.
print
(
"\n\t\t\tImage: "
+
respuesta
.
getImageUrl
());
}
if
(
respuesta
.
getLinkUrl
()!=
null
){
System
.
out
.
print
(
"\n\t\t\tLink: "
+
respuesta
.
getLinkUrl
());
}
}
}
count
++;
if
(
count
>
limit
){
return
;
}
}
System
.
out
.
println
(
"\n\n"
);
index
++;
}
}
}
public
class
Reaccion
{
private
Usuario
usuario
;
private
Tweet
tweet
;
private
String
tipoDeReaccion
;
public
Reaccion
(
Usuario
usuario
,
Tweet
tweet
,
String
tipoDeReaccion
)
{
this
.
usuario
=
usuario
;
this
.
tweet
=
tweet
;
this
.
tipoDeReaccion
=
tipoDeReaccion
;
}
public
Usuario
getUsuario
()
{
return
usuario
;
}
public
Tweet
getTweet
()
{
return
tweet
;
}
public
String
getTipoDeReaccion
()
{
return
tipoDeReaccion
;
}
}
class
ComentarioUrl
extends
Tweet
{
//Propiedades:
//linkUrl
}
class
reacciones
{
//Propiedades:
//Usuario
//Tweet
//tipoDeReaccion
}
public
class
BaseDeDatos
{
private
static
final
ArrayList
<
Usuario
>
usuarios
=
new
ArrayList
<
Usuario
>();
private
static
final
ArrayList
<
Tweet
>
tweets
=
new
ArrayList
<
Tweet
>();
public
static
void
addUsuario
(
Usuario
usuario
){
/*
* Agrega un usuario si este no existe.
* */
for
(
Usuario
user:
usuarios
){
if
(
user
.
getNombreUsuario
().
equals
(
usuario
.
getNombreUsuario
())){
System
.
out
.
println
(
"ESTE NOMBRE DE USUARIO YA ESTA REGISTRADO"
);
return
;
}
}
usuarios
.
add
(
usuario
);
}
public
static
ArrayList
<
Usuario
>
getUsuarios
(){
/*
* Obtiene todos los usuarios
*/
return
usuarios
;
}
public
static
Usuario
getUsuarioByUsername
(
String
username
){
/*
Obtiene un usuario por su username, si no existe retorna null
*/
for
(
Usuario
user:
usuarios
){
if
(
user
.
getNombreUsuario
().
equals
(
username
))
return
user
;
}
return
null
;
}
public
static
void
addTweet
(
Tweet
tweet
){
tweets
.
add
(
tweet
);
}
public
static
ArrayList
<
Tweet
>
getTweets
(){
return
tweets
;
}
public
static
Tweet
getTweetById
(
int
id
){
return
tweets
.
get
(
id
);
}
}
class
Usuario
{
private
String
nombreUsuario
;
private
String
contrasenha
;
private
String
correo
;
private
Date
fechaNacimiento
;
private
Date
fechaRegistro
;
private
String
fotoUrl
;
private
String
descripcion
;
public
Seguimiento
seguimiento
;
public
Dashboard
dashboard
;
public
Usuario
(
String
nombreUsuario
,
String
contrasenha
,
String
correo
,
Date
fechaNacimiento
,
Date
fechaRegistro
,
String
fotoUrl
,
String
descripcion
,
boolean
esVerficado
)
{
this
.
nombreUsuario
=
nombreUsuario
;
this
.
contrasenha
=
contrasenha
;
this
.
correo
=
correo
;
this
.
fechaNacimiento
=
fechaNacimiento
;
this
.
fechaRegistro
=
fechaRegistro
;
this
.
fotoUrl
=
fotoUrl
;
this
.
descripcion
=
descripcion
;
this
.
esVerficado
=
esVerficado
;
this
.
seguimiento
=
new
Seguimiento
(
this
);
this
.
dashboard
=
new
Dashboard
(
this
);
}
private
boolean
esVerficado
;
public
Usuario
(
String
nombreUsuario
,
String
contrasenha
,
String
correo
,
String
descripcion
)
{
this
.
nombreUsuario
=
nombreUsuario
;
this
.
contrasenha
=
contrasenha
;
this
.
correo
=
correo
;
this
.
descripcion
=
descripcion
;
this
.
seguimiento
=
new
Seguimiento
(
this
);
this
.
dashboard
=
new
Dashboard
(
this
);
}
public
static
Usuario
registarUsuario
(){
/*
* Funcion que crea un usuario y lo retorna para ser guardado.
* */
Scanner
in
=
new
Scanner
(
System
.
in
);
String
username
;
String
password
;
String
mail
;
String
fotoUrl
;
String
descripcion
;
try
{
System
.
out
.
print
(
"\nIngrese nombre de usuario: "
);
username
=
in
.
nextLine
();
System
.
out
.
print
(
"\nIngrese contrasenha: "
);
password
=
in
.
nextLine
();
System
.
out
.
print
(
"\nIngrese mail: "
);
mail
=
in
.
nextLine
();
System
.
out
.
print
(
"\nIngrese una descripcion: "
);
descripcion
=
in
.
nextLine
();
return
new
Usuario
(
username
,
password
,
mail
,
descripcion
);
}
catch
(
Exception
e
){
System
.
out
.
println
(
"Un error"
);
}
return
null
;
}
public
static
Usuario
iniciarSesion
(){
/*
Retorna usuario si las credenciales son correctas, null en caso contrario
*/
Scanner
in
=
new
Scanner
(
System
.
in
);
String
username
;
String
password
;
try
{
System
.
out
.
print
(
"\nIngrese su Nombre de Usuario: "
);
username
=
in
.
nextLine
();
System
.
out
.
print
(
"\nIngrese su Contrasenha: "
);
password
=
in
.
nextLine
();
Usuario
u
=
Objects
.
requireNonNull
(
BaseDeDatos
.
getUsuarioByUsername
(
username
));
if
(
u
.
getContrasenha
().
equals
(
password
)){
return
u
;
}
else
{
System
.
out
.
println
(
"Credenciales Incorrectas!"
);
return
null
;
}
}
catch
(
Exception
e
){
System
.
out
.
println
(
"Credenciales Incorrectas!"
);
}
return
null
;
}
public
String
getNombreUsuario
()
{
return
nombreUsuario
;
}
public
String
getContrasenha
()
{
return
contrasenha
;
}
public
String
getCorreo
()
{
return
correo
;
}
public
Date
getFechaNacimiento
()
{
return
fechaNacimiento
;
}
public
Date
getFechaRegistro
()
{
return
fechaRegistro
;
}
public
String
getFotoUrl
()
{
return
fotoUrl
;
}
public
String
getDescripcion
()
{
return
descripcion
;
}
public
boolean
isEsVerficado
()
{
return
esVerficado
;
}
}
//nombreUsuario
//Contrasena
//Correo
//fechaNacimiento
//fechaIngreso
//urlPhoto
//Descripcion
//isVerificado
//Métodos:
//Getter
//Setter
//}
class
Reacciones
{
Usuario
u
;
Tweet
t
;
public
void
Reacciones
(
Usuario
u
,
Tweet
t
){
this
.
u
=
u
;
this
.
t
=
t
;
}
}
// propiedades,tweet id, tweetId, tweettexto
//tweetTexto
//nroLikes
//Usuario u//Métodos:
//Getter
//Setter
//verComentario
//Class ComentarioImage extends Tweet{}
//Class Usuario{
public
class
Twitter
{
/**
* @param args the command line arguments
*/
public
static
void
main
(
String
[]
args
)
{
// TODO code application logic here
}
}
TalentoHumano
@
1fba0a8c
Subproject commit 1fba0a8c1071cb56ce3dbe926680d2b70beaa9cb
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment