Revision 43114 trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.swing/org.gvsig.fmap.dal.swing.impl/src/main/java/org/gvsig/fmap/dal/swing/impl/jdbc/DefaultJDBCConnectionPanel.java
DefaultJDBCConnectionPanel.java | ||
---|---|---|
6 | 6 |
package org.gvsig.fmap.dal.swing.impl.jdbc; |
7 | 7 |
|
8 | 8 |
import java.awt.Dimension; |
9 |
import java.awt.event.ActionEvent; |
|
10 |
import java.awt.event.ActionListener; |
|
9 | 11 |
import java.awt.event.ItemEvent; |
10 | 12 |
import java.awt.event.ItemListener; |
13 |
import java.io.File; |
|
11 | 14 |
import java.util.Iterator; |
12 | 15 |
import java.util.List; |
13 | 16 |
import javax.swing.ComboBoxModel; |
14 | 17 |
import javax.swing.JComponent; |
15 | 18 |
import javax.swing.JLabel; |
16 | 19 |
import javax.swing.JTextField; |
20 |
import javax.swing.SwingUtilities; |
|
17 | 21 |
import javax.swing.plaf.basic.BasicHTML; |
18 | 22 |
import javax.swing.text.View; |
23 |
import org.apache.commons.lang3.ArrayUtils; |
|
19 | 24 |
import org.apache.commons.lang3.StringUtils; |
20 | 25 |
import org.gvsig.fmap.dal.DALLocator; |
21 | 26 |
import org.gvsig.fmap.dal.DataFactory; |
... | ... | |
24 | 29 |
import org.gvsig.fmap.dal.DataServerExplorerPool; |
25 | 30 |
import org.gvsig.fmap.dal.DataServerExplorerPoolEntry; |
26 | 31 |
import org.gvsig.fmap.dal.exception.DataException; |
32 |
import org.gvsig.fmap.dal.serverexplorer.filesystem.FilesystemStoreParameters; |
|
27 | 33 |
import org.gvsig.fmap.dal.store.jdbc.JDBCServerExplorerParameters; |
28 | 34 |
import org.gvsig.fmap.dal.swing.jdbc.JDBCConnectionPanel; |
29 | 35 |
import org.gvsig.tools.ToolsLocator; |
36 |
import org.gvsig.tools.dynobject.DynClass; |
|
37 |
import org.gvsig.tools.dynobject.DynField; |
|
30 | 38 |
import org.gvsig.tools.i18n.I18nManager; |
39 |
import org.gvsig.tools.swing.api.ToolsSwingLocator; |
|
40 |
import org.gvsig.tools.swing.api.threadsafedialogs.ThreadSafeDialogsManager; |
|
31 | 41 |
import org.slf4j.Logger; |
32 | 42 |
import org.slf4j.LoggerFactory; |
33 | 43 |
|
... | ... | |
81 | 91 |
this.cboConnections.addItemListener(new ItemListener() { |
82 | 92 |
@Override |
83 | 93 |
public void itemStateChanged(ItemEvent e) { |
84 |
onChangeConnection(); |
|
94 |
// Lo hago asi para evitar cuelgues durante la depuracion |
|
95 |
// al poner puntos de ruptura en un evento de un combo. |
|
96 |
SwingUtilities.invokeLater(new Runnable() { |
|
97 |
|
|
98 |
@Override |
|
99 |
public void run() { |
|
100 |
onChangeConnection(); |
|
101 |
} |
|
102 |
}); |
|
85 | 103 |
} |
86 | 104 |
}); |
87 | 105 |
this.cboConnectors.addItemListener(new ItemListener() { |
88 | 106 |
@Override |
89 | 107 |
public void itemStateChanged(ItemEvent e) { |
90 |
onChangeConnector(); |
|
108 |
// Lo hago asi para evitar cuelgues durante la depuracion |
|
109 |
// al poner puntos de ruptura en un evento de un combo. |
|
110 |
SwingUtilities.invokeLater(new Runnable() { |
|
111 |
|
|
112 |
@Override |
|
113 |
public void run() { |
|
114 |
onChangeConnector(); |
|
115 |
} |
|
116 |
}); |
|
91 | 117 |
} |
92 | 118 |
}); |
93 | 119 |
try { |
... | ... | |
98 | 124 |
logger.warn("Can't fill combos",th); |
99 | 125 |
} |
100 | 126 |
this.translate(); |
127 |
this.btnDataBaseBrowser.addActionListener(new ActionListener() { |
|
128 |
|
|
129 |
@Override |
|
130 |
public void actionPerformed(ActionEvent e) { |
|
131 |
onBrowseDatabase(); |
|
132 |
} |
|
133 |
}); |
|
101 | 134 |
adjustPreferedHeight(this.lblFoother,300); |
102 | 135 |
} |
103 | 136 |
|
... | ... | |
147 | 180 |
this.txtDataBase.setText(parameters.getDBName()); |
148 | 181 |
this.txtUsername.setText(parameters.getUser()); |
149 | 182 |
this.txtPassword.setText(parameters.getPassword()); |
183 |
|
|
184 |
DynClass definition = parameters.getDynClass(); |
|
185 |
|
|
186 |
DynField field = definition.getDynField(JDBCServerExplorerParameters.HOST_PARAMTER_NAME); |
|
187 |
this.txtServer.setEnabled( !( field.isReadOnly() || field.isHidden() )); |
|
188 |
field = definition.getDynField(JDBCServerExplorerParameters.PORT_PARAMTER_NAME); |
|
189 |
this.txtPort.setEnabled( !( field.isReadOnly() || field.isHidden() )); |
|
190 |
field = definition.getDynField(JDBCServerExplorerParameters.DBNAME_PARAMTER_NAME); |
|
191 |
this.txtDataBase.setEnabled( !( field.isReadOnly() || field.isHidden() )); |
|
192 |
field = definition.getDynField(JDBCServerExplorerParameters.USER_PARAMTER_NAME); |
|
193 |
this.txtUsername.setEnabled( !( field.isReadOnly() || field.isHidden() )); |
|
194 |
field = definition.getDynField(JDBCServerExplorerParameters.PASSWORD_PARAMTER_NAME); |
|
195 |
this.txtPassword.setEnabled( !( field.isReadOnly() || field.isHidden() )); |
|
196 |
this.btnDataBaseBrowser.setVisible(parameters instanceof FilesystemStoreParameters); |
|
150 | 197 |
} |
151 | 198 |
|
152 | 199 |
@Override |
... | ... | |
351 | 398 |
this.txtUsername.setText(""); |
352 | 399 |
this.txtPassword.setText(""); |
353 | 400 |
} |
401 |
|
|
402 |
private void onBrowseDatabase() { |
|
403 |
if( this.forcedParameters==null ) { |
|
404 |
return; |
|
405 |
} |
|
406 |
ThreadSafeDialogsManager dlgmanager = ToolsSwingLocator.getThreadSafeDialogsManager(); |
|
407 |
I18nManager i18nManager = ToolsLocator.getI18nManager(); |
|
408 |
File[] files = dlgmanager.showOpenFileDialog( |
|
409 |
i18nManager.getTranslation("_Select_database"), |
|
410 |
null |
|
411 |
); |
|
412 |
if( ArrayUtils.isEmpty(files) ) { |
|
413 |
return; |
|
414 |
} |
|
415 |
((FilesystemStoreParameters)this.forcedParameters).setFile(files[0]); |
|
416 |
this.txtDataBase.setText(this.forcedParameters.getDBName()); |
|
417 |
} |
|
354 | 418 |
} |
Also available in: Unified diff