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
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