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
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