Package fr.tse.fise2.pip.Database
Class Database
java.lang.Object
fr.tse.fise2.pip.Database.Database
public class Database
extends java.lang.Object
Classe permettant de creer des tables dans une Base De Donnees et d'effectuer
des requetes
- Author:
- Yammine Eric et Solane Alexandre
-
Constructor Summary
Constructors Constructor Description Database()
Methode permettant de construire 3 tables dans notre Base de Donnes avec leurs champs -
Method Summary
Modifier and Type Method Description void
addFavourites(java.lang.String search, Session session)
Methode permettant d'ajouter un favoris au compte lorsque l'utilisateur est connecte a ce comptevoid
addHobbies(java.lang.String nameToAdd, java.lang.String listHashtagsAndUsersToAdd, Session session)
Methode permettant d'ajouter un point d'interet a son compte connectevoid
changePassword(java.lang.String formerPassword, java.lang.String passwordToUpdate, Session session)
void
connect()
Methode permettant de se connecter au driver de HSQLDB afin de pouvoir creer une Base De Donnees (BDD) en localjava.util.ArrayList<java.lang.String>
displayFavourites(Session session)
Methode permettant de selectionner tous les favoris dans la table pour l'utilisateur connecte afin de les afficher sur l'onglet favorisjava.util.ArrayList<java.util.ArrayList<java.lang.String>>
displayHobbies(Session session)
Methode permettant de selectionner tous les points d'interets pour un utilisateur connecteboolean
isFavouritedBy(java.lang.String search, Session session)
Methode permettant de savoir si une recherche est deja un favorisboolean
isHobbyBy(java.lang.String nameToCheck, Session session)
Methode permettant de savoir si un point d'interet avec le nom rentre en paramtre existe dj pour l'utilisateur connectboolean
loginAccount(java.lang.String usernameToCheck, java.lang.String passwordToCheck, Session session)
Methode permettant de connecter un compte present dans la BDD si il existeboolean
registerAccount(java.lang.String username, java.lang.String password, java.lang.String answer)
Methode permettant d'enregistrer un utilisateur avec un mot de passe dans la table ACCOUNTPERSO qui n'existe pas dejavoid
removeAllHobbies(Session session)
Methode permettant de supprimer tous les points d'interets pour un utilisateur connectevoid
removeEntryFromAccount(java.lang.String username)
Methode permettant de supprimer un comptevoid
removeFavourites(java.lang.String search, Session session)
Methode permettant de supprimer un favoris de son compte lorsqu'on est connecte a celui-civoid
removeHobbies(java.lang.String nameToRemove, Session session)
Methode qui permet de supprimer un point d'interet a son compte connecteboolean
secretQuestion(java.lang.String usernameToCheck, java.lang.String answer)
Methode permettant d'apporter une reponse secrete afin de plus tard pouvoir changer son mot de passe sans le connaitre
-
Constructor Details
-
Database
public Database()Methode permettant de construire 3 tables dans notre Base de Donnes avec leurs champs
-
-
Method Details
-
connect
public void connect()Methode permettant de se connecter au driver de HSQLDB afin de pouvoir creer une Base De Donnees (BDD) en local -
loginAccount
public boolean loginAccount(java.lang.String usernameToCheck, java.lang.String passwordToCheck, Session session) throws UserNotExistException, IncorrectPasswordExceptionMethode permettant de connecter un compte present dans la BDD si il existe- Parameters:
usernameToCheck
- String du nom d'utilisateur envoye par l'utilisateur via l'interface graphiquepasswordToCheck
- String du mot de passe envoye par l'utilisateur via l'interface graphiquesession
- Session variable permettant de demarrer la variable des lors que l'uilisateur est connecte- Returns:
- loginAccount boolean true si la connexion a reussi, false sinon
- Throws:
UserNotExistException
- leve une exception si aucun utilisateur avec usernameToCheck n'a ete trouve dans la table AccountPerso en localIncorrectPasswordException
- leve une exception si le mot de passe passwordToCheck ne correspond pas au mot de passe enregistre pour l'utilisateur usernameToCheck en local
-
registerAccount
public boolean registerAccount(java.lang.String username, java.lang.String password, java.lang.String answer) throws UserAlreadyRegisteredExceptionMethode permettant d'enregistrer un utilisateur avec un mot de passe dans la table ACCOUNTPERSO qui n'existe pas deja- Parameters:
username
- String nom d'utilisateur avec lequel on souhaite s'inscrire a l'applicationpassword
- String mot de passe lie au nom d'utilisateur avec lequel on souhaite creer le compteanswer
- String reponse a la question secrete toujours la meme changement de demande de PO- Returns:
- registered boolean qui est false si l'inscription n'a pas pu aboutir et true si l'inscription est effective
- Throws:
UserAlreadyRegisteredException
- renvoie une exception si le nom d'utilisateur souhaite est deja utilise par un utilisateur de l'application en local
-
changePassword
public void changePassword(java.lang.String formerPassword, java.lang.String passwordToUpdate, Session session) throws IncorrectPasswordException- Parameters:
formerPassword
- String ancien mot passe afin de verifier l'authenticite de l'utilisateurpasswordToUpdate
- String nouveau mot de passse saisi par l'utilisateur a mettre a joursession
- Session permettant d'identifier un utilisateur connecte via son identifiant d'utilisateur- Throws:
IncorrectPasswordException
- Leve une exception si l'utilisateur entre un mot de passe incorrect pour son compte
-
secretQuestion
public boolean secretQuestion(java.lang.String usernameToCheck, java.lang.String answer)Methode permettant d'apporter une reponse secrete afin de plus tard pouvoir changer son mot de passe sans le connaitre- Parameters:
usernameToCheck
- String du nom d'utilisateur sur lequel on doit repondre a la question secreteanswer
- String reponse a la question secrete saisie par l'utilisateur- Returns:
- answerIsCorrect boolean true si la reponse a la question secrete est juste et false sinon
-
addFavourites
Methode permettant d'ajouter un favoris au compte lorsque l'utilisateur est connecte a ce compte- Parameters:
search
- String correspondant au favoris que l'on souhaite ajoute, soit un utilisateur @example, soit un hashtag #exemple ou soit un mot cle exemplesession
- Session permettant d'identifier un utilisateur connecte via son identifiant d'utilisateur
-
removeFavourites
Methode permettant de supprimer un favoris de son compte lorsqu'on est connecte a celui-ci- Parameters:
search
- String correspondant au favoris que l'on souhaite supprimersession
- Session permettant d'identifier un utilisateur connecte via son identifiant d'utilisateur
-
removeEntryFromAccount
public void removeEntryFromAccount(java.lang.String username)Methode permettant de supprimer un compte- Parameters:
username
- String correspondant au nom d'utilisateur du compte que l'on souhaite supprimer de l'application
-
isFavouritedBy
Methode permettant de savoir si une recherche est deja un favoris- Parameters:
search
- String la recherche dont on souhaite savoir si elle est deja un favoris pour le compte connectesession
- Session permettant d'identifier un utilisateur connecte via son identifiant d'utilisateur- Returns:
- favouriteIsAlreadyRegistered boolean false si la recherche n'est pas encore un favoris pour le compte connecte et true sinon
-
displayFavourites
Methode permettant de selectionner tous les favoris dans la table pour l'utilisateur connecte afin de les afficher sur l'onglet favoris- Parameters:
session
- Session permettant d'identifier un utilisateur connecte via son identifiant d'utilisateur- Returns:
- listFavourites renvoie une liste de string correspondant a l'ensemble des favoris de l'utilisateur connect
-
addHobbies
public void addHobbies(java.lang.String nameToAdd, java.lang.String listHashtagsAndUsersToAdd, Session session)Methode permettant d'ajouter un point d'interet a son compte connecte- Parameters:
nameToAdd
- String nom que l'on donne au point d'interet que l'on souhaite ajouterlistHashtagsAndUsersToAdd
- String compose d'un ou plusieurs hashtags, utilisateurs ou mots clefs et correspondant au favoris qu'on souhaite ajoutersession
- Session permettant d'identifier un utilisateur connecte via son identifiant d'utilisateur
-
removeHobbies
Methode qui permet de supprimer un point d'interet a son compte connecte- Parameters:
nameToRemove
- String nom que l'on donne au point d'interet que l'on souhaite supprimersession
- Session permettant d'identifier un utilisateur connecte via son identifiant d'utilisateur
-
removeAllHobbies
Methode permettant de supprimer tous les points d'interets pour un utilisateur connecte- Parameters:
session
- Session permettant d'identifier un utilisateur connecte via son identifiant d'utilisateur
-
isHobbyBy
Methode permettant de savoir si un point d'interet avec le nom rentre en paramtre existe dj pour l'utilisateur connect- Parameters:
nameToCheck
- String nom que l'on donne au point d'intrt dont on veut savoir si il existesession
- Session permettant d'identifier un utilisateur connect via son identifiant d'utilisateur- Returns:
- hobbyIsAlreadyRegistered boolean renvoyant true si un point d'intrt du mme nom est dj enregistr pour l'utilisateur connecter et false si aucun point d'intrt avec ce nom n'est enregistr avec ce compte
-
displayHobbies
Methode permettant de selectionner tous les points d'interets pour un utilisateur connecte- Parameters:
session
- Session permettant d'identifier un utilisateur connecte via son identifiant d'utilisateur- Returns:
- listHobbies correspond a la liste de liste des points d'interets(POI) pour un utilisateur connecte au format [ [nom du POI 1, POI 1], [nom du POI 2, POI 2] , ... , [ nom du dernier POI, dernier POI ] ]
-