Revision 45647 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/editing/memory/FeatureManager.java

View differences:

FeatureManager.java
30 30
import java.util.LinkedHashSet;
31 31
import java.util.Map;
32 32
import java.util.NoSuchElementException;
33

  
34 33
import org.gvsig.fmap.dal.exception.DataException;
35 34
import org.gvsig.fmap.dal.feature.Feature;
36 35
import org.gvsig.fmap.dal.feature.FeatureReference;
37 36
import org.gvsig.fmap.dal.feature.FeatureStore;
38 37
import org.gvsig.fmap.dal.feature.FeatureType;
39 38
import org.gvsig.fmap.dal.feature.impl.DefaultFeature;
39
import org.gvsig.fmap.dal.feature.impl.featurereference.FeatureReferenceFactory;
40 40
import org.gvsig.fmap.dal.feature.spi.FeatureProvider;
41 41

  
42 42
public class FeatureManager {
......
48 48
    private final Map<FeatureReference, Integer> addedAndDeleted;
49 49
    private final Map<FeatureReference, Integer> modifiedFromOriginal;
50 50
    private final Map<FeatureReference, Integer> original;
51
    private final FeatureStore store;
51 52

  
52
    public FeatureManager() {
53
    public FeatureManager(FeatureStore store) {
53 54
        deltaSize = 0;
54 55
        expansionAdapter = new MemoryExpansionAdapter();
55 56
        deleted = new LinkedHashSet<>();
......
57 58
        addedAndDeleted = new LinkedHashMap<>();
58 59
        modifiedFromOriginal = new HashMap<>();
59 60
        original = new HashMap<>();
61
        this.store = store;
60 62
    }
61 63

  
62 64
    /**
......
109 111
        deltaSize--;
110 112
        return feature;
111 113
    }
114
    
115
    public DefaultFeature get(FeatureProvider data){
116
        FeatureReference ref = FeatureReferenceFactory.createFromFeatureProvider(store, data);
117
        try {
118
            return get(ref, store);
119
        } catch (DataException ex) {
120
            return null;
121
        }
122
    }
112 123

  
113 124
    /**
114 125
     * Returns a Feature of the default type.
......
118 129
     * @return a Feature with the given reference
119 130
     * @throws DataException if there is an error getting the Feature
120 131
     */
121
    public Feature get(FeatureReference id, FeatureStore store)
132
    public DefaultFeature get(FeatureReference id, FeatureStore store)
122 133
            throws DataException {
123 134
        return get(id, store, null);
124 135
    }
......
132 143
     * @return a Feature with the given reference
133 144
     * @throws DataException if there is an error getting the Feature
134 145
     */
135
    public Feature get(FeatureReference id, FeatureStore store,
146
    public DefaultFeature get(FeatureReference id, FeatureStore store,
136 147
            FeatureType featureType) throws DataException {
137 148
        // FIXME: y si el featuretype que paso esta modificado.
138 149
        //        Deberia buscarlo en el featuretypemanager ?
......
204 215
        return deleted.contains(feature.getReference());
205 216
    }
206 217

  
218
    public boolean isDeleted(FeatureProvider data) {
219
        FeatureReference ref = FeatureReferenceFactory.createFromFeatureProvider(store, data);
220
        return deleted.contains(ref);
221
    }
222

  
207 223
    public boolean isDeleted(FeatureReference featureID) {
208 224
        return deleted.contains(featureID);
209 225
    }

Also available in: Unified diff