1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package p3j.database;
17
18 import javax.swing.JPasswordField;
19 import javax.swing.JTextField;
20
21 import org.jamesii.core.data.DBConnectionData;
22 import org.jamesii.core.util.misc.Pair;
23
24 import p3j.gui.panels.PropertiesShowPanelFactory;
25 import p3j.misc.Misc;
26
27
28
29
30
31
32
33
34
35
36
37 public class MySQLPreferencesUIProvider implements IPreferencesUIProvider {
38
39
40 final JTextField dbURL = new JTextField();
41
42
43 final JTextField dbUserName = new JTextField();
44
45
46 final JTextField dbPassword = new JPasswordField();
47
48
49 private static final DatabaseType DB_TYPE = DatabaseType.MYSQL;
50
51 @Override
52 public int getHeight() {
53 return 70;
54 }
55
56 @Override
57 public void addUIElements(PropertiesShowPanelFactory pspf,
58 Pair<DBConnectionData, String> connData) {
59 setDBPreferences(connData);
60 pspf.app(Misc.PREF_DB_URL + ": " + Misc.MYSQL_URL_PREFIX, dbURL);
61 pspf.app(Misc.PREF_DB_USER + ":", dbUserName);
62 pspf.app(Misc.PREF_DB_PWD + ":", dbPassword);
63 }
64
65 @Override
66 public Pair<DBConnectionData, String> getDBPreferences() {
67 return new Pair<>(new DBConnectionData(Misc.MYSQL_URL_PREFIX
68 + dbURL.getText(), dbUserName.getText(), dbPassword.getText(),
69 Misc.JDBC_DRIVERS.get(DB_TYPE)), Misc.HIBERNATE_DIALECTS.get(DB_TYPE));
70 }
71
72 @Override
73 public void setDBPreferences(Pair<DBConnectionData, String> connData) {
74 dbURL.setText(connData.getFirstValue().getURL()
75 .substring(Misc.MYSQL_URL_PREFIX.length()));
76 dbUserName.setText(connData.getFirstValue().getUser());
77 dbPassword.setText(connData.getFirstValue().getPassword());
78 }
79
80 }