Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * 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 Vista;
- import bd.BD;
- import java.util.ArrayList;
- import prop.*;
- import capaDomini.Usuaris.*;
- import java.io.IOException;
- /**
- *
- * @author oriol
- */
- public class CDomini {
- private Consulta c;
- private Graf g;
- private CtrlUsuaris u;
- private Relevancia r;
- private String username;
- private String password;
- private BD base;
- ArrayList<Aresta> aoriginal;
- ArrayList<Node> noriginal;
- /** <p><b>Pre:</b></p> Original es un graf correcte amb les rellevancies calculades
- * <p><b>Post:</b></p> retorna una copia identica de original
- */
- private Graf copy(Graf original) {
- Graf copia = new Graf();
- copia.setNumFinalNode(original.GetVNsize());
- copia.setArestes(original.GetVA());
- copia.setLadj(original.getladj());
- copia.setNumFinalAresta(original.GetVAsize());
- copia.setNodes(original.GetVN());
- return copia;
- }
- /** <p><b>Pre:</b></p> True
- * <p><b>Post:</b></p> Crea i inicialitza el control de domini
- */
- public CDomini() {
- c = new Consulta();
- base = new BD();
- g = base.load();
- u = new CtrlUsuaris();
- r = new Relevancia(g);
- // g = r.rel_cicle();
- aoriginal = new ArrayList<Aresta>(g.GetVA());
- noriginal = new ArrayList<Node>(g.GetVN());
- }
- /** <p><b>Pre:</b></p> True
- * <p><b>Post:</b></p> Retorna -1 si no és correcte, 1 si és usuari i 2 si es admin
- */
- public int login(String nomUsuari, String contrasenya) {
- username = nomUsuari;
- password = contrasenya;
- if (username.equals("admin") && password.equals("admin")) {
- base.CleanHist3();
- base.CleanHist2();
- base.CleanHist1();
- return 2;
- } else {
- int i;
- i = u.ExisteixUsuari_contrasenya(nomUsuari, contrasenya);
- if (i == 2) {
- base.CleanHist3();
- base.CleanHist2();
- base.CleanHist1();
- return 1;
- }
- return -1;
- }
- // return u.login(username, password); //retorna -1 si no es correcte, 1 si és usuari
- //i 2 si es admin
- }
- /** <p><b>Pre:</b></p> True
- * <p><b>Post:</b></p> Retorna una consulta
- */
- public ArrayList<String> consulta(String nomNode1, String tipusNode2, int numFiltre) {
- return c.consulta(g, nomNode1, tipusNode2, numFiltre); //Arreglar classe consulta
- } //(ho ha fet l'Erik, s'ha d'afegir)
- /** <p><b>Pre:</b></p> True
- * <p><b>Post:</b></p> Retorna el username de l'usuari propi
- */
- public String consultaUsuariPropi() {
- return username;
- }
- /** <p><b>Pre:</b></p> True
- * <p><b>Post:</b></p> Escriu el graf a la base de dades
- */
- public void desconexio() {
- ArrayList<Node> nodes2 = g.GetVN();
- ArrayList<Aresta> arestes2 = g.GetVA();
- base.Write(nodes2, arestes2);
- }
- /** <p><b>Pre:</b></p> True
- * <p><b>Post:</b></p> Modifica el nom de l'usuari propi
- */
- public Boolean modificarUsuariPropi(String nouNomUsuari) {
- int i;
- i = u.modificar_usuari(username, password, nouNomUsuari);
- if (i == 2) {
- username = nouNomUsuari;
- }
- u = new CtrlUsuaris();
- if (i == 2) {
- return true;
- }
- return false;
- }
- /** <p><b>Pre:</b></p> True
- * <p><b>Post:</b></p> Consulta la password de l'usuari propi
- */
- public String consultaPassword() {
- return password;
- }
- /** <p><b>Pre:</b></p> True
- * <p><b>Post:</b></p> Si existeix l'usuari propi modifica la password de l'usuari propi, sinó retorna false
- */
- public Boolean modificarPassword(String novaContrasenya) {
- int i;
- i = u.modificar_password(username, password, novaContrasenya);
- if (i == 2) {
- password = novaContrasenya;
- return true;
- }
- return false;
- }
- /** <p><b>Pre:</b></p> True
- * <p><b>Post:</b></p> Retorna una list amb tots els usuaris de la base de dades
- */
- public ArrayList<String> consultarTotsUsuaris() {
- return u.consultaUsuarisBD(); //UsuarisBD
- }
- /** <p><b>Pre:</b></p> True
- * <p><b>Post:</b></p> Si existeix l'usuari nomAntic, modifica el username d'aquest usuari, si no existeix, retorna false
- */
- public Boolean modificarNomUsuari(String nomAntic, String nomNou) {
- String contrasenya = u.consultar_password(nomAntic);
- int i = u.modificar_usuari(nomAntic, contrasenya, nomNou);
- if (i == 2) {
- return true;
- }
- return false;
- }
- /** <p><b>Pre:</b></p> True
- * <p><b>Post:</b></p> Consulta la password d'un usuari
- */
- public String consultarPasswordUsuari(String nomUsuari) {
- return u.consultar_password(nomUsuari);
- }
- /** <p><b>Pre:</b></p> True
- * <p><b>Post:</b></p> Si existeix l'usuari nomUsuari, modifica la password d'aquest usuari, si no existeix, retorna false
- */
- public Boolean modificarPasswordUsuari(String nomUsuari, String novaContrasenya) {
- String contrasenya = u.consultar_password(nomUsuari);
- int i = u.modificar_password(nomUsuari, contrasenya, novaContrasenya);
- if (i == 2) {
- return true;
- }
- return false;
- }
- /** <p><b>Pre:</b></p> True
- * <p><b>Post:</b></p> Si no existeix, crea un usuari, si ja existeix retorna false
- */
- public Boolean crearUsuari(String nomUsuari, String Contrasenya) {
- int i = u.GuardarUsuari(nomUsuari, Contrasenya);
- if (i == 0) {
- return true;
- }
- return false;
- }
- /** <p><b>Pre:</b></p> True
- * <p><b>Post:</b></p> Si existeix, esborra l'usuari, si no existeix retorna false
- */
- public Boolean esborrarUsuari(String nomUsuari) {
- String contrasenya = u.consultar_password(nomUsuari);
- int i = u.borrarUsuari(nomUsuari, contrasenya);
- if (i == 2) {
- return true;
- }
- return false;
- }
- /** <p><b>Pre:</b></p> True
- * <p><b>Post:</b></p> Retorna el resultat de la crida a la funció afegirNode de la classe Graf
- */
- public Boolean afegirNode(String nom, String tipus) {
- return g.afegirNode(tipus, nom);
- }
- /** <p><b>Pre:</b></p> True
- * <p><b>Post:</b></p> Retorna el resultat de la crida a la funció afegirAresta de la classe Graf
- */
- public Boolean afegirAresta(String nom1, String nom2) {
- return g.afegirAresta(nom1, nom2);
- }
- /** <p><b>Pre:</b></p> True
- * <p><b>Post:</b></p> Retorna el resultat de la crida a la funció eliminarNode de la classe Graf
- */
- public Boolean eliminarNode(String nomNode) {
- return g.eliminarNode(nomNode);
- }
- /** <p><b>Pre:</b></p> True
- * <p><b>Post:</b></p> Retorna el resultat de la crida a la funció eliminarAresta de la classe Graf
- */
- public Boolean eliminarAresta(String nom1, String nom2) {
- return g.eliminarAresta(nom1, nom2);
- }
- /** <p><b>Pre:</b></p> True
- * <p><b>Post:</b></p> Restaura el graf g al seu estat original i amb le relevancies calculades.
- */
- public void descartar() {
- g.setNodes(noriginal);
- g.setArestes(aoriginal);
- }
- public ArrayList<String> historial1() throws IOException {
- return base.ReadPrintHistorial();
- }
- public ArrayList<String> historial2() throws IOException {
- return base.ReadPrintHistorial2();
- }
- public ArrayList<String> historial3() throws IOException {
- return base.ReadPrintHistorial3();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement