Revision 44259 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/feature/impl/DefaultFeatureStore.java
DefaultFeatureStore.java | ||
---|---|---|
58 | 58 |
import org.gvsig.fmap.dal.DataStoreNotification; |
59 | 59 |
import org.gvsig.fmap.dal.DataStoreParameters; |
60 | 60 |
import org.gvsig.fmap.dal.DataStoreProviderFactory; |
61 |
import org.gvsig.fmap.dal.StoresRepository; |
|
61 | 62 |
import org.gvsig.fmap.dal.exception.CloneException; |
62 | 63 |
import org.gvsig.fmap.dal.exception.CloseException; |
63 | 64 |
import org.gvsig.fmap.dal.exception.CreateException; |
... | ... | |
168 | 169 |
import org.gvsig.tools.undo.command.Command; |
169 | 170 |
import org.gvsig.tools.util.HasAFile; |
170 | 171 |
import org.gvsig.tools.util.ResourcesStorage; |
172 |
import org.gvsig.tools.util.UnmodifiableBasicMap; |
|
173 |
import org.gvsig.tools.util.UnmodifiableBasicSet; |
|
174 |
import org.gvsig.tools.util.UnmodifiableBasicSetChained; |
|
171 | 175 |
import org.gvsig.tools.visitor.VisitCanceledException; |
172 | 176 |
import org.gvsig.tools.visitor.Visitor; |
173 | 177 |
|
... | ... | |
331 | 335 |
} |
332 | 336 |
|
333 | 337 |
@Override |
334 |
public Iterator<DataStore> getChildren() {
|
|
338 |
public UnmodifiableBasicMap<String,DataStore> getChildren() {
|
|
335 | 339 |
return this.provider.getChildren(); |
336 | 340 |
} |
337 | 341 |
|
338 | 342 |
@Override |
339 |
public DataStore getChild(String name) { |
|
340 |
return this.provider.getChild(name); |
|
341 |
} |
|
342 |
|
|
343 |
@Override |
|
344 |
public List<String> getChildrenNames() { |
|
345 |
List<String> names = new ArrayList<>(); |
|
346 |
Iterator<DataStore> it = this.getChildren(); |
|
347 |
while(it.hasNext()) { |
|
348 |
DataStore store = it.next(); |
|
349 |
names.add(store.getName()); |
|
350 |
} |
|
351 |
return names; |
|
352 |
} |
|
353 |
|
|
354 |
@Override |
|
355 |
public boolean hasChildren() { |
|
356 |
return this.provider.hasChildren(); |
|
357 |
} |
|
358 |
|
|
359 |
@Override |
|
360 | 343 |
public FeatureStoreProvider getProvider() { |
361 | 344 |
return this.provider; |
362 | 345 |
} |
... | ... | |
2934 | 2917 |
|
2935 | 2918 |
@Override |
2936 | 2919 |
public ExpressionBuilder createExpressionBuilder() { |
2937 |
ExpressionBuilder builder = null; |
|
2938 |
// if( this.provider instanceof FeatureStoreProvider_v2 ) { |
|
2939 |
// builder = ((FeatureStoreProvider_v2)this.provider).createExpression(); |
|
2940 |
// } |
|
2941 |
// if( builder==null ) { |
|
2942 |
builder = ExpressionEvaluatorLocator.getManager().createExpressionBuilder(); |
|
2943 |
// } |
|
2920 |
ExpressionBuilder builder; |
|
2921 |
builder = ExpressionEvaluatorLocator.getManager().createExpressionBuilder(); |
|
2944 | 2922 |
return builder; |
2945 | 2923 |
} |
2946 | 2924 |
|
... | ... | |
3004 | 2982 |
public ResourcesStorage getResourcesStorage() { |
3005 | 2983 |
return new DALResourcesStorage(this); |
3006 | 2984 |
} |
2985 |
|
|
2986 |
@Override |
|
2987 |
public StoresRepository getStoresRepository() { |
|
2988 |
final StoresRepository mainRepository = this.dataManager.getStoresRepository(); |
|
2989 |
StoresRepository repository = new StoresRepository() { |
|
2990 |
@Override |
|
2991 |
public void add(String name, DataStoreParameters parameters) { |
|
2992 |
mainRepository.add(name, parameters); |
|
2993 |
} |
|
2994 |
|
|
2995 |
@Override |
|
2996 |
public void remove(String name) { |
|
2997 |
mainRepository.remove(name); |
|
2998 |
} |
|
2999 |
|
|
3000 |
@Override |
|
3001 |
public DataStore get(String key) { |
|
3002 |
DataStore store = getChildren().get(key); |
|
3003 |
if( store != null ) { |
|
3004 |
return store; |
|
3005 |
} |
|
3006 |
return mainRepository.get(key); |
|
3007 |
} |
|
3008 |
|
|
3009 |
@Override |
|
3010 |
public boolean isEmpty() { |
|
3011 |
return getChildren().isEmpty() && mainRepository.isEmpty(); |
|
3012 |
} |
|
3013 |
|
|
3014 |
@Override |
|
3015 |
public boolean containsKey(String key) { |
|
3016 |
return getChildren().containsKey(key) || mainRepository.containsKey(key); |
|
3017 |
} |
|
3018 |
|
|
3019 |
@Override |
|
3020 |
public Map<String, DataStore> toMap() { |
|
3021 |
return null; |
|
3022 |
} |
|
3023 |
|
|
3024 |
@Override |
|
3025 |
public int size() { |
|
3026 |
return getChildren().size()+mainRepository.size(); |
|
3027 |
} |
|
3028 |
|
|
3029 |
@Override |
|
3030 |
public UnmodifiableBasicSet<String> keySet() { |
|
3031 |
UnmodifiableBasicMap<String, DataStore> children = getChildren(); |
|
3032 |
if( children.isEmpty() ) { |
|
3033 |
return mainRepository.keySet(); |
|
3034 |
} |
|
3035 |
return new UnmodifiableBasicSetChained<>( |
|
3036 |
children.keySet(), |
|
3037 |
mainRepository.keySet() |
|
3038 |
); |
|
3039 |
} |
|
3040 |
|
|
3041 |
@Override |
|
3042 |
public Iterator<DataStore> iterator() { |
|
3043 |
final Iterator<String> it = this.keySet().iterator(); |
|
3044 |
return new Iterator<DataStore>() { |
|
3045 |
@Override |
|
3046 |
public boolean hasNext() { |
|
3047 |
return it.hasNext(); |
|
3048 |
} |
|
3049 |
|
|
3050 |
@Override |
|
3051 |
public DataStore next() { |
|
3052 |
String name = it.next(); |
|
3053 |
return get(name); |
|
3054 |
} |
|
3055 |
}; |
|
3056 |
} |
|
3057 |
}; |
|
3058 |
return repository; |
|
3059 |
} |
|
3007 | 3060 |
|
3008 | 3061 |
} |
Also available in: Unified diff