Guest User

Untitled

a guest
Mar 8th, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.49 KB | None | 0 0
  1. // En la clase de configuración de Hibernate
  2.  
  3. private static String user = "root", pass = "123456";
  4.  
  5. public static synchronized void buildSessionFactory() {
  6. Configuration configuration = new Configuration();
  7. configuration.configure();
  8. configuration.setProperty("hibernate.current_session_context_class", "thread");
  9.  
  10. configuration.getProperties().setProperty("hibernate.connection.username", user);
  11. configuration.getProperties().setProperty("hibernate.connection.password", pass);
  12.  
  13. ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();
  14. sessionFactory = configuration.buildSessionFactory(serviceRegistry);
  15. }
  16.  
  17. public static void setUser(String user) {
  18. HibernateUtil.user = user;
  19. }
  20. public static void setPass(String pass) {
  21. HibernateUtil.pass = pass;
  22. }
  23.  
  24.  
  25. // En la clase controlador de la vista:
  26.  
  27. public void configurarBD() {
  28. // Creamos el diálogo
  29. Dialog<Pair<String, String>> dialog = new Dialog<>();
  30. dialog.setTitle("Datos de conexión");
  31. dialog.setHeaderText("Introduce las credenciales de la base de datos");
  32.  
  33. // Añadimos los botones
  34. ButtonType loginButtonType = new ButtonType("Confirmar", ButtonData.OK_DONE);
  35. dialog.getDialogPane().getButtonTypes().addAll(loginButtonType, ButtonType.CANCEL);
  36.  
  37. // Creamos los campos de entrada y texto
  38. GridPane grid = new GridPane();
  39. grid.setHgap(10);
  40. grid.setVgap(10);
  41. grid.setPadding(new Insets(20, 150, 10, 10));
  42.  
  43. TextField username = new TextField();
  44. username.setPromptText("Usuario");
  45. PasswordField password = new PasswordField();
  46. password.setPromptText("Contraseña");
  47.  
  48. grid.add(new Label("Usuario:"), 0, 0);
  49. grid.add(username, 1, 0);
  50. grid.add(new Label("Contraseña:"), 0, 1);
  51. grid.add(password, 1, 1);
  52.  
  53. // Activar y desactivar el boton de login
  54. Node loginButton = dialog.getDialogPane().lookupButton(loginButtonType);
  55. loginButton.setDisable(true);
  56.  
  57. // Validación de campo vacío
  58. username.textProperty().addListener((observable, oldValue, newValue) -> {
  59. loginButton.setDisable(newValue.trim().isEmpty());
  60. });
  61.  
  62. dialog.getDialogPane().setContent(grid);
  63.  
  64. // Focus para que sea agradable visualmente
  65. Platform.runLater(() -> username.requestFocus());
  66.  
  67. // Actualizamos credenciales en hibernate
  68. dialog.setResultConverter(dialogButton -> {
  69. HibernateUtil.setUser(username.getText());
  70. HibernateUtil.setPass(password.getText());
  71. HibernateUtil.buildSessionFactory();
  72. return null;
  73. });
  74.  
  75. dialog.showAndWait();
  76.  
  77. }
Add Comment
Please, Sign In to add comment