svn-gvsig-desktop / branches / gvSIG_GisPlanet / applications / appgvSIG / src / com / iver / cit / gvsig / gui / jdbcwizard / ConnectionPanel.java @ 2169
History | View | Annotate | Download (12 KB)
1 |
package com.iver.cit.gvsig.gui.jdbcwizard; |
---|---|
2 |
|
3 |
import java.awt.FlowLayout; |
4 |
import java.awt.GridLayout; |
5 |
import java.awt.event.ActionEvent; |
6 |
import java.awt.event.ActionListener; |
7 |
import java.util.HashMap; |
8 |
import java.util.Iterator; |
9 |
|
10 |
import javax.swing.DefaultComboBoxModel; |
11 |
import javax.swing.JLabel; |
12 |
import javax.swing.JPanel; |
13 |
import javax.swing.JPasswordField; |
14 |
import javax.swing.JTextField; |
15 |
|
16 |
import com.hardcode.driverManager.DriverLoadException; |
17 |
import com.iver.andami.PluginServices; |
18 |
import com.iver.cit.gvsig.fmap.drivers.VectorialJDBCDriver; |
19 |
import com.iver.cit.gvsig.fmap.layers.LayerFactory; |
20 |
import com.iver.utiles.swing.JComboBox; |
21 |
import com.iver.utiles.swing.wizard.Step; |
22 |
import com.iver.utiles.swing.wizard.WizardControl; |
23 |
|
24 |
|
25 |
/**
|
26 |
* DOCUMENT ME!
|
27 |
*
|
28 |
* @author Fernando Gonz?lez Cort?s
|
29 |
*/
|
30 |
public class ConnectionPanel extends JPanel implements Step { |
31 |
private JPanel jPanel = null; |
32 |
private JLabel jLabel = null; |
33 |
private JTextField txtHost = null; |
34 |
private JPanel jPanel1 = null; |
35 |
private JTextField txtPort = null; |
36 |
private JLabel jLabel1 = null; |
37 |
private JLabel jLabel2 = null; |
38 |
private JTextField txtUser = null; |
39 |
private JLabel jLabel3 = null; |
40 |
private JPasswordField txtPassword = null; |
41 |
private JLabel jLabel4 = null; |
42 |
private JTextField txtBD = null; |
43 |
private JLabel jLabel5 = null; |
44 |
private JComboBox cmbDriver = null; |
45 |
private JLabel jLabel6 = null; |
46 |
private com.iver.utiles.swing.JComboBox cmbName = null; |
47 |
private HashMap cs = new HashMap(); |
48 |
|
49 |
/**
|
50 |
* This is the default constructor
|
51 |
*/
|
52 |
public ConnectionPanel() {
|
53 |
super();
|
54 |
initialize(); |
55 |
} |
56 |
|
57 |
/**
|
58 |
* This method initializes this
|
59 |
*/
|
60 |
private void initialize() { |
61 |
this.setSize(400, 240); |
62 |
this.add(getJPanel(), null); |
63 |
this.add(getJPanel1(), null); |
64 |
} |
65 |
|
66 |
/**
|
67 |
* This method initializes jPanel
|
68 |
*
|
69 |
* @return javax.swing.JPanel
|
70 |
*/
|
71 |
private JPanel getJPanel() { |
72 |
if (jPanel == null) { |
73 |
GridLayout gridLayout1 = new GridLayout(); |
74 |
gridLayout1.setRows(7);
|
75 |
jLabel5 = new JLabel(); |
76 |
jLabel4 = new JLabel(); |
77 |
jLabel3 = new JLabel(); |
78 |
jLabel2 = new JLabel(); |
79 |
jLabel1 = new JLabel(); |
80 |
jLabel = new JLabel(); |
81 |
jPanel = new JPanel(); |
82 |
jPanel.setLayout(gridLayout1); |
83 |
jPanel.setPreferredSize(new java.awt.Dimension(160,225)); |
84 |
jLabel.setText(PluginServices.getText(this, "host") + ":"); |
85 |
jLabel.setPreferredSize(new java.awt.Dimension(80, 15)); |
86 |
jLabel.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); |
87 |
jLabel.setName("jLabel");
|
88 |
jLabel1.setText(PluginServices.getText(this, "puerto")+":"); |
89 |
jLabel1.setPreferredSize(new java.awt.Dimension(83, 15)); |
90 |
jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); |
91 |
jLabel1.setName("jLabel1");
|
92 |
jLabel2.setText(PluginServices.getText(this, "usuario")+":"); |
93 |
jLabel2.setName("jLabel2");
|
94 |
jLabel2.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT); |
95 |
jLabel2.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); |
96 |
jLabel3.setText(PluginServices.getText(this, "password")+":"); |
97 |
jLabel3.setName("jLabel3");
|
98 |
jLabel3.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT); |
99 |
jLabel3.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); |
100 |
jLabel4.setText(PluginServices.getText(this, "bd")+":"); |
101 |
jLabel4.setName("jLabel4");
|
102 |
jLabel4.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT); |
103 |
jLabel4.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); |
104 |
jLabel5.setText(PluginServices.getText(this, "driver")+":"); |
105 |
jLabel5.setName("jLabel5");
|
106 |
jLabel5.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT); |
107 |
jLabel5.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); |
108 |
jPanel.add(getJLabel6(), null);
|
109 |
jPanel.add(jLabel, null);
|
110 |
jPanel.add(jLabel1, null);
|
111 |
jPanel.add(jLabel2, null);
|
112 |
jPanel.add(jLabel3, null);
|
113 |
jPanel.add(jLabel4, null);
|
114 |
jPanel.add(jLabel5, null);
|
115 |
} |
116 |
|
117 |
return jPanel;
|
118 |
} |
119 |
|
120 |
/**
|
121 |
* This method initializes txtHost
|
122 |
*
|
123 |
* @return javax.swing.JTextField
|
124 |
*/
|
125 |
private JTextField getTxtHost() { |
126 |
if (txtHost == null) { |
127 |
txtHost = new JTextField(); |
128 |
txtHost.setPreferredSize(new java.awt.Dimension(120, 19)); |
129 |
txtHost.setName("txtHost");
|
130 |
} |
131 |
|
132 |
return txtHost;
|
133 |
} |
134 |
|
135 |
/**
|
136 |
* This method initializes jPanel1
|
137 |
*
|
138 |
* @return javax.swing.JPanel
|
139 |
*/
|
140 |
private JPanel getJPanel1() { |
141 |
if (jPanel1 == null) { |
142 |
jPanel1 = new JPanel(); |
143 |
jPanel1.setPreferredSize(new java.awt.Dimension(135, 225)); |
144 |
|
145 |
FlowLayout layout = new FlowLayout(); |
146 |
layout.setVgap(12);
|
147 |
jPanel1.setLayout(layout); |
148 |
jPanel1.add(getCmbName(), null);
|
149 |
jPanel1.add(getTxtHost(), null);
|
150 |
jPanel1.add(getTxtPort(), null);
|
151 |
jPanel1.add(getTxtUser(), null);
|
152 |
jPanel1.add(getTxtPassword(), null);
|
153 |
jPanel1.add(getTxtBD(), null);
|
154 |
jPanel1.add(getCmbDriver(), null);
|
155 |
} |
156 |
|
157 |
return jPanel1;
|
158 |
} |
159 |
|
160 |
/**
|
161 |
* This method initializes txtPort
|
162 |
*
|
163 |
* @return javax.swing.JTextField
|
164 |
*/
|
165 |
private JTextField getTxtPort() { |
166 |
if (txtPort == null) { |
167 |
txtPort = new JTextField(); |
168 |
txtPort.setPreferredSize(new java.awt.Dimension(40, 19)); |
169 |
txtPort.setName("txtPort");
|
170 |
txtPort.setText("3306");
|
171 |
txtPort.setHorizontalAlignment(javax.swing.JTextField.LEFT); |
172 |
} |
173 |
|
174 |
return txtPort;
|
175 |
} |
176 |
|
177 |
/**
|
178 |
* This method initializes txtUser
|
179 |
*
|
180 |
* @return javax.swing.JTextField
|
181 |
*/
|
182 |
private JTextField getTxtUser() { |
183 |
if (txtUser == null) { |
184 |
txtUser = new JTextField(); |
185 |
txtUser.setPreferredSize(new java.awt.Dimension(120, 19)); |
186 |
txtUser.setName("txtUser");
|
187 |
} |
188 |
|
189 |
return txtUser;
|
190 |
} |
191 |
|
192 |
/**
|
193 |
* This method initializes txtPassword
|
194 |
*
|
195 |
* @return javax.swing.JTextField
|
196 |
*/
|
197 |
private JPasswordField getTxtPassword() { |
198 |
if (txtPassword == null) { |
199 |
txtPassword = new JPasswordField(); |
200 |
txtPassword.setPreferredSize(new java.awt.Dimension(120, 19)); |
201 |
txtPassword.setName("txtPassword");
|
202 |
} |
203 |
|
204 |
return txtPassword;
|
205 |
} |
206 |
|
207 |
/**
|
208 |
* This method initializes txtBD
|
209 |
*
|
210 |
* @return javax.swing.JTextField
|
211 |
*/
|
212 |
private JTextField getTxtBD() { |
213 |
if (txtBD == null) { |
214 |
txtBD = new JTextField(); |
215 |
txtBD.setPreferredSize(new java.awt.Dimension(120, 19)); |
216 |
txtBD.setName("txtBD");
|
217 |
} |
218 |
|
219 |
return txtBD;
|
220 |
} |
221 |
|
222 |
/**
|
223 |
* DOCUMENT ME!
|
224 |
*
|
225 |
* @return DOCUMENT ME!
|
226 |
*/
|
227 |
public String getHost() { |
228 |
return getTxtHost().getText();
|
229 |
} |
230 |
|
231 |
/**
|
232 |
* DOCUMENT ME!
|
233 |
*
|
234 |
* @return DOCUMENT ME!
|
235 |
*/
|
236 |
public String getPort() { |
237 |
return getTxtPort().getText();
|
238 |
} |
239 |
|
240 |
/**
|
241 |
* DOCUMENT ME!
|
242 |
*
|
243 |
* @return DOCUMENT ME!
|
244 |
*/
|
245 |
public String getUser() { |
246 |
return getTxtUser().getText();
|
247 |
} |
248 |
|
249 |
/**
|
250 |
* DOCUMENT ME!
|
251 |
*
|
252 |
* @return DOCUMENT ME!
|
253 |
*/
|
254 |
public String getSettingsName() { |
255 |
return getCmbName().getSelectedItem().toString();
|
256 |
} |
257 |
|
258 |
/**
|
259 |
* DOCUMENT ME!
|
260 |
*
|
261 |
* @return DOCUMENT ME!
|
262 |
*/
|
263 |
public String getPassword() { |
264 |
return new String(getTxtPassword().getPassword()); |
265 |
} |
266 |
|
267 |
/**
|
268 |
* DOCUMENT ME!
|
269 |
*
|
270 |
* @return DOCUMENT ME!
|
271 |
*/
|
272 |
public String getDBName() { |
273 |
return getTxtBD().getText();
|
274 |
} |
275 |
|
276 |
/**
|
277 |
* DOCUMENT ME!
|
278 |
*
|
279 |
* @param drivers DOCUMENT ME!
|
280 |
*/
|
281 |
public void setDrivers(String[] drivers) { |
282 |
DefaultComboBoxModel model = new DefaultComboBoxModel(); |
283 |
|
284 |
for (int i = 0; i < drivers.length; i++) { |
285 |
model.addElement(drivers[i]); |
286 |
} |
287 |
|
288 |
getCmbDriver().setModel(model); |
289 |
|
290 |
//Para que refresque el textbox del puerto
|
291 |
if (drivers.length > 0) |
292 |
cmbDriver.setSelectedIndex(0);
|
293 |
|
294 |
} |
295 |
|
296 |
/**
|
297 |
* DOCUMENT ME!
|
298 |
*
|
299 |
* @return DOCUMENT ME!
|
300 |
*/
|
301 |
public String getDriver() { |
302 |
return cmbDriver.getSelectedItem().toString();
|
303 |
} |
304 |
|
305 |
/**
|
306 |
* DOCUMENT ME!
|
307 |
*
|
308 |
* @param cs DOCUMENT ME!
|
309 |
*/
|
310 |
public void setSettings(HashMap cs) { |
311 |
this.cs = cs;
|
312 |
((DefaultComboBoxModel) getCmbName().getModel()).removeAllElements();
|
313 |
|
314 |
Iterator i = cs.keySet().iterator();
|
315 |
|
316 |
while (i.hasNext()) {
|
317 |
String item = (String) i.next(); |
318 |
((DefaultComboBoxModel) getCmbName().getModel()).addElement(item);
|
319 |
} |
320 |
} |
321 |
|
322 |
/**
|
323 |
* @see com.iver.utiles.swing.wizard.Step#init(com.iver.utiles.swing.wizard.WizardControl)
|
324 |
*/
|
325 |
public void init(WizardControl w) { |
326 |
} |
327 |
|
328 |
/**
|
329 |
* This method initializes cmbDriver
|
330 |
*
|
331 |
* @return com.iver.utiles.swing.JComboBox
|
332 |
*/
|
333 |
private JComboBox getCmbDriver() { |
334 |
if (cmbDriver == null) { |
335 |
cmbDriver = new JComboBox(); |
336 |
cmbDriver.setPreferredSize(new java.awt.Dimension(120, 19)); |
337 |
cmbDriver.setName("cmbDriver");
|
338 |
cmbDriver.addActionListener(new ActionListener() { |
339 |
public void actionPerformed(ActionEvent e) { |
340 |
String driverName = cmbDriver.getSelectedItem().toString();
|
341 |
VectorialJDBCDriver driver; |
342 |
try {
|
343 |
driver = (VectorialJDBCDriver) LayerFactory.getDM().getDriver(driverName); |
344 |
getTxtPort().setText(Integer.toString(driver.getDefaultPort()));
|
345 |
} catch (DriverLoadException e1) {
|
346 |
getTxtPort().setText("");
|
347 |
} |
348 |
} |
349 |
}); |
350 |
} |
351 |
|
352 |
return cmbDriver;
|
353 |
} |
354 |
|
355 |
/**
|
356 |
* DOCUMENT ME!
|
357 |
*
|
358 |
* @return
|
359 |
*/
|
360 |
public boolean done() { |
361 |
return (getTxtBD().getText().length() > 0) && |
362 |
(getTxtHost().getText().length() > 0) &&
|
363 |
(getCmbName().getSelectedItem().toString().length() > 0);
|
364 |
} |
365 |
|
366 |
/**
|
367 |
* This method initializes jLabel6
|
368 |
*
|
369 |
* @return javax.swing.JLabel
|
370 |
*/
|
371 |
private JLabel getJLabel6() { |
372 |
if (jLabel6 == null) { |
373 |
jLabel6 = new JLabel(); |
374 |
jLabel6.setText(PluginServices.getText(this, "connection_name")+":"); |
375 |
jLabel6.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); |
376 |
} |
377 |
|
378 |
return jLabel6;
|
379 |
} |
380 |
|
381 |
/**
|
382 |
* This method initializes jComboBox
|
383 |
*
|
384 |
* @return com.iver.utiles.swing.JComboBox
|
385 |
*/
|
386 |
private com.iver.utiles.swing.JComboBox getCmbName() {
|
387 |
if (cmbName == null) { |
388 |
cmbName = new com.iver.utiles.swing.JComboBox();
|
389 |
cmbName.setEditable(true);
|
390 |
cmbName.setPreferredSize(new java.awt.Dimension(120, 19)); |
391 |
cmbName.setModel(new DefaultComboBoxModel()); |
392 |
cmbName.addActionListener(new ActionListener() { |
393 |
public void actionPerformed(ActionEvent e) { |
394 |
Object item = cmbName.getSelectedItem();
|
395 |
|
396 |
if (item == null) { |
397 |
return;
|
398 |
} |
399 |
|
400 |
ConnectionSettings c = (ConnectionSettings) cs.get(item.toString()); |
401 |
|
402 |
if (c != null) { |
403 |
getTxtHost().setText(c.getHost()); |
404 |
getTxtPort().setText(c.getPort()); |
405 |
getTxtBD().setText(c.getDb()); |
406 |
getTxtUser().setText(c.getUser()); |
407 |
getCmbDriver().setSelectedItem(c.getDriver()); |
408 |
} |
409 |
} |
410 |
}); |
411 |
} |
412 |
|
413 |
return cmbName;
|
414 |
} |
415 |
} // @jve:decl-index=0:visual-constraint="7,3"
|