Revision 39411 branches/v2_0_0_prep/libraries/libFMap_dal/src/org/gvsig/fmap/dal/feature/impl/DefaultFeatureStoreTransforms.java
DefaultFeatureStoreTransforms.java | ||
---|---|---|
8 | 8 |
|
9 | 9 |
import org.gvsig.fmap.dal.exception.DataException; |
10 | 10 |
import org.gvsig.fmap.dal.feature.EditableFeature; |
11 |
import org.gvsig.fmap.dal.feature.EditableFeatureType; |
|
11 | 12 |
import org.gvsig.fmap.dal.feature.Feature; |
12 | 13 |
import org.gvsig.fmap.dal.feature.FeatureStore; |
13 | 14 |
import org.gvsig.fmap.dal.feature.FeatureStoreNotification; |
... | ... | |
174 | 175 |
FeatureProvider targetData; |
175 | 176 |
EditableFeature target; |
176 | 177 |
ListIterator iterator = stack.listIterator(stack.size()); |
178 |
FeatureType tft = null; |
|
177 | 179 |
|
178 | 180 |
|
179 | 181 |
while (iterator.hasPrevious()) { |
180 | 182 |
item = (TransformTemporalListElement) iterator.previous(); |
181 |
targetData = this.store |
|
182 |
.createDefaultFeatureProvider(item.targetFeatureType); |
|
183 |
|
|
184 |
tft = item.targetFeatureType; |
|
185 |
if (tft instanceof EditableFeatureType) { |
|
186 |
/* |
|
187 |
* Must be non-editable to create |
|
188 |
* DefaultFeatureProvider |
|
189 |
*/ |
|
190 |
tft = ((EditableFeatureType) tft).getNotEditableCopy(); |
|
191 |
} |
|
192 |
|
|
193 |
targetData = this.store.createDefaultFeatureProvider(tft); |
|
183 | 194 |
targetData.setOID(source.getData().getOID()); |
184 | 195 |
targetData.setNew(false); |
185 | 196 |
target = (new DefaultEditableFeature(this.store, targetData)) |
... | ... | |
231 | 242 |
} |
232 | 243 |
this.store = (DefaultFeatureStore) featureStore; |
233 | 244 |
} |
245 |
|
|
246 |
|
|
247 |
public void setStoreForClone(FeatureStore featureStore) { |
|
248 |
this.store = (DefaultFeatureStore) featureStore; |
|
249 |
} |
|
234 | 250 |
|
235 | 251 |
public boolean isTransformsOriginalValues() { |
236 | 252 |
if (this.isTramsformValues == null) { |
... | ... | |
325 | 341 |
} |
326 | 342 |
return false; |
327 | 343 |
} |
344 |
|
|
345 |
public Object clone() throws CloneNotSupportedException { |
|
346 |
|
|
347 |
DefaultFeatureStoreTransforms cloned = (DefaultFeatureStoreTransforms) super.clone(); |
|
348 |
cloned.transforms = new ArrayList(); |
|
349 |
int n = this.transforms.size(); |
|
350 |
for (int i=0; i<n; i++) { |
|
351 |
cloned.transforms.add(((FeatureStoreTransform) this.transforms.get(i)).clone()); |
|
352 |
} |
|
353 |
cloned.lastTransformStack = null; |
|
354 |
|
|
355 |
return cloned; |
|
356 |
} |
|
328 | 357 |
|
329 | 358 |
} |
Also available in: Unified diff