Revision 44871 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 | ||
---|---|---|
7 | 7 |
import java.util.ArrayList; |
8 | 8 |
import java.util.Collections; |
9 | 9 |
import java.util.HashMap; |
10 |
import java.util.HashSet; |
|
10 | 11 |
import java.util.List; |
11 | 12 |
import java.util.Map; |
12 | 13 |
import java.util.Objects; |
14 |
import java.util.Set; |
|
13 | 15 |
import java.util.UUID; |
14 | 16 |
import org.apache.commons.io.IOUtils; |
15 | 17 |
import org.apache.commons.lang3.StringUtils; |
... | ... | |
30 | 32 |
import org.gvsig.fmap.dal.DataServerExplorerPool; |
31 | 33 |
import org.gvsig.fmap.dal.DataStore; |
32 | 34 |
import org.gvsig.fmap.dal.DataStoreFactory_v2_4; |
35 |
import org.gvsig.fmap.dal.DataStoreNotification; |
|
33 | 36 |
import org.gvsig.fmap.dal.DataStoreParameters; |
34 | 37 |
import org.gvsig.fmap.dal.DataStoreProviderFactory; |
35 | 38 |
import org.gvsig.fmap.dal.DataTypes; |
... | ... | |
105 | 108 |
import org.slf4j.Logger; |
106 | 109 |
import org.slf4j.LoggerFactory; |
107 | 110 |
import org.gvsig.fmap.dal.DatabaseWorkspaceManager.DatabaseWorkspaceListener; |
111 |
import org.gvsig.fmap.dal.feature.FeatureStoreNotification; |
|
112 |
import org.gvsig.tools.observer.Observer; |
|
108 | 113 |
|
109 | 114 |
@SuppressWarnings("UseSpecificCatch") |
110 | 115 |
public class DefaultDataManager |
... | ... | |
166 | 171 |
private final Map<String, DatabaseWorkspaceManager> databaseWorkspaces = new HashMap<>(); |
167 | 172 |
|
168 | 173 |
private final Map<String,DatabaseWorkspaceListener> addDatabaseWorkspaceListeners = new HashMap<>(); |
174 |
|
|
175 |
private final Set<Observer>storeObservers = new HashSet<>(); |
|
169 | 176 |
|
170 | 177 |
public DefaultDataManager() { |
171 | 178 |
this.registers = new Registers(); |
... | ... | |
532 | 539 |
DataStoreProvider provider = (DataStoreProvider) providerFactory.create(parameters, store); |
533 | 540 |
|
534 | 541 |
storeFactory.setProvider(store, provider); |
542 |
|
|
543 |
for (Observer storeObserver : storeObservers) { |
|
544 |
if( storeObserver!=null) { |
|
545 |
store.addObserver(storeObserver); |
|
546 |
} |
|
547 |
} |
|
548 |
if( store instanceof FeatureStoreProviderServices ) { |
|
549 |
((FeatureStoreProviderServices) store).notifyChange(DataStoreNotification.AFTER_OPEN); |
|
550 |
} |
|
535 | 551 |
return store; |
536 | 552 |
} |
537 | 553 |
|
554 |
@Override |
|
538 | 555 |
public DataStore openStore(DataStoreParameters parameters, DataStoreProvider provider) { |
539 | 556 |
String storeName = this.getStoreName(parameters); |
540 | 557 |
if( StringUtils.isEmpty(storeName) ) { |
... | ... | |
551 | 568 |
} |
552 | 569 |
DataStore store = (DataStore) storeFactory.create(parameters, this); |
553 | 570 |
storeFactory.setProvider(store, provider); |
571 |
for (Observer storeObserver : storeObservers) { |
|
572 |
if( storeObserver!=null) { |
|
573 |
store.addObserver(storeObserver); |
|
574 |
} |
|
575 |
} |
|
576 |
if( store instanceof FeatureStoreProviderServices ) { |
|
577 |
((FeatureStoreProviderServices) store).notifyChange(DataStoreNotification.AFTER_OPEN); |
|
578 |
} |
|
554 | 579 |
return store; |
555 | 580 |
} |
556 | 581 |
|
... | ... | |
1298 | 1323 |
return new DefaultDALExpressionBuilder(); |
1299 | 1324 |
} |
1300 | 1325 |
|
1326 |
@Override |
|
1327 |
public void addStoreObserver(Observer observer) { |
|
1328 |
this.storeObservers.add(observer); |
|
1329 |
} |
|
1330 |
|
|
1331 |
@Override |
|
1332 |
public void removeStoreObserver(Observer observer) { |
|
1333 |
this.storeObservers.remove(observer); |
|
1334 |
} |
|
1335 |
|
|
1301 | 1336 |
} |
Also available in: Unified diff