Advertisement
Guest User

CDomini

a guest
Jun 1st, 2016
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 8.15 KB | None | 0 0
  1. /*
  2.  * To change this license header, choose License Headers in Project Properties.
  3.  * To change this template file, choose Tools | Templates
  4.  * and open the template in the editor.
  5.  */
  6. package Vista;
  7.  
  8. import bd.BD;
  9. import java.util.ArrayList;
  10. import prop.*;
  11. import capaDomini.Usuaris.*;
  12. import java.io.IOException;
  13.  
  14. /**
  15.  *
  16.  * @author oriol
  17.  */
  18. public class CDomini {
  19.  
  20.     private Consulta c;
  21.     private Graf g;
  22.     private CtrlUsuaris u;
  23.     private Relevancia r;
  24.     private String username;
  25.     private String password;
  26.     private BD base;
  27.     ArrayList<Aresta> aoriginal;
  28.     ArrayList<Node> noriginal;
  29.  
  30.     /** <p><b>Pre:</b></p> Original es un graf correcte amb les rellevancies calculades
  31.      *  <p><b>Post:</b></p> retorna una copia identica de original
  32.      */
  33.     private Graf copy(Graf original) {
  34.         Graf copia = new Graf();
  35.         copia.setNumFinalNode(original.GetVNsize());
  36.         copia.setArestes(original.GetVA());
  37.         copia.setLadj(original.getladj());
  38.         copia.setNumFinalAresta(original.GetVAsize());
  39.         copia.setNodes(original.GetVN());
  40.         return copia;
  41.  
  42.     }
  43.  
  44.     /** <p><b>Pre:</b></p> True
  45.      *  <p><b>Post:</b></p> Crea i inicialitza el control de domini
  46.      */
  47.     public CDomini() {
  48.         c = new Consulta();
  49.         base = new BD();
  50.         g = base.load();
  51.         u = new CtrlUsuaris();
  52.         r = new Relevancia(g);
  53.        // g = r.rel_cicle();
  54.         aoriginal = new ArrayList<Aresta>(g.GetVA());
  55.         noriginal = new ArrayList<Node>(g.GetVN());
  56.  
  57.     }
  58.  
  59.     /** <p><b>Pre:</b></p> True
  60.      *  <p><b>Post:</b></p> Retorna -1 si no és correcte, 1 si és usuari i 2 si es admin
  61.      */
  62.     public int login(String nomUsuari, String contrasenya) {
  63.        
  64.        
  65.         username = nomUsuari;
  66.         password = contrasenya;
  67.         if (username.equals("admin") && password.equals("admin")) {
  68.             c.setnNum(0);
  69.             base.CleanHist3();
  70.             base.CleanHist2();
  71.             base.CleanHist1();
  72.             return 2;
  73.            
  74.         } else {
  75.             int i;
  76.  
  77.             i = u.ExisteixUsuari_contrasenya(nomUsuari, contrasenya);
  78.             if (i == 2) {
  79.             c.setnNum(0);
  80.             base.CleanHist3();
  81.             base.CleanHist2();
  82.             base.CleanHist1();
  83.                 return 1;
  84.             }
  85.             return -1;
  86.         }
  87.         //  return u.login(username, password); //retorna -1 si no es correcte, 1 si és usuari
  88.         //i 2 si es admin
  89.     }
  90.  
  91.      /** <p><b>Pre:</b></p> True
  92.      *  <p><b>Post:</b></p> Retorna una consulta
  93.      */
  94.     public ArrayList<String> consulta(String nomNode1, String tipusNode2, int numFiltre) {
  95.        
  96.         return c.consulta(g, nomNode1, tipusNode2, numFiltre);  //Arreglar classe consulta
  97.     }                                                        //(ho ha fet l'Erik, s'ha d'afegir)
  98.  
  99.     /** <p><b>Pre:</b></p> True
  100.      *  <p><b>Post:</b></p> Retorna el username de l'usuari propi
  101.      */    
  102.     public String consultaUsuariPropi() {
  103.         return username;
  104.     }
  105.  
  106.     /** <p><b>Pre:</b></p> True
  107.      *  <p><b>Post:</b></p> Escriu el graf a la base de dades
  108.      */
  109.     public void desconexio() {
  110.  
  111.         ArrayList<Node> nodes2 = g.GetVN();
  112.         ArrayList<Aresta> arestes2 = g.GetVA();
  113.         base.Write(nodes2, arestes2);
  114.  
  115.     }
  116.  
  117.     /** <p><b>Pre:</b></p> True
  118.      *  <p><b>Post:</b></p> Modifica el nom de l'usuari propi
  119.      */
  120.     public Boolean modificarUsuariPropi(String nouNomUsuari) {
  121.         int i;
  122.         i = u.modificar_usuari(username, password, nouNomUsuari);
  123.         if (i == 2) {
  124.             username = nouNomUsuari;
  125.         }
  126.         u = new CtrlUsuaris();
  127.         if (i == 2) {
  128.             return true;
  129.         }
  130.         return false;
  131.     }
  132.  
  133.     /** <p><b>Pre:</b></p> True
  134.      *  <p><b>Post:</b></p> Consulta la password de l'usuari propi
  135.      */
  136.     public String consultaPassword() {
  137.         return password;
  138.     }
  139.  
  140.      /** <p><b>Pre:</b></p> True
  141.      *  <p><b>Post:</b></p> Si existeix l'usuari propi modifica la password de l'usuari propi, sinó retorna false
  142.      */
  143.     public Boolean modificarPassword(String novaContrasenya) {
  144.         int i;
  145.  
  146.         i = u.modificar_password(username, password, novaContrasenya);
  147.         if (i == 2) {
  148.             password = novaContrasenya;
  149.             return true;
  150.         }
  151.         return false;
  152.     }
  153.  
  154.      
  155.     /** <p><b>Pre:</b></p> True
  156.      *  <p><b>Post:</b></p> Retorna una list amb tots els usuaris de la base de dades
  157.      */
  158.     public ArrayList<String> consultarTotsUsuaris() {
  159.         return u.consultaUsuarisBD(); //UsuarisBD
  160.     }
  161.  
  162.     /** <p><b>Pre:</b></p> True
  163.      *  <p><b>Post:</b></p> Si existeix l'usuari nomAntic, modifica el username d'aquest usuari, si no existeix, retorna false
  164.      */
  165.     public Boolean modificarNomUsuari(String nomAntic, String nomNou) {
  166.         String contrasenya = u.consultar_password(nomAntic);
  167.         int i = u.modificar_usuari(nomAntic, contrasenya, nomNou);
  168.         if (i == 2) {
  169.             return true;
  170.         }
  171.         return false;
  172.     }
  173.  
  174.     /** <p><b>Pre:</b></p> True
  175.      *  <p><b>Post:</b></p> Consulta la password d'un usuari
  176.      */
  177.     public String consultarPasswordUsuari(String nomUsuari) {
  178.         return u.consultar_password(nomUsuari);
  179.     }
  180.  
  181.     /** <p><b>Pre:</b></p> True
  182.      *  <p><b>Post:</b></p> Si existeix l'usuari nomUsuari, modifica la password d'aquest usuari, si no existeix, retorna false
  183.      */
  184.     public Boolean modificarPasswordUsuari(String nomUsuari, String novaContrasenya) {
  185.         String contrasenya = u.consultar_password(nomUsuari);
  186.         int i = u.modificar_password(nomUsuari, contrasenya, novaContrasenya);
  187.         if (i == 2) {
  188.             return true;
  189.         }
  190.         return false;
  191.     }
  192.  
  193.     /** <p><b>Pre:</b></p> True
  194.      *  <p><b>Post:</b></p> Si no existeix, crea un usuari, si ja existeix retorna false
  195.      */
  196.     public Boolean crearUsuari(String nomUsuari, String Contrasenya) {
  197.  
  198.         int i = u.GuardarUsuari(nomUsuari, Contrasenya);
  199.         if (i == 0) {
  200.             return true;
  201.         }
  202.         return false;
  203.     }
  204.  
  205.     /** <p><b>Pre:</b></p> True
  206.      *  <p><b>Post:</b></p> Si existeix, esborra l'usuari, si no existeix retorna false
  207.      */
  208.     public Boolean esborrarUsuari(String nomUsuari) {
  209.         String contrasenya = u.consultar_password(nomUsuari);
  210.  
  211.         int i = u.borrarUsuari(nomUsuari, contrasenya);
  212.         if (i == 2) {
  213.             return true;
  214.         }
  215.         return false;
  216.     }
  217.  
  218.     /** <p><b>Pre:</b></p> True
  219.      *  <p><b>Post:</b></p> Retorna el resultat de la crida a la funció afegirNode de la classe Graf
  220.      */
  221.     public Boolean afegirNode(String nom, String tipus) {
  222.        
  223.         return g.afegirNode(tipus, nom);
  224.     }
  225.  
  226.     /** <p><b>Pre:</b></p> True
  227.      *  <p><b>Post:</b></p> Retorna el resultat de la crida a la funció afegirAresta de la classe Graf
  228.      */
  229.     public Boolean afegirAresta(String nom1, String nom2) {
  230.         return g.afegirAresta(nom1, nom2);
  231.     }
  232.  
  233.      /** <p><b>Pre:</b></p> True
  234.      *  <p><b>Post:</b></p> Retorna el resultat de la crida a la funció eliminarNode de la classe Graf
  235.      */
  236.     public Boolean eliminarNode(String nomNode) {
  237.         return g.eliminarNode(nomNode);
  238.     }
  239.  
  240.      /** <p><b>Pre:</b></p> True
  241.      *  <p><b>Post:</b></p> Retorna el resultat de la crida a la funció eliminarAresta de la classe Graf
  242.      */
  243.     public Boolean eliminarAresta(String nom1, String nom2) {
  244.         return g.eliminarAresta(nom1, nom2);
  245.     }
  246.  
  247.      /** <p><b>Pre:</b></p> True
  248.      *  <p><b>Post:</b></p> Restaura el graf g al seu estat original i amb le relevancies calculades.
  249.      */
  250.     public void descartar() {
  251.         g.setNodes(noriginal);
  252.         g.setArestes(aoriginal);
  253.  
  254.     }
  255.    
  256.     public ArrayList<String> historial1() throws IOException {
  257.         return base.ReadPrintHistorial();
  258.     }
  259.     public ArrayList<String> historial2() throws IOException {
  260.         return base.ReadPrintHistorial2();
  261.     }
  262.    
  263.     public ArrayList<String> historial3() throws IOException {
  264.         return base.ReadPrintHistorial3();
  265.     }
  266.  
  267. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement