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

View differences:

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