1 /***
2 *
3 */
4 package net.sourceforge.jdbdump.gui;
5
6 import java.io.IOException;
7 import java.util.ArrayList;
8 import java.util.Collection;
9
10 import javax.faces.model.SelectItem;
11
12 import net.sourceforge.jdbdump.connect.Configuration;
13 import net.sourceforge.jdbdump.connect.DatabaseConnectionData;
14 import net.sourceforge.jdbdump.connect.DatabaseConnectorFactory;
15
16 /***
17 * @author grabka
18 *
19 */
20 public class DbAddBean {
21 private String dbTitle;
22 private String dbServerName;
23 private String port;
24 private String engine;
25 private String dbName;
26 private String login;
27 private String password;
28 private String passwordAgain;
29 private String url;
30 private ArrayList<SelectItem> engines;
31
32 public DbAddBean() {
33 engines = new ArrayList<SelectItem>();
34 String[] enginesStrings = DatabaseConnectorFactory.getInstance().listPlugins();
35
36 for (int i=0; i<enginesStrings.length; i++) {
37 String engineShortName = enginesStrings[i].substring(enginesStrings[i].lastIndexOf(".")+1);
38 engines.add(new SelectItem(engineShortName));
39 }
40 }
41
42 public String getDbName() {
43 return dbName;
44 }
45
46 public void setDbName(String dbName) {
47 this.dbName = dbName;
48 }
49
50 public String getDbServerName() {
51 return dbServerName;
52 }
53
54 public void setDbServerName(String dbServerName) {
55 this.dbServerName = dbServerName;
56 }
57
58 public String getDbTitle() {
59 return dbTitle;
60 }
61
62 public void setDbTitle(String dbTitle) {
63 this.dbTitle = dbTitle;
64 }
65
66 public String getEngine() {
67 return engine;
68 }
69
70 public void setEngine(String engine) {
71 this.engine = engine;
72 }
73
74 public String getLogin() {
75 return login;
76 }
77
78 public void setLogin(String login) {
79 this.login = login;
80 }
81
82 public String getPassword() {
83 return password;
84 }
85
86 public void setPassword(String password) {
87 this.password = password;
88 }
89
90 public String getPasswordAgain() {
91 return passwordAgain;
92 }
93
94 public void setPasswordAgain(String passwordAgain) {
95 this.passwordAgain = passwordAgain;
96 }
97
98 public String getPort() {
99 return port;
100 }
101
102 public void setPort(String port) {
103 this.port = port;
104 }
105
106 public Collection<SelectItem> getEngines(){
107 return engines;
108 }
109
110 public void setEngines(Collection<SelectItem> engines){
111 this.engines = new ArrayList<SelectItem>(engines);
112 }
113
114 public String addDatabase() {
115 DatabaseConnectionData data = new DatabaseConnectionData(dbServerName, port, engine, login, password, dbName, dbTitle, url);
116 try {
117 Configuration.getInstance().addDatabase(data);
118 } catch (InstantiationException e) {
119 e.printStackTrace();
120 } catch (IllegalAccessException e) {
121 e.printStackTrace();
122 } catch (ClassNotFoundException e) {
123 e.printStackTrace();
124 } catch (IOException e) {
125 e.printStackTrace();
126 }
127 return "dbList";
128 }
129
130 public String getUrl() {
131 return url;
132 }
133
134 public void setUrl(String url) {
135 this.url = url;
136 }
137 }