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