Revision 44297 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/raster/impl/DefaultCoverageStore.java
DefaultCoverageStore.java | ||
---|---|---|
24 | 24 |
package org.gvsig.fmap.dal.raster.impl; |
25 | 25 |
|
26 | 26 |
import java.util.Collection; |
27 |
import java.util.Collections; |
|
28 | 27 |
import java.util.Iterator; |
29 |
import java.util.List;
|
|
28 |
import java.util.Map;
|
|
30 | 29 |
import java.util.Set; |
31 | 30 |
|
32 | 31 |
import org.gvsig.fmap.dal.DataCache; |
... | ... | |
38 | 37 |
import org.gvsig.fmap.dal.DataStoreNotification; |
39 | 38 |
import org.gvsig.fmap.dal.DataStoreParameters; |
40 | 39 |
import org.gvsig.fmap.dal.DataStoreProviderFactory; |
40 |
import org.gvsig.fmap.dal.StoresRepository; |
|
41 | 41 |
import org.gvsig.fmap.dal.exception.CloseException; |
42 | 42 |
import org.gvsig.fmap.dal.exception.DataException; |
43 | 43 |
import org.gvsig.fmap.dal.exception.InitializeException; |
... | ... | |
55 | 55 |
import org.gvsig.fmap.dal.spi.DataStoreProvider; |
56 | 56 |
import org.gvsig.metadata.MetadataLocator; |
57 | 57 |
import org.gvsig.timesupport.Interval; |
58 |
import org.gvsig.timesupport.RelativeInterval; |
|
59 | 58 |
import org.gvsig.tools.ToolsLocator; |
60 | 59 |
import org.gvsig.tools.dispose.impl.AbstractDisposable; |
61 | 60 |
import org.gvsig.tools.dynobject.DelegatedDynObject; |
... | ... | |
70 | 69 |
import org.gvsig.tools.observer.impl.DelegateWeakReferencingObservable; |
71 | 70 |
import org.gvsig.tools.persistence.PersistentState; |
72 | 71 |
import org.gvsig.tools.persistence.exception.PersistenceException; |
72 |
import org.gvsig.tools.resourcesstorage.ResourcesStorage; |
|
73 | 73 |
import org.gvsig.tools.undo.command.Command; |
74 | 74 |
import org.gvsig.tools.util.UnmodifiableBasicMap; |
75 |
import org.gvsig.tools.util.UnmodifiableBasicSet; |
|
76 |
import org.gvsig.tools.util.UnmodifiableBasicSetChained; |
|
75 | 77 |
import org.gvsig.tools.visitor.Visitor; |
78 |
import org.slf4j.Logger; |
|
79 |
import org.slf4j.LoggerFactory; |
|
76 | 80 |
|
77 | 81 |
/** |
78 | 82 |
* @author jmvivo |
... | ... | |
81 | 85 |
public class DefaultCoverageStore extends AbstractDisposable implements |
82 | 86 |
CoverageStore, CoverageStoreProviderServices, DataStoreInitializer { |
83 | 87 |
|
84 |
// final static private Logger logger = LoggerFactory |
|
85 |
// .getLogger(DefaultFeatureStore.class); |
|
88 |
private static final Logger LOG = LoggerFactory.getLogger(DefaultCoverageStore.class); |
|
86 | 89 |
|
90 |
|
|
87 | 91 |
private DataStoreParameters parameters = null; |
88 | 92 |
private CoverageSelection selection; |
89 | 93 |
|
... | ... | |
530 | 534 |
// TODO Auto-generated method stub |
531 | 535 |
return null; |
532 | 536 |
} |
537 |
|
|
538 |
@Override |
|
539 |
public ResourcesStorage getResourcesStorage() { |
|
540 |
try { |
|
541 |
return this.getExplorer().getResourcesStorage(this); |
|
542 |
} catch (Exception ex) { |
|
543 |
LOG.warn("Can't create resources storage",ex); |
|
544 |
return null; |
|
545 |
} |
|
546 |
} |
|
547 |
|
|
548 |
@Override |
|
549 |
public StoresRepository getStoresRepository() { |
|
550 |
final StoresRepository mainRepository = this.dataManager.getStoresRepository(); |
|
551 |
StoresRepository repository = new StoresRepository() { |
|
552 |
@Override |
|
553 |
public void add(String name, DataStoreParameters parameters) { |
|
554 |
mainRepository.add(name, parameters); |
|
555 |
} |
|
556 |
|
|
557 |
@Override |
|
558 |
public void remove(String name) { |
|
559 |
mainRepository.remove(name); |
|
560 |
} |
|
561 |
|
|
562 |
@Override |
|
563 |
public DataStore get(String key) { |
|
564 |
DataStore store = getChildren().get(key); |
|
565 |
if( store != null ) { |
|
566 |
return store; |
|
567 |
} |
|
568 |
return mainRepository.get(key); |
|
569 |
} |
|
570 |
|
|
571 |
@Override |
|
572 |
public boolean isEmpty() { |
|
573 |
return getChildren().isEmpty() && mainRepository.isEmpty(); |
|
574 |
} |
|
575 |
|
|
576 |
@Override |
|
577 |
public boolean containsKey(String key) { |
|
578 |
return getChildren().containsKey(key) || mainRepository.containsKey(key); |
|
579 |
} |
|
580 |
|
|
581 |
@Override |
|
582 |
public Map<String, DataStore> toMap() { |
|
583 |
return null; |
|
584 |
} |
|
585 |
|
|
586 |
@Override |
|
587 |
public int size() { |
|
588 |
return getChildren().size()+mainRepository.size(); |
|
589 |
} |
|
590 |
|
|
591 |
@Override |
|
592 |
public UnmodifiableBasicSet<String> keySet() { |
|
593 |
UnmodifiableBasicMap<String, DataStore> children = getChildren(); |
|
594 |
if( children.isEmpty() ) { |
|
595 |
return mainRepository.keySet(); |
|
596 |
} |
|
597 |
return new UnmodifiableBasicSetChained<>( |
|
598 |
children.keySet(), |
|
599 |
mainRepository.keySet() |
|
600 |
); |
|
601 |
} |
|
602 |
|
|
603 |
@Override |
|
604 |
public Iterator<DataStore> iterator() { |
|
605 |
final Iterator<String> it = this.keySet().iterator(); |
|
606 |
return new Iterator<DataStore>() { |
|
607 |
@Override |
|
608 |
public boolean hasNext() { |
|
609 |
return it.hasNext(); |
|
610 |
} |
|
611 |
|
|
612 |
@Override |
|
613 |
public DataStore next() { |
|
614 |
String name = it.next(); |
|
615 |
return get(name); |
|
616 |
} |
|
617 |
}; |
|
618 |
} |
|
619 |
}; |
|
620 |
return repository; |
|
621 |
} |
|
622 |
|
|
533 | 623 |
} |
Also available in: Unified diff