Revision 43355 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 | ||
---|---|---|
12 | 12 |
import java.awt.event.ItemListener; |
13 | 13 |
import java.io.File; |
14 | 14 |
import java.util.Iterator; |
15 |
import java.util.List; |
|
16 | 15 |
import javax.swing.ComboBoxModel; |
17 | 16 |
import javax.swing.JComponent; |
18 | 17 |
import javax.swing.JLabel; |
... | ... | |
28 | 27 |
import org.gvsig.fmap.dal.DataServerExplorerParameters; |
29 | 28 |
import org.gvsig.fmap.dal.DataServerExplorerPool; |
30 | 29 |
import org.gvsig.fmap.dal.DataServerExplorerPoolEntry; |
31 |
import org.gvsig.fmap.dal.exception.DataException; |
|
32 | 30 |
import org.gvsig.fmap.dal.serverexplorer.filesystem.FilesystemStoreParameters; |
33 | 31 |
import org.gvsig.fmap.dal.store.jdbc.JDBCServerExplorerParameters; |
34 | 32 |
import org.gvsig.fmap.dal.swing.jdbc.JDBCConnectionPanel; |
... | ... | |
44 | 42 |
// org.gvsig.fmap.mapcontrol.dal.jdbc.JDBCConnectionPanel |
45 | 43 |
public class DefaultJDBCConnectionPanel extends DefaultJDBCConnectionPanelView implements JDBCConnectionPanel{ |
46 | 44 |
|
47 |
private static final Logger |
|
48 |
logger = LoggerFactory.getLogger(DefaultJDBCConnectionPanel.class);
|
|
45 |
private static final Logger logger = LoggerFactory.getLogger(DefaultJDBCConnectionPanel.class);
|
|
46 |
private static final long serialVersionUID = -6119489353793596382L;
|
|
49 | 47 |
private JDBCServerExplorerParameters forcedParameters; |
48 |
private ItemListener onChangeConnectorItemListener; |
|
50 | 49 |
|
51 | 50 |
@Override |
52 | 51 |
public JComponent asJComponent() { |
... | ... | |
91 | 90 |
this.cboConnections.addItemListener(new ItemListener() { |
92 | 91 |
@Override |
93 | 92 |
public void itemStateChanged(ItemEvent e) { |
94 |
// Lo hago asi para evitar cuelgues durante la depuracion |
|
93 |
if(e.getStateChange() != ItemEvent.SELECTED) { |
|
94 |
return; |
|
95 |
} // Lo hago asi para evitar cuelgues durante la depuracion |
|
95 | 96 |
// al poner puntos de ruptura en un evento de un combo. |
96 | 97 |
SwingUtilities.invokeLater(new Runnable() { |
97 | 98 |
|
... | ... | |
102 | 103 |
}); |
103 | 104 |
} |
104 | 105 |
}); |
105 |
this.cboConnectors.addItemListener(new ItemListener() {
|
|
106 |
this.onChangeConnectorItemListener = new ItemListener() {
|
|
106 | 107 |
@Override |
107 | 108 |
public void itemStateChanged(ItemEvent e) { |
109 |
if(e.getStateChange() != ItemEvent.SELECTED) { |
|
110 |
return; |
|
111 |
} |
|
108 | 112 |
// Lo hago asi para evitar cuelgues durante la depuracion |
109 | 113 |
// al poner puntos de ruptura en un evento de un combo. |
110 | 114 |
SwingUtilities.invokeLater(new Runnable() { |
... | ... | |
115 | 119 |
} |
116 | 120 |
}); |
117 | 121 |
} |
118 |
}); |
|
122 |
}; |
|
123 |
this.cboConnectors.addItemListener(onChangeConnectorItemListener); |
|
119 | 124 |
try { |
120 | 125 |
fillConnections(); |
121 | 126 |
fillConnectors(); |
... | ... | |
167 | 172 |
|
168 | 173 |
int indexConnector = this.getIndexOfConnector(parameters); |
169 | 174 |
if ( indexConnector >= 0 && this.cboConnectors.getSelectedIndex()!=indexConnector ) { |
175 |
this.cboConnectors.removeItemListener(this.onChangeConnectorItemListener); |
|
170 | 176 |
this.cboConnectors.setSelectedIndex(indexConnector); |
177 |
this.cboConnectors.addItemListener(onChangeConnectorItemListener); |
|
171 | 178 |
} |
172 | 179 |
|
173 | 180 |
this.txtServer.setText(parameters.getHost()); |
... | ... | |
200 | 207 |
public JDBCServerExplorerParameters getServerExplorerParameters() { |
201 | 208 |
JDBCServerExplorerParameters params; |
202 | 209 |
JDBCServerExplorerParameters connector = this.getConnector(); |
210 |
if( connector==null ) { |
|
211 |
return null; |
|
212 |
} |
|
203 | 213 |
if( this.forcedParameters==null ) { |
204 | 214 |
params = (JDBCServerExplorerParameters) connector.getCopy(); |
205 | 215 |
} else { |
... | ... | |
319 | 329 |
ComboBoxModel model = this.cboConnectors.getModel(); |
320 | 330 |
for ( int i = 0; i < model.getSize(); i++ ) { |
321 | 331 |
ServerExplorerParametersComboItem x = (ServerExplorerParametersComboItem) model.getElementAt(i); |
322 |
if ( x.getLabel().equalsIgnoreCase(explorerParameters.getExplorerName()) ) {
|
|
332 |
if ( x.getParams()!=null && x.getParams().getExplorerName().equalsIgnoreCase(explorerParameters.getExplorerName()) ) {
|
|
323 | 333 |
return i; |
324 | 334 |
} |
325 | 335 |
} |
... | ... | |
333 | 343 |
DataManager dataManager = DALLocator.getDataManager(); |
334 | 344 |
|
335 | 345 |
ServerExplorerParametersComboItem last = null; |
346 |
this.cboConnectors.addItem(new ServerExplorerParametersComboItem("",null)); |
|
336 | 347 |
|
337 | 348 |
for (DataFactory factory : dataManager.getServerExplorerRegister() ) { |
338 | 349 |
DataServerExplorerParameters params = (DataServerExplorerParameters) factory.createParameters(); |
Also available in: Unified diff