Revision 47607 trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.xml2db/org.gvsig.xml2db.lib/org.gvsig.xml2db.lib.impl/src/main/java/org/gvsig/xml2db/lib/impl/DefaultXml2dbManager.java
DefaultXml2dbManager.java | ||
---|---|---|
39 | 39 |
import org.gvsig.fmap.dal.DataManager; |
40 | 40 |
import org.gvsig.fmap.dal.DataStoreParameters; |
41 | 41 |
import org.gvsig.fmap.dal.DatabaseWorkspaceManager; |
42 |
import org.gvsig.fmap.dal.PersonalDatabaseServerExplorerFactory; |
|
42 | 43 |
import org.gvsig.fmap.dal.feature.FeatureStore; |
43 | 44 |
import org.gvsig.fmap.dal.feature.FeatureType; |
44 |
import org.gvsig.fmap.dal.store.h2.H2SpatialUtils; |
|
45 | 45 |
import org.gvsig.fmap.dal.store.jdbc.JDBCNewStoreParameters; |
46 | 46 |
import org.gvsig.fmap.dal.store.jdbc.JDBCServerExplorerParameters; |
47 | 47 |
import org.gvsig.fmap.dal.store.jdbc.JDBCStoreParameters; |
... | ... | |
101 | 101 |
} |
102 | 102 |
|
103 | 103 |
@Override |
104 |
public JDBCServerExplorerParameters createDatabase(File dbfile, XMLInfo xmlinfo, SimpleTaskStatus taskStatus) { |
|
105 |
return addToDatabase(dbfile, xmlinfo, taskStatus, true); |
|
104 |
public JDBCServerExplorerParameters createDatabase(String dbprovider, File dbfile, XMLInfo xmlinfo, SimpleTaskStatus taskStatus) {
|
|
105 |
return addToDatabase(dbprovider, dbfile, xmlinfo, taskStatus, true);
|
|
106 | 106 |
} |
107 | 107 |
|
108 | 108 |
@Override |
109 |
public JDBCServerExplorerParameters addToDatabase(File dbfile, XMLInfo xmlinfo, SimpleTaskStatus taskStatus) { |
|
110 |
return addToDatabase(dbfile, xmlinfo, taskStatus, false); |
|
109 |
public JDBCServerExplorerParameters addToDatabase(String dbprovider, File dbfile, XMLInfo xmlinfo, SimpleTaskStatus taskStatus) {
|
|
110 |
return addToDatabase(dbprovider, dbfile, xmlinfo, taskStatus, false);
|
|
111 | 111 |
} |
112 | 112 |
|
113 |
private JDBCServerExplorerParameters addToDatabase(File dbfile, XMLInfo xmlinfo, SimpleTaskStatus taskStatus, boolean createDB) { |
|
113 |
private JDBCServerExplorerParameters addToDatabase(String dbprovider, File dbfile, XMLInfo xmlinfo, SimpleTaskStatus taskStatus, boolean createDB) {
|
|
114 | 114 |
try { |
115 | 115 |
taskStatus = SimpleTaskStatus.get(taskStatus); |
116 | 116 |
|
... | ... | |
124 | 124 |
|
125 | 125 |
taskStatus.message(i18n.getTranslation("_Creating_database")); |
126 | 126 |
taskStatus.setIndeterminate(); |
127 |
|
|
128 |
JDBCServerExplorerParameters serverParams = (JDBCServerExplorerParameters) dataManager.createServerExplorerParameters(FeatureStore.H2SPATIAL_PROVIDER_NAME); |
|
127 |
if( StringUtils.isBlank(dbprovider) ) { |
|
128 |
dbprovider = FeatureStore.H2SPATIAL_PROVIDER_NAME; |
|
129 |
} |
|
130 |
PersonalDatabaseServerExplorerFactory factory = (PersonalDatabaseServerExplorerFactory) dataManager.getServerExplorerRegister().getFactory(dbprovider); |
|
131 |
JDBCServerExplorerParameters serverParams = (JDBCServerExplorerParameters) dataManager.createServerExplorerParameters(dbprovider); |
|
129 | 132 |
((HasAFile)serverParams).setFile(dbfile); |
130 | 133 |
|
131 | 134 |
DatabaseWorkspaceManager dbworkspace = dataManager.createDatabaseWorkspaceManager(serverParams); |
132 | 135 |
JDBCServerExplorer server = (JDBCServerExplorer) dbworkspace.getServerExplorer(); |
133 |
if( !H2SpatialUtils.existsH2db(dbfile) ) {
|
|
136 |
if( !factory.existsdb(dbfile) ) {
|
|
134 | 137 |
server.dropCaches(); |
135 | 138 |
} |
136 | 139 |
|
Also available in: Unified diff