Revision 47607 trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.xml2db/org.gvsig.xml2db.swing/org.gvsig.xml2db.swing.impl/src/main/java/org/gvsig/xml2db/swing/impl/createdbfromxml/CreatedbFromXmlPanel.java

View differences:

CreatedbFromXmlPanel.java
27 27
import java.awt.GridBagConstraints;
28 28
import java.awt.event.ActionEvent;
29 29
import java.awt.event.ItemEvent;
30
import java.awt.event.ItemListener;
31 30
import java.io.File;
32 31
import java.nio.charset.Charset;
33 32
import java.util.ArrayList;
......
46 45
import org.apache.commons.lang3.StringUtils;
47 46
import org.cresques.cts.IProjection;
48 47
import org.gvsig.fmap.dal.DALLocator;
48
import org.gvsig.fmap.dal.DataFactory;
49 49
import org.gvsig.fmap.dal.DataManager;
50
import org.gvsig.fmap.dal.PersonalDatabaseServerExplorerFactory;
50 51
import org.gvsig.fmap.dal.feature.EditableFeatureType;
51
import org.gvsig.fmap.dal.store.h2.H2SpatialUtils;
52
import org.gvsig.fmap.dal.feature.FeatureStore;
52 53
import org.gvsig.fmap.dal.store.jdbc.JDBCServerExplorerParameters;
53 54
import org.gvsig.fmap.dal.swing.DALSwingLocator;
54 55
import org.gvsig.fmap.dal.swing.DataSwingManager;
......
78 79
import org.gvsig.xml2db.swing.Xml2dbPanel;
79 80
import org.gvsig.xml2db.swing.impl.Task;
80 81
import org.gvsig.xml2db.swing.impl.Xml2dbSwingCommons;
82
import static org.gvsig.xml2db.swing.impl.Xml2dbSwingCommons.getPersonalDatabaseServerExplorersComboModel;
81 83
import org.slf4j.Logger;
82 84
import org.slf4j.LoggerFactory;
83 85

  
......
218 220
                setTablesModel(null);
219 221
            }
220 222
        });
223
        
224
        this.cboDatabaseType.setModel(getPersonalDatabaseServerExplorersComboModel());
225
        
221 226
        this.pickerDbfile = toolsSwingManager.createFilePickerController(
222 227
                this.txtDatabaseFile, 
223 228
                this.btnDataBaseFile
......
287 292
        toolsSwingManager.translate(this.lblMode);
288 293
        toolsSwingManager.translate(this.lblLocale);
289 294
        toolsSwingManager.translate(this.lblPrefixesForTables);
295
        toolsSwingManager.translate(this.lblDatabaseType);
290 296
        
291 297
    }
292 298
    
......
312 318
            }
313 319
            return;
314 320
        }
321
        PersonalDatabaseServerExplorerFactory explorerFactory = this.getExplorerFactory();
322
        
315 323
        this.pickerXMLFile.setEnabled(true);
316 324
        this.pickerCharset.setEnabled(true);
317 325
        this.pickerProjection.setEnabled(true);
......
364 372
            }
365 373
            return;
366 374
        }
367
        if( H2SpatialUtils.existsH2db(dbfile) && this.getMode() == MODE_NEW ) {
375
        if( explorerFactory.existsdb(dbfile) && this.getMode() == MODE_NEW ) {
368 376
            this.message(i18n.getTranslation("_Database_file_already_exists"), JOptionPane.WARNING_MESSAGE);
369 377
            if( this.dialog!=null ) {
370 378
                this.dialog.setButtonEnabled(WindowManager_v2.BUTTON_OK, false);
......
414 422
        String repoName = s;
415 423

  
416 424
        boolean registerConnection = this.chkRegisterConnection.isSelected();
425

  
426
        PersonalDatabaseServerExplorerFactory explorerFactory = this.getExplorerFactory();
417 427
        
418 428
        Xml2dbManager manager = Xml2dbLocator.getXml2dbManager();
419 429
        
......
421 431
        switch(getMode()){
422 432
            default:
423 433
            case MODE_NEW:
424
                if( H2SpatialUtils.existsH2db(dbfile) ) {
434
                if( explorerFactory.existsdb(dbfile) ) {
425 435
                    message(i18n.getTranslation("Database already exists"), JOptionPane.WARNING_MESSAGE);
426 436
                    return;
427 437
                }
......
429 439
            case MODE_OVERWRITE:
430 440
                break;
431 441
            case MODE_ADD:
432
                if( !H2SpatialUtils.existsH2db(dbfile) ) {
442
                if( !explorerFactory.existsdb(dbfile) ) {
433 443
                    message(i18n.getTranslation("Database not exists"), JOptionPane.WARNING_MESSAGE);
434 444
                    return;
435 445
                }
......
455 465
                    switch(getMode()){
456 466
                        default:
457 467
                        case MODE_NEW:
458
                            if (H2SpatialUtils.existsH2db(dbfile)) {
468
                            if (explorerFactory.existsdb(dbfile)) {
459 469
                                message(i18n.getTranslation("Database already exists"), JOptionPane.WARNING_MESSAGE);
460 470
                                return;
461 471
                            }
462
                            params = manager.createDatabase(dbfile, xmlinfo, taskStatus);
472
                            params = manager.createDatabase(explorerFactory.getName(),dbfile, xmlinfo, taskStatus);
463 473
                            break;
464 474
                        case MODE_OVERWRITE:
465
                            if( H2SpatialUtils.existsH2db(dbfile) ) {
475
                            if( explorerFactory.existsdb(dbfile) ) {
466 476
                                taskStatus.message(i18n.getTranslation("_Removing_existing_database"));
467
                                H2SpatialUtils.server_stop();
468
                                H2SpatialUtils.removeH2db(dbfile);
469
                                H2SpatialUtils.server_start();
477
                                explorerFactory.serverStop();;
478
                                explorerFactory.removedb(dbfile);
479
                                explorerFactory.serverStart();
470 480
                            }        
471
                            params = manager.createDatabase(dbfile, xmlinfo, taskStatus);
481
                            params = manager.createDatabase(explorerFactory.getName(), dbfile, xmlinfo, taskStatus);
472 482
                            break;
473 483
                        case MODE_ADD:
474
                            params = manager.addToDatabase(dbfile, xmlinfo, taskStatus);
484
                            params = manager.addToDatabase(explorerFactory.getName(),dbfile, xmlinfo, taskStatus);
475 485
                            break;
476 486
                    }
477 487
                    
......
646 656
        }
647 657
        return item.getValue();
648 658
    }
649
    
659

  
660
    private PersonalDatabaseServerExplorerFactory getExplorerFactory() {
661
        return (PersonalDatabaseServerExplorerFactory) this.cboDatabaseType.getSelectedItem();
662
    }
650 663
}

Also available in: Unified diff