-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
4ca467a
commit 19fa4f2
Showing
36 changed files
with
1,513 additions
and
0 deletions.
There are no files selected for viewing
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
#BlueJ class context | ||
comment0.target=Amistad | ||
comment0.text=\r\n\ En\ esta\ clase\ se\ mantienen\ los\ usuarios\r\n\ y\ se\ crea\ la\ relaci\u00F3n\ entre\ estos.\r\n\ \r\n\ @author\ Esteban\ Vergara\ Giraldo\r\n\ @author\ John\ Alejandro\ Gonzales\r\n\ @author\ Andres\ Julian\ Gil\ Nagles\r\n\ @version\ 2\r\n | ||
comment1.params=usuario1\ usuario2 | ||
comment1.target=Amistad(java.lang.String,\ java.lang.String) | ||
comment1.text=\r\n\ Constructor\r\n\ Se\ crea\ una\ amistad\ con\ los\ usuarios\ ingresados.\r\n\ @param\ usuario1\ Usuario\ que\ tiene\ amistad\ con\ usuario2\r\n\ @param\ usuario2\ El\ usuario\ amigo\ del\ usuario1\r\n | ||
comment2.params= | ||
comment2.target=java.lang.String\ getUsuario1() | ||
comment2.text=\r\n\ Se\ retorna\ el\ usuario\ que\ intent\u00F3\ crear\ la\ amistad\ inicialmente\r\n\ @return\ Uno\ de\ los\ usuarios\ de\ la\ amistad,\ quien\ envi\u00F3\ la\ solicitud\ hace\ tiempo\r\n | ||
comment3.params= | ||
comment3.target=java.lang.String\ getUsuario2() | ||
comment3.text=\r\n\ Se\ retorna\ el\ usuario\ objetivo\ de\ la\ amistad\ de\ usuario1\r\n\ @return\ El\ otro\ usuario\ de\ la\ amistad,\ quien\ acept\u00F3\ la\ solicitud\r\n | ||
numComments=4 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
|
||
/** | ||
* En esta clase se mantienen los usuarios | ||
* y se crea la relación entre estos. | ||
* | ||
* @author Esteban Vergara Giraldo | ||
* @author John Alejandro Gonzales | ||
* @author Andres Julian Gil Nagles | ||
* @version 2 | ||
*/ | ||
public class Amistad | ||
{ | ||
private String usuario1; | ||
private String usuario2; | ||
|
||
/** | ||
* Constructor | ||
* Se crea una amistad con los usuarios ingresados. | ||
* @param usuario1 Usuario que tiene amistad con usuario2 | ||
* @param usuario2 El usuario amigo del usuario1 | ||
*/ | ||
public Amistad(String usuario1, String usuario2) { | ||
this.usuario1 = usuario1; | ||
this.usuario2 = usuario2; | ||
} | ||
|
||
/** | ||
* Se retorna el usuario que intentó crear la amistad inicialmente | ||
* @return Uno de los usuarios de la amistad, quien envió la solicitud hace tiempo | ||
*/ | ||
public String getUsuario1() { | ||
return usuario1; | ||
} | ||
|
||
/** | ||
* Se retorna el usuario objetivo de la amistad de usuario1 | ||
* @return El otro usuario de la amistad, quien aceptó la solicitud | ||
*/ | ||
public String getUsuario2() { | ||
return usuario2; | ||
} | ||
} |
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
#BlueJ class context | ||
comment0.target=ColeccionAmistades | ||
comment0.text=\r\n\ En\ esta\ clase\ se\ maneja\ la\ colecci\u00F3n\ de\ todas\ las\ relaciones\ de\r\n\ amistad\ que\ hay\ entre\ los\ usuarios\ inscritos\ en\ la\ aplicaci\u00F3n.\r\n\ \r\n\ @author\ Esteban\ Vergara\ Giraldo\ \ \r\n\ @author\ John\ Alejandro\ Gonzales\r\n\ @author\ Andres\ Julian\ Gil\ Nagles\r\n\ @version\ 7\r\n | ||
comment1.params= | ||
comment1.target=ColeccionAmistades() | ||
comment1.text=\r\n\ Constructor,\r\n\ Se\ asigna\ memoria\ al\ nuevo\ ArrayList\ y\ se\ recuperan\ las\ amistades\ antiguas.\r\n | ||
comment2.params=amistad | ||
comment2.target=boolean\ agregarAmistad(Amistad) | ||
comment2.text=\r\n\ Se\ agrega\ una\ amistad.\ Se\ presume\ que\ ya\ se\ ha\ chequeado\ y\ no\ existe\r\n\ @param\ amistad\ Referencia\ a\ la\ nueva\ amistad\ que\ se\ trata\ de\ agregar\r\n\ @return\ true\ si\ se\ pudo\ agregar\ la\ amistad,\ false\ de\ lo\ contrario\r\n | ||
comment3.params=usuario1\ usuario2 | ||
comment3.target=boolean\ buscarAmistad(java.lang.String,\ java.lang.String) | ||
comment3.text=\r\n\ Se\ busca\ si\ la\ amistad\ ya\ existe\ en\ la\ colecci\u00F3n\ o\ no.\r\n\ @param\ usuario1\ Usuario\ que\ quiere\ ver\ si\ tiene\ amistad\ con\ usuario2\r\n\ @param\ usuario2\ El\ usuario\ objetivo\ del\ usuario1\r\n\ @return\ Si\ la\ amistad\ existe,\ se\ retorna\ true,\ de\ lo\ contrario\r\n\ se\ retorna\ false\r\n | ||
comment4.params=usuario | ||
comment4.target=java.util.ArrayList\ getAmistadesDeUnUsuario(java.lang.String) | ||
comment4.text=\r\n\ Se\ buscan\ todas\ las\ amistades\ de\ un\ usuario\r\n\ @param\ usuario\ El\ usuario\ objetivo\r\n\ @return\ Un\ arraylist\ con\ los\ nombres\ de\ sus\ amigos\r\n | ||
comment5.params=usuario | ||
comment5.target=void\ imprimirAmistades(java.lang.String) | ||
comment5.text=\r\n\ Para\ imprimir\ los\ usernames\ de\ los\ amigos\ de\ un\ usuario.\r\n\ @param\ usuario\ El\ usuario\ objetivo\r\n | ||
numComments=6 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,120 @@ | ||
import java.util.*; | ||
import java.io.*; | ||
/** | ||
* En esta clase se maneja la colección de todas las relaciones de | ||
* amistad que hay entre los usuarios inscritos en la aplicación. | ||
* | ||
* @author Esteban Vergara Giraldo | ||
* @author John Alejandro Gonzales | ||
* @author Andres Julian Gil Nagles | ||
* @version 7 | ||
*/ | ||
public class ColeccionAmistades | ||
{ | ||
/** | ||
* ArrayList donde se almacenan las referencias a los | ||
* pares de usuarios que se han hecho amigos | ||
*/ | ||
protected ArrayList<Amistad> amistades; | ||
|
||
/** | ||
* Constructor, | ||
* Se asigna memoria al nuevo ArrayList y se recuperan las amistades antiguas. | ||
*/ | ||
public ColeccionAmistades() throws FileNotFoundException,IOException { | ||
amistades = new ArrayList<>(); | ||
File amistadesFile = new File("amistadesFile.txt"); | ||
if(!amistadesFile.exists()){ amistadesFile.createNewFile();} | ||
Scanner scan = new Scanner(amistadesFile); | ||
while(scan.hasNextLine()) { | ||
String linea = scan.nextLine(); | ||
Scanner scannerLinea = new Scanner(linea); | ||
scannerLinea.useDelimiter(","); | ||
String usuario1 = scannerLinea.next(); | ||
String usuario2 = scannerLinea.next(); | ||
Amistad a = new Amistad(usuario1, usuario2); | ||
amistades.add(a); | ||
scannerLinea.close(); | ||
} | ||
scan.close(); | ||
} | ||
|
||
/** | ||
* Se agrega una amistad. Se presume que ya se ha chequeado y no existe | ||
* @param amistad Referencia a la nueva amistad que se trata de agregar | ||
* @return true si se pudo agregar la amistad, false de lo contrario | ||
*/ | ||
public boolean agregarAmistad(Amistad amistad) throws FileNotFoundException,IOException{ | ||
File archivo = new File("amistadesFile.txt"); | ||
PrintWriter out = new PrintWriter(new FileWriter(archivo, true)); | ||
out.println(amistad.getUsuario1()+","+amistad.getUsuario2()); | ||
out.close(); | ||
return amistades.add(amistad); | ||
} | ||
|
||
/** | ||
* Se busca si la amistad ya existe en la colección o no. | ||
* @param usuario1 Usuario que quiere ver si tiene amistad con usuario2 | ||
* @param usuario2 El usuario objetivo del usuario1 | ||
* @return Si la amistad existe, se retorna true, de lo contrario | ||
* se retorna false | ||
*/ | ||
public boolean buscarAmistad(String usuario1, String usuario2) { | ||
for(Amistad a: amistades) { | ||
if(a.getUsuario1().equals(usuario1) && a.getUsuario2().equals(usuario2)) { | ||
return true; | ||
} | ||
if(a.getUsuario1().equals(usuario2) && a.getUsuario2().equals(usuario1)) { | ||
return true; | ||
} | ||
} | ||
return false; | ||
} | ||
|
||
/** | ||
* Se buscan todas las amistades de un usuario | ||
* @param usuario El usuario objetivo | ||
* @return Un arraylist con los nombres de sus amigos | ||
*/ | ||
public ArrayList<String> getAmistadesDeUnUsuario(String usuario) { | ||
ArrayList<String> seleccionadas = new ArrayList<>(); | ||
for(Amistad a: amistades) { | ||
if(a.getUsuario1().equals(usuario)) { | ||
seleccionadas.add(a.getUsuario2()); | ||
} | ||
if(a.getUsuario2().equals(usuario)) { | ||
seleccionadas.add(a.getUsuario1()); | ||
} | ||
} | ||
return seleccionadas; | ||
} | ||
|
||
/** | ||
* Para imprimir los usernames de los amigos de un usuario. | ||
* @param usuario El usuario objetivo | ||
*/ | ||
public void imprimirAmistades(String usuario) { | ||
ArrayList<String> seleccionadas = new ArrayList<>(); | ||
for(Amistad a: amistades) { | ||
if(a.getUsuario1().equals(usuario)) { | ||
seleccionadas.add(a.getUsuario2()); | ||
} | ||
if(a.getUsuario2().equals(usuario)) { | ||
seleccionadas.add(a.getUsuario1()); | ||
} | ||
} | ||
if(seleccionadas.size() == 0){ | ||
System.out.println("\n" + "Aún no tienes amigos :(" + "\n"); | ||
System.out.println("¡Facebook es más divertido con amigos!,"); | ||
System.out.println("envíale a alguien una SOLICITUD DE AMISTAD (función 2)."); | ||
}else{ | ||
String conjugacion = " amigos!:"; | ||
if(seleccionadas.size() == 1){conjugacion = " amigo!:";} | ||
System.out.println(); | ||
System.out.println("¡Tienes " + seleccionadas.size() + conjugacion); | ||
for(String a: seleccionadas) { | ||
System.out.println("- " + a); | ||
} | ||
} | ||
} | ||
} |
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
#BlueJ class context | ||
comment0.target=ColeccionPublicaciones | ||
comment0.text=\r\n\ En\ esta\ clase\ se\ maneja\ la\ colecci\u00F3n\ de\ las\ publicaciones\r\n\ que\ han\ hecho\ todos\ los\ usuarios.\r\n\ \r\n\ @author\ Esteban\ Vergara\ Giraldo\r\n\ @author\ John\ Alejandro\ Gonzales\r\n\ @author\ Andres\ Julian\ Gil\ Nagles\r\n\ @version\ 7\r\n | ||
comment1.params= | ||
comment1.target=ColeccionPublicaciones() | ||
comment1.text=\r\n\ Constructor,\r\n\ Se\ asigna\ memoria\ al\ nuevo\ ArrayList\ y\ se\ recuperan\ las\ publicaciones\ antiguas.\r\n | ||
comment2.params=p | ||
comment2.target=boolean\ agregarPublicacion(Publicacion) | ||
comment2.text=\r\n\ Se\ agrega\ una\ publicaci\u00F3n.\ Aunque\ sean\ una\ nueva\ publicaci\u00F3n,\ puede\ \r\n\ tener\ el\ mismo\ contenido\ que\ alguna\ anterior\r\n\ @param\ p\ Referencia\ a\ la\ nueva\ publicaci\u00F3n\ que\ se\ trata\ de\ agregar\r\n\ @return\ true\ si\ se\ pudo\ agregar\ la\ publicaci\u00F3n,\ false\ de\ lo\ contrario\r\n | ||
comment3.params=usuario | ||
comment3.target=java.util.ArrayList\ getPublicacionesDeUnUsuario(java.lang.String) | ||
comment3.text=\r\n\ Se\ buscan\ las\ publicaciones\ del\ usuario\ ingresado\ (recientes\ primero)\r\n\ @param\ usuario\ Usuario\ al\ que\ se\ le\ buscan\ las\ publicaciones\r\n\ @return\ Retorna\ un\ ArrayList\ con\ todas\ las\ publicaciones\ que\ ha\ hecho\r\n\ comenzando\ con\ las\ recientes,\ puede\ estar\ vac\u00EDo\ si\ no\ ha\ hecho\ una\ a\u00FAn.\r\n | ||
comment4.params=usuario | ||
comment4.target=void\ imprimirPublicaciones(java.lang.String) | ||
comment4.text=\r\n\ Imprime\ las\ publicaciones\ del\ usuario\ ingresado\ (recientes\ primero).\r\n\ Imprime\ el\ ArrayList\ de\ todas\ las\ publicaciones\ que\ ha\ hecho\ comenzando\r\n\ con\ las\ recientes,\ es\ capaz\ de\ informar\ si\ no\ ha\ publicado\ nada\ a\u00FAn.\r\n\ @param\ usuario\ Usuario\ al\ que\ se\ le\ imprimir\u00E1n\ las\ publicaciones\r\n | ||
numComments=5 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,97 @@ | ||
import java.util.*; | ||
import java.io.*; | ||
/** | ||
* En esta clase se maneja la colección de las publicaciones | ||
* que han hecho todos los usuarios. | ||
* | ||
* @author Esteban Vergara Giraldo | ||
* @author John Alejandro Gonzales | ||
* @author Andres Julian Gil Nagles | ||
* @version 7 | ||
*/ | ||
public class ColeccionPublicaciones | ||
{ | ||
/** | ||
* ArrayList donde se almacenan las publicaciones hechas por todos los usuarios | ||
*/ | ||
protected ArrayList<Publicacion> publicaciones; | ||
|
||
/** | ||
* Constructor, | ||
* Se asigna memoria al nuevo ArrayList y se recuperan las publicaciones antiguas. | ||
*/ | ||
public ColeccionPublicaciones() throws FileNotFoundException,IOException{ | ||
publicaciones = new ArrayList<>(); | ||
File publicacionesFile = new File("publicacionesFile.txt"); | ||
if(!publicacionesFile.exists()){ publicacionesFile.createNewFile();} | ||
Scanner scan = new Scanner(publicacionesFile); | ||
while(scan.hasNextLine()) { | ||
String linea = scan.nextLine(); | ||
Scanner scannerLinea = new Scanner(linea); | ||
scannerLinea.useDelimiter("/"); | ||
String usuario = scannerLinea.next(); | ||
String texto = scannerLinea.next(); | ||
String fechaHora = scannerLinea.next(); | ||
Publicacion p = new Publicacion(usuario, texto, fechaHora); | ||
publicaciones.add(p); | ||
scannerLinea.close(); | ||
} | ||
scan.close(); | ||
} | ||
|
||
/** | ||
* Se agrega una publicación. Aunque sean una nueva publicación, puede | ||
* tener el mismo contenido que alguna anterior | ||
* @param p Referencia a la nueva publicación que se trata de agregar | ||
* @return true si se pudo agregar la publicación, false de lo contrario | ||
*/ | ||
public boolean agregarPublicacion(Publicacion p) throws IOException{ | ||
File archivo = new File("publicacionesFile.txt"); | ||
PrintWriter out = new PrintWriter(new FileWriter(archivo, true)); | ||
out.println(p.getUsuario()+"/"+p.getTexto()+"/"+p.getFechaHora()); | ||
out.close(); | ||
return publicaciones.add(p); | ||
} | ||
|
||
/** | ||
* Se buscan las publicaciones del usuario ingresado (recientes primero) | ||
* @param usuario Usuario al que se le buscan las publicaciones | ||
* @return Retorna un ArrayList con todas las publicaciones que ha hecho | ||
* comenzando con las recientes, puede estar vacío si no ha hecho una aún. | ||
*/ | ||
public ArrayList<Publicacion> getPublicacionesDeUnUsuario(String usuario) { | ||
ArrayList<Publicacion> seleccionadas = new ArrayList<>(); | ||
for(Publicacion p: publicaciones) { | ||
if(p.getUsuario().equals(usuario)) { | ||
seleccionadas.add(p); | ||
} | ||
} | ||
ArrayList<Publicacion> seleccionadasRecientes = new ArrayList<>(seleccionadas.size()); | ||
for(int i = seleccionadas.size(); i > 0 ; i-- ){ | ||
seleccionadasRecientes.add(seleccionadas.get(i-1)); | ||
} | ||
return seleccionadasRecientes; | ||
} | ||
|
||
/** | ||
* Imprime las publicaciones del usuario ingresado (recientes primero). | ||
* Imprime el ArrayList de todas las publicaciones que ha hecho comenzando | ||
* con las recientes, es capaz de informar si no ha publicado nada aún. | ||
* @param usuario Usuario al que se le imprimirán las publicaciones | ||
*/ | ||
public void imprimirPublicaciones(String usuario) { | ||
ArrayList<Publicacion> seleccionadas = getPublicacionesDeUnUsuario(usuario); | ||
if(seleccionadas.size() == 0){ | ||
System.out.println(usuario + " no ha publicado nada aún."); | ||
}else{ | ||
int i = 1; | ||
System.out.println("Las publicaciones de " + usuario + "(recientes primero): "); | ||
for(Publicacion p: seleccionadas) { | ||
System.out.println(); | ||
System.out.println(i + ". " + p.getFechaHora()); | ||
System.out.println(" - " + p.getTexto()); | ||
i++; | ||
} | ||
} | ||
} | ||
} |
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
#BlueJ class context | ||
comment0.target=ColeccionSolicitudes | ||
comment0.text=\r\n\ En\ esta\ clase\ se\ maneja\ la\ colecci\u00F3n\ de\ todas\ las\ solicitudes\ de\r\n\ amistad\ que\ hay\ entre\ los\ usuarios\ inscritos\ en\ la\ aplicaci\u00F3n.\r\n\ \r\n\ @author\ Esteban\ Vergara\ Giraldo\ \ \r\n\ @author\ John\ Alejandro\ Gonzales\r\n\ @author\ Andres\ Julian\ Gil\ Nagles\r\n\ @version\ 4\r\n | ||
comment1.params= | ||
comment1.target=ColeccionSolicitudes() | ||
comment1.text=\r\n\ Constructor,\r\n\ Se\ asigna\ memoria\ al\ nuevo\ ArrayList\ y\ se\ recuperan\ las\ solicitudes\ antiguas.\r\n | ||
comment2.params=solicitud | ||
comment2.target=boolean\ agregarSolicitud(Solicitud) | ||
comment2.text=\r\n\ Se\ agrega\ una\ solicitud.\ Se\ presume\ que\ ya\ se\ ha\ chequeado\ y\ no\ existe\r\n\ @param\ solicitud\ Referencia\ a\ la\ nueva\ solicitud\ que\ se\ trata\ de\ agregar\r\n\ @return\ true\ si\ se\ pudo\ agregar\ la\ solicitud,\ false\ de\ lo\ contrario\r\n | ||
comment3.params=usuario1\ usuario2 | ||
comment3.target=boolean\ buscarSolicitud(java.lang.String,\ java.lang.String) | ||
comment3.text=\r\n\ Se\ busca\ si\ la\ solicitud\ ya\ existe\ en\ la\ colecci\u00F3n\ o\ no.\r\n\ @param\ usuario1\ Usuario\ que\ quiere\ ver\ si\ tiene\ solicitud\ con\ usuario2\r\n\ @param\ usuario2\ El\ usuario\ objetivo\ del\ usuario1\r\n\ @return\ Si\ la\ solicitud\ existe,\ se\ retorna\ true,\ de\ lo\ contrario\r\n\ se\ retorna\ false\r\n | ||
comment4.params=usuario\ amistades | ||
comment4.target=void\ imprimirSolicitudes(java.lang.String,\ java.util.ArrayList) | ||
comment4.text=\r\n\ Para\ imprimir\ los\ usernames\ de\ los\ que\ le\ han\ enviado\ una\ solicitud\r\n\ de\ amistad\ a\ un\ usuario\ en\ espec\u00EDfico.\r\n\ @param\ usuario\ El\ usuario\ objetivo\ a\ quien\ le\ han\ mandado\ las\ solicitudes\r\n\ @param\ amistades\ Un\ Arraylist\ con\ los\ usernames\ de\ los\ que\ ya\ son\ sus\ amigos\r\n | ||
numComments=5 |
Oops, something went wrong.