Advertisement
Guest User

CDomini

a guest
Jun 1st, 2016
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.10 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. base.CleanHist3();
  69. base.CleanHist2();
  70. base.CleanHist1();
  71. return 2;
  72.  
  73. } else {
  74. int i;
  75.  
  76. i = u.ExisteixUsuari_contrasenya(nomUsuari, contrasenya);
  77. if (i == 2) {
  78. base.CleanHist3();
  79. base.CleanHist2();
  80. base.CleanHist1();
  81. return 1;
  82. }
  83. return -1;
  84. }
  85. // return u.login(username, password); //retorna -1 si no es correcte, 1 si és usuari
  86. //i 2 si es admin
  87. }
  88.  
  89. /** <p><b>Pre:</b></p> True
  90. * <p><b>Post:</b></p> Retorna una consulta
  91. */
  92. public ArrayList<String> consulta(String nomNode1, String tipusNode2, int numFiltre) {
  93.  
  94. return c.consulta(g, nomNode1, tipusNode2, numFiltre); //Arreglar classe consulta
  95. } //(ho ha fet l'Erik, s'ha d'afegir)
  96.  
  97. /** <p><b>Pre:</b></p> True
  98. * <p><b>Post:</b></p> Retorna el username de l'usuari propi
  99. */
  100. public String consultaUsuariPropi() {
  101. return username;
  102. }
  103.  
  104. /** <p><b>Pre:</b></p> True
  105. * <p><b>Post:</b></p> Escriu el graf a la base de dades
  106. */
  107. public void desconexio() {
  108.  
  109. ArrayList<Node> nodes2 = g.GetVN();
  110. ArrayList<Aresta> arestes2 = g.GetVA();
  111. base.Write(nodes2, arestes2);
  112.  
  113. }
  114.  
  115. /** <p><b>Pre:</b></p> True
  116. * <p><b>Post:</b></p> Modifica el nom de l'usuari propi
  117. */
  118. public Boolean modificarUsuariPropi(String nouNomUsuari) {
  119. int i;
  120. i = u.modificar_usuari(username, password, nouNomUsuari);
  121. if (i == 2) {
  122. username = nouNomUsuari;
  123. }
  124. u = new CtrlUsuaris();
  125. if (i == 2) {
  126. return true;
  127. }
  128. return false;
  129. }
  130.  
  131. /** <p><b>Pre:</b></p> True
  132. * <p><b>Post:</b></p> Consulta la password de l'usuari propi
  133. */
  134. public String consultaPassword() {
  135. return password;
  136. }
  137.  
  138. /** <p><b>Pre:</b></p> True
  139. * <p><b>Post:</b></p> Si existeix l'usuari propi modifica la password de l'usuari propi, sinó retorna false
  140. */
  141. public Boolean modificarPassword(String novaContrasenya) {
  142. int i;
  143.  
  144. i = u.modificar_password(username, password, novaContrasenya);
  145. if (i == 2) {
  146. password = novaContrasenya;
  147. return true;
  148. }
  149. return false;
  150. }
  151.  
  152.  
  153. /** <p><b>Pre:</b></p> True
  154. * <p><b>Post:</b></p> Retorna una list amb tots els usuaris de la base de dades
  155. */
  156. public ArrayList<String> consultarTotsUsuaris() {
  157. return u.consultaUsuarisBD(); //UsuarisBD
  158. }
  159.  
  160. /** <p><b>Pre:</b></p> True
  161. * <p><b>Post:</b></p> Si existeix l'usuari nomAntic, modifica el username d'aquest usuari, si no existeix, retorna false
  162. */
  163. public Boolean modificarNomUsuari(String nomAntic, String nomNou) {
  164. String contrasenya = u.consultar_password(nomAntic);
  165. int i = u.modificar_usuari(nomAntic, contrasenya, nomNou);
  166. if (i == 2) {
  167. return true;
  168. }
  169. return false;
  170. }
  171.  
  172. /** <p><b>Pre:</b></p> True
  173. * <p><b>Post:</b></p> Consulta la password d'un usuari
  174. */
  175. public String consultarPasswordUsuari(String nomUsuari) {
  176. return u.consultar_password(nomUsuari);
  177. }
  178.  
  179. /** <p><b>Pre:</b></p> True
  180. * <p><b>Post:</b></p> Si existeix l'usuari nomUsuari, modifica la password d'aquest usuari, si no existeix, retorna false
  181. */
  182. public Boolean modificarPasswordUsuari(String nomUsuari, String novaContrasenya) {
  183. String contrasenya = u.consultar_password(nomUsuari);
  184. int i = u.modificar_password(nomUsuari, contrasenya, novaContrasenya);
  185. if (i == 2) {
  186. return true;
  187. }
  188. return false;
  189. }
  190.  
  191. /** <p><b>Pre:</b></p> True
  192. * <p><b>Post:</b></p> Si no existeix, crea un usuari, si ja existeix retorna false
  193. */
  194. public Boolean crearUsuari(String nomUsuari, String Contrasenya) {
  195.  
  196. int i = u.GuardarUsuari(nomUsuari, Contrasenya);
  197. if (i == 0) {
  198. return true;
  199. }
  200. return false;
  201. }
  202.  
  203. /** <p><b>Pre:</b></p> True
  204. * <p><b>Post:</b></p> Si existeix, esborra l'usuari, si no existeix retorna false
  205. */
  206. public Boolean esborrarUsuari(String nomUsuari) {
  207. String contrasenya = u.consultar_password(nomUsuari);
  208.  
  209. int i = u.borrarUsuari(nomUsuari, contrasenya);
  210. if (i == 2) {
  211. return true;
  212. }
  213. return false;
  214. }
  215.  
  216. /** <p><b>Pre:</b></p> True
  217. * <p><b>Post:</b></p> Retorna el resultat de la crida a la funció afegirNode de la classe Graf
  218. */
  219. public Boolean afegirNode(String nom, String tipus) {
  220.  
  221. return g.afegirNode(tipus, nom);
  222. }
  223.  
  224. /** <p><b>Pre:</b></p> True
  225. * <p><b>Post:</b></p> Retorna el resultat de la crida a la funció afegirAresta de la classe Graf
  226. */
  227. public Boolean afegirAresta(String nom1, String nom2) {
  228. return g.afegirAresta(nom1, nom2);
  229. }
  230.  
  231. /** <p><b>Pre:</b></p> True
  232. * <p><b>Post:</b></p> Retorna el resultat de la crida a la funció eliminarNode de la classe Graf
  233. */
  234. public Boolean eliminarNode(String nomNode) {
  235. return g.eliminarNode(nomNode);
  236. }
  237.  
  238. /** <p><b>Pre:</b></p> True
  239. * <p><b>Post:</b></p> Retorna el resultat de la crida a la funció eliminarAresta de la classe Graf
  240. */
  241. public Boolean eliminarAresta(String nom1, String nom2) {
  242. return g.eliminarAresta(nom1, nom2);
  243. }
  244.  
  245. /** <p><b>Pre:</b></p> True
  246. * <p><b>Post:</b></p> Restaura el graf g al seu estat original i amb le relevancies calculades.
  247. */
  248. public void descartar() {
  249. g.setNodes(noriginal);
  250. g.setArestes(aoriginal);
  251.  
  252. }
  253.  
  254. public ArrayList<String> historial1() throws IOException {
  255. return base.ReadPrintHistorial();
  256. }
  257. public ArrayList<String> historial2() throws IOException {
  258. return base.ReadPrintHistorial2();
  259. }
  260.  
  261. public ArrayList<String> historial3() throws IOException {
  262. return base.ReadPrintHistorial3();
  263. }
  264.  
  265. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement