Revision 44591

View differences:

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/JDBCConnectionPickerController.java
16 16
import org.gvsig.fmap.dal.store.jdbc.JDBCServerExplorerParameters;
17 17
import org.gvsig.fmap.dal.swing.DALSwingLocator;
18 18
import org.gvsig.fmap.dal.swing.jdbc.JDBCConnectionDialog;
19
import org.gvsig.tools.swing.api.ListElement;
19 20
import org.gvsig.tools.swing.api.ToolsSwingLocator;
20 21
import org.gvsig.tools.swing.api.pickercontroller.AbstractPickerController;
21 22
import org.gvsig.tools.swing.api.pickercontroller.PickerController;
22 23
import org.gvsig.tools.swing.icontheme.IconTheme;
23
import org.gvsig.tools.util.LabeledValue;
24
import org.gvsig.tools.util.LabeledValueImpl;
25 24

  
26 25
/**
27 26
 *
......
72 71
            if (entry.getExplorerParameters() instanceof JDBCServerExplorerParameters) {
73 72
                JDBCServerExplorerParameters dbParams = (JDBCServerExplorerParameters) entry.getExplorerParameters();
74 73
                combo.addItem(
75
                        new LabeledValueImpl<>(entry.getName(), dbParams)
74
                        new ListElement<>(entry.getName(), dbParams)
76 75
                );
77 76
            }
78 77
        }
......
80 79
    }
81 80

  
82 81
    private void doAddConnection() {
83
        JDBCConnectionDialog newco = DALSwingLocator.getSwingManager().createJDBCConectionDialog();
84
        newco.showDialog();
85
        if (newco.isCanceled()) {
82
        JDBCConnectionDialog dialog = DALSwingLocator.getSwingManager().createJDBCConectionDialog();
83
        dialog.showDialog();
84
        if (dialog.isCanceled()) {
86 85
            return;
87 86
        }
88 87
        DataManager dataManager = DALLocator.getDataManager();
89 88
        DataServerExplorerPool pool = dataManager.getDataServerExplorerPool();
90 89

  
91
        pool.add(newco.getConnectionName(), newco.getServerExplorerParameters());
90
        pool.add(dialog.getConnectionName(), dialog.getServerExplorerParameters());
92 91
        this.fillConnections(this.cboConnection);
92
        ListElement.setSelected(cboConnection, dialog);
93 93
    }
94 94
    
95 95
    @Override
96 96
    public JDBCServerExplorerParameters get() {
97
        LabeledValueImpl<JDBCServerExplorerParameters> item = (LabeledValueImpl<JDBCServerExplorerParameters>) this.cboConnection.getSelectedItem();
97
        ListElement<JDBCServerExplorerParameters> item = (ListElement<JDBCServerExplorerParameters>) this.cboConnection.getSelectedItem();
98 98
        if (item == null) {
99 99
            return null;
100 100
        }
......
104 104

  
105 105
    @Override
106 106
    public void set(JDBCServerExplorerParameters value) {
107
        ComboBoxModel<LabeledValue<JDBCServerExplorerParameters>> model = this.cboConnection.getModel();
107
        ComboBoxModel<ListElement<JDBCServerExplorerParameters>> model = this.cboConnection.getModel();
108 108
        for (int i = 0; i < model.getSize(); i++) {
109 109
            JDBCServerExplorerParameters params = model.getElementAt(i).getValue();
110 110
            if( params == value ) {
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
138 138
            }
139 139
        });
140 140
        adjustPreferedHeight(this.lblFoother,300);
141
        Dimension sz = this.getPreferredSize();
142
        if( sz.width<400 ) {
143
            sz.width = 400;
144
            this.setPreferredSize(sz);
145
        }
141 146
    }
142 147

  
143 148
    private void adjustPreferedHeight(JLabel label, int prefWidth) {
......
234 239

  
235 240
    @Override
236 241
    public JDBCServerExplorerParameters getServerExplorerParameters() {
237
        LabeledValue<JDBCServerExplorerParameters> labeledConnection = this.getLabeledServerExplorerParameters();
238
        if( labeledConnection==null ) {
239
            return null;
240
        }
241
        return labeledConnection.getValue();
242
    }
243
    
244
    @Override
245
    public LabeledValue<JDBCServerExplorerParameters> getLabeledServerExplorerParameters() {
246 242
        JDBCServerExplorerParameters params;
247 243
        JDBCServerExplorerParameters connector = this.getConnector();
248 244
        if( connector==null ) {
......
273 269
        if( s!=null ) {
274 270
            params.setPassword(s);
275 271
        }
276
                
272
        return params;
273
    }
274

  
275
    @Override
276
    public LabeledValue<JDBCServerExplorerParameters> getLabeledServerExplorerParameters() {
277
        JDBCServerExplorerParameters params = this.getServerExplorerParameters();
278
        if( params == null ) {
279
            return null;
280
        }
277 281
        String name = this.getConnectionName();
278 282
        if ( StringUtils.isBlank(name) ) {
279 283
            if( params instanceof FilesystemStoreParameters ) {
......
302 306
        } else if( this.isNewConnection() ) {
303 307
            name = getUniqueEntryName(name);
304 308
        }
305

  
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
        
315 309
        return new LabeledValueImpl<>(name,params);
316 310
    }
317 311
    
......
330 324
    public String getParametersProblems() {
331 325
        try {
332 326
            I18nManager i18n = ToolsLocator.getI18nManager();
333
            LabeledValue<JDBCServerExplorerParameters> params = this.getLabeledServerExplorerParameters();
327
            JDBCServerExplorerParameters params = this.getServerExplorerParameters();
334 328
            if( params == null ) {
335 329
                return i18n.getTranslation("You need to select a connector");
336 330
            }
337
            params.getValue().validate();
331
            params.validate();
338 332
            return null;
339 333
        } catch (ValidateDataParametersException ex) {
340 334
            return ex.getLocalizedMessageStack();
......
362 356
    @Override
363 357
    public String getConnectionName() {
364 358
        Object value = this.cboConnections.getSelectedItem();
365
        return StringUtils.defaultIfBlank(Objects.toString(value, null), null);
359
        String name = StringUtils.defaultIfBlank(Objects.toString(value, null), null);
360
        if( StringUtils.isBlank(name) ) {
361
            name = getUniqueEntryName("Connection");
362
        } else if( this.isNewConnection() ) {
363
            name = getUniqueEntryName(name);
364
        }
365
        return name;
366
        
366 367
    }
367 368

  
368 369
    @Override
369 370
    public boolean isNewConnection() {
370
        String name = this.getConnectionName();
371
        Object value = this.cboConnections.getSelectedItem();
372
        String name = StringUtils.defaultIfBlank(Objects.toString(value, null), null);
371 373
        if( name == null ) {
372 374
            return true;
373 375
        }

Also available in: Unified diff