Revision 44422
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/DefaultJDBCConnectionDialog.java | ||
---|---|---|
39 | 39 |
import javax.swing.filechooser.FileFilter; |
40 | 40 |
import org.apache.commons.io.IOUtils; |
41 | 41 |
import org.apache.commons.lang3.ArrayUtils; |
42 |
import org.apache.commons.lang3.StringUtils; |
|
42 | 43 |
import org.gvsig.filedialogchooser.FileDialogChooser; |
43 | 44 |
import org.gvsig.fmap.dal.DALLocator; |
44 | 45 |
import org.gvsig.fmap.dal.DataManager; |
... | ... | |
198 | 199 |
FoldersManager folderManager = ToolsLocator.getFoldersManager(); |
199 | 200 |
DataManager dataManager = DALLocator.getDataManager(); |
200 | 201 |
|
202 |
String problems = this.jdbcServerExplorer.getParametersProblems(); |
|
203 |
if( !StringUtils.isBlank(problems) ) { |
|
204 |
dialogs.message( |
|
205 |
i18n.getTranslation("_Some_values_are_invalids")+"\n\n"+problems, |
|
206 |
JOptionPane.WARNING_MESSAGE |
|
207 |
); |
|
208 |
return; |
|
209 |
} |
|
210 |
|
|
201 | 211 |
LabeledValue<JDBCServerExplorerParameters> parameters = this.getLabeledServerExplorerParameters(); |
202 | 212 |
if( parameters == null || parameters.getValue()==null ) { |
203 | 213 |
dialogs.messageDialog( |
... | ... | |
277 | 287 |
|
278 | 288 |
protected void doAcept() { |
279 | 289 |
this.isCanceled = false; |
290 |
String problems = this.jdbcServerExplorer.getParametersProblems(); |
|
291 |
if( !StringUtils.isBlank(problems) ) { |
|
292 |
I18nManager i18n = ToolsLocator.getI18nManager(); |
|
293 |
ThreadSafeDialogsManager dialogs = ToolsSwingLocator.getThreadSafeDialogsManager(); |
|
294 |
dialogs.message( |
|
295 |
i18n.getTranslation("_Some_values_are_invalids")+"\n\n"+problems, |
|
296 |
JOptionPane.WARNING_MESSAGE |
|
297 |
); |
|
298 |
return; |
|
299 |
} |
|
280 | 300 |
this.setVisible(false); |
281 | 301 |
} |
282 | 302 |
|
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 | ||
---|---|---|
23 | 23 |
import org.gvsig.fmap.dal.DataServerExplorerParameters; |
24 | 24 |
import org.gvsig.fmap.dal.DataServerExplorerPool; |
25 | 25 |
import org.gvsig.fmap.dal.DataServerExplorerPoolEntry; |
26 |
import org.gvsig.fmap.dal.exception.ValidateDataParametersException; |
|
26 | 27 |
import org.gvsig.fmap.dal.serverexplorer.filesystem.FilesystemStoreParameters; |
27 | 28 |
import org.gvsig.fmap.dal.store.jdbc.JDBCServerExplorerParameters; |
28 | 29 |
import org.gvsig.fmap.dal.swing.jdbc.JDBCConnectionPanel; |
... | ... | |
272 | 273 |
if( s!=null ) { |
273 | 274 |
params.setPassword(s); |
274 | 275 |
} |
275 |
|
|
276 |
|
|
276 | 277 |
String name = this.getConnectionName(); |
277 | 278 |
if ( StringUtils.isBlank(name) ) { |
278 | 279 |
if( params instanceof FilesystemStoreParameters ) { |
... | ... | |
295 | 296 |
name = builder.toString(); |
296 | 297 |
} |
297 | 298 |
} |
299 |
|
|
298 | 300 |
if( StringUtils.isBlank(name) ) { |
299 | 301 |
name = getUniqueEntryName("Connection"); |
300 |
} else { |
|
302 |
} else if( this.isNewConnection() ) {
|
|
301 | 303 |
name = getUniqueEntryName(name); |
302 | 304 |
} |
303 | 305 |
|
304 |
DataManager dataManager = DALLocator.getDataManager(); |
|
305 |
DataServerExplorerPool pool = dataManager.getDataServerExplorerPool(); |
|
306 |
pool.add(name, params); |
|
306 |
try { |
|
307 |
params.validate(); |
|
308 |
DataManager dataManager = DALLocator.getDataManager(); |
|
309 |
DataServerExplorerPool pool = dataManager.getDataServerExplorerPool(); |
|
310 |
pool.add(name, params); |
|
311 |
} catch (ValidateDataParametersException ex) { |
|
312 |
|
|
313 |
} |
|
314 |
|
|
307 | 315 |
return new LabeledValueImpl<>(name,params); |
308 | 316 |
} |
309 | 317 |
|
318 |
@Override |
|
319 |
public boolean areTheParametersValid() { |
|
320 |
try { |
|
321 |
LabeledValue<JDBCServerExplorerParameters> params = this.getLabeledServerExplorerParameters(); |
|
322 |
params.getValue().validate(); |
|
323 |
return true; |
|
324 |
} catch (ValidateDataParametersException ex) { |
|
325 |
return false; |
|
326 |
} |
|
327 |
} |
|
328 |
|
|
329 |
@Override |
|
330 |
public String getParametersProblems() { |
|
331 |
try { |
|
332 |
LabeledValue<JDBCServerExplorerParameters> params = this.getLabeledServerExplorerParameters(); |
|
333 |
params.getValue().validate(); |
|
334 |
return null; |
|
335 |
} catch (ValidateDataParametersException ex) { |
|
336 |
return ex.getLocalizedMessageStack(); |
|
337 |
} |
|
338 |
} |
|
339 |
|
|
310 | 340 |
private String getUniqueEntryName(String name) { |
311 | 341 |
DataManager dataManager = DALLocator.getDataManager(); |
312 | 342 |
DataServerExplorerPool pool = dataManager.getDataServerExplorerPool(); |
... | ... | |
327 | 357 |
|
328 | 358 |
@Override |
329 | 359 |
public String getConnectionName() { |
330 |
JTextField txtConnections = (JTextField) this.cboConnections.getEditor().getEditorComponent(); |
|
331 |
String value = txtConnections.getText(); |
|
332 |
return (String) StringUtils.defaultIfBlank(value, null); |
|
360 |
String value = (String) this.cboConnections.getSelectedItem(); |
|
361 |
return StringUtils.defaultIfBlank(value, null); |
|
333 | 362 |
} |
334 | 363 |
|
364 |
@Override |
|
365 |
public boolean isNewConnection() { |
|
366 |
String name = this.getConnectionName(); |
|
367 |
if( name == null ) { |
|
368 |
return true; |
|
369 |
} |
|
370 |
ComboBoxModel<LabeledValue<JDBCServerExplorerParameters>> model = this.cboConnections.getModel(); |
|
371 |
for (int i = 0; i < model.getSize(); i++) { |
|
372 |
LabeledValue<JDBCServerExplorerParameters> conn = model.getElementAt(i); |
|
373 |
if( StringUtils.equalsIgnoreCase(name, conn.getLabel()) ) { |
|
374 |
return false; |
|
375 |
} |
|
376 |
} |
|
377 |
return true; |
|
378 |
} |
|
379 |
|
|
335 | 380 |
protected JDBCServerExplorerParameters getConnector() { |
336 | 381 |
LabeledValue<JDBCServerExplorerParameters> item = (LabeledValue<JDBCServerExplorerParameters>) this.cboConnectors.getSelectedItem(); |
337 | 382 |
if( item == null ) { |
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.swing/org.gvsig.fmap.dal.swing.api/src/main/java/org/gvsig/fmap/dal/swing/jdbc/JDBCConnectionPanel.java | ||
---|---|---|
13 | 13 |
} |
14 | 14 |
|
15 | 15 |
public void setServerExplorerParameters(JDBCServerExplorerParameters parameters); |
16 |
|
|
16 | 17 |
public void setLabeledServerExplorerParameters(LabeledValue<JDBCServerExplorerParameters> parameters); |
18 |
|
|
17 | 19 |
public JDBCServerExplorerParameters getServerExplorerParameters(); |
20 |
|
|
18 | 21 |
public LabeledValue<JDBCServerExplorerParameters> getLabeledServerExplorerParameters(); |
22 |
|
|
23 |
public boolean areTheParametersValid(); |
|
24 |
|
|
25 |
public String getParametersProblems(); |
|
26 |
|
|
19 | 27 |
public void delete(); |
28 |
|
|
20 | 29 |
public void clear(); |
30 |
|
|
21 | 31 |
public String getConnectionName(); |
32 |
|
|
33 |
public boolean isNewConnection(); |
|
34 |
|
|
22 | 35 |
public void setConnectorFilter(ConnectorFilter connectorFilter); |
23 | 36 |
|
24 | 37 |
} |
Also available in: Unified diff