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

View differences:

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