Revision 47606 trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.impl/src/main/java/org/gvsig/fmap/dal/impl/DefaultDataManager.java

View differences:

DefaultDataManager.java
15 15
import java.util.Set;
16 16
import java.util.UUID;
17 17
import java.util.function.Predicate;
18
import java.util.logging.Level;
18 19
import javax.json.JsonArray;
19 20
import javax.json.JsonObject;
20 21
import javax.json.JsonValue;
......
81 82
import org.gvsig.fmap.dal.feature.paging.impl.FeaturePagingHelperImpl;
82 83
import org.gvsig.fmap.dal.feature.spi.FeatureStoreProvider;
83 84
import org.gvsig.fmap.dal.feature.spi.FeatureStoreProviderServices;
85
import org.gvsig.fmap.dal.feature.spi.LocalTransaction;
84 86
import org.gvsig.fmap.dal.feature.spi.cache.FeatureCacheProvider;
85 87
import org.gvsig.fmap.dal.feature.spi.cache.FeatureCacheProviderFactory;
86 88
import org.gvsig.fmap.dal.feature.spi.index.FeatureIndexProvider;
......
568 570
    }
569 571

  
570 572
    @Override
573
    public DataStore openStore(DataTransaction transaction, String providerName, DataStoreParameters parameters) throws InitializeException, ProviderNotRegisteredException, ValidateDataParametersException {
574
        return this.openStore(transaction, providerName, parameters, false);
575
    }
576

  
577
    @Override
571 578
    public DataStore openStore(String providerName, DataStoreParameters parameters) throws InitializeException, ProviderNotRegisteredException, ValidateDataParametersException {
572
        return this.openStore(providerName, parameters, false);
579
        return this.openStore((DataTransaction)null, providerName, parameters, false);
573 580
    }
574 581

  
575 582
    @Override
576 583
    public DataStore openStore(String providerName, DataStoreParameters parameters, boolean ignoreDALResource) throws InitializeException, ProviderNotRegisteredException, ValidateDataParametersException {
584
        return this.openStore((DataTransaction)null, providerName, parameters, ignoreDALResource);
585
    }
586
    
587
    @Override
588
    public DataStore openStore(DataTransaction transaction, String providerName, DataStoreParameters parameters, boolean ignoreDALResource) throws InitializeException, ProviderNotRegisteredException, ValidateDataParametersException {
577 589
        if (providerName == null) {
578 590
            String msg = "Provider name can't be null.";
579 591
            LOGGER.warn(msg);
......
609 621
        DataStore store = (DataStore) storeFactory.create(parameters, this);
610 622
        if( store instanceof DefaultFeatureStore ) {
611 623
            ((DefaultFeatureStore)store).setIgnoreDALResource(ignoreDALResource);
624
            try {
625
                DataTransaction.add(transaction, (FeatureStore) store, false);
626
            } catch (Exception ex) {
627
                throw new InitializeException(store.getFullName(), ex);
628
            }
629

  
612 630
        }
613 631
        DataStoreProvider provider = (DataStoreProvider) providerFactory.create(parameters, store);
614 632

  
......
1263 1281
                }
1264 1282
            }
1265 1283
        }
1284
        LocalTransaction trans = new LocalTransaction(this,null);
1266 1285
        try {
1286
            trans.begin();
1287
            trans.add(databaseWorkspace);
1267 1288
            ResourcesStorage resources = databaseWorkspace.getResourcesStorage();
1268 1289
            ScriptManager scriptManager = ToolsLocator.getScriptManager();
1269 1290
            Script script = scriptManager.loadScript(resources, "OnConnectToWorkspace.script");
1270 1291
            if( script != null ) {
1271 1292
                script.invokeFunction("main", new Object[] {databaseWorkspace});
1272 1293
            }
1294
            trans.commit();
1273 1295
        } catch(Throwable th) {
1274 1296
            LOGGER.warn("Problems executing 'OnConnectToWorkspace.script' from workspace '"+databaseWorkspace.getId()+"'.",th);
1297
            trans.abortQuietly();
1298
        } finally {
1299
            trans.closeQuietly();
1275 1300
        }
1276 1301
    }
1277 1302
    

Also available in: Unified diff