Revision 45739 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
31 31
import java.util.Map;
32 32
import java.util.NoSuchElementException;
33 33
import org.gvsig.fmap.dal.exception.DataException;
34
import org.gvsig.fmap.dal.feature.EditableFeature;
34 35
import org.gvsig.fmap.dal.feature.Feature;
35 36
import org.gvsig.fmap.dal.feature.FeatureReference;
36 37
import org.gvsig.fmap.dal.feature.FeatureStore;
......
91 92
        return previousFeature;
92 93
    }
93 94

  
94
    public void add(Feature feature) {
95
    public void add(EditableFeature feature) {
95 96
        FeatureReference id = feature.getReference();
96 97
        if(!original.containsKey(id)){
97 98
            original.put(id, null);
......
178 179
        return feat;
179 180
    }
180 181

  
181
    public int update(Feature feature, Feature oldFeature) {
182
    public int update(EditableFeature feature, Feature oldFeature) {
182 183
        FeatureReference id = feature.getReference();
183 184
        if(!original.containsKey(id)){
184 185
            int n = expansionAdapter.addObject(oldFeature);
......
299 300
    }
300 301

  
301 302
    public Iterator<FeatureProvider> getInserted() {
302
        Iterator<Feature> it = new InsertedFeaturesIterator();
303
        Iterator<EditableFeature> it = new InsertedFeaturesIterator();
303 304
        return new Iterator<FeatureProvider>() {
304 305
          @Override
305 306
          public boolean hasNext() {
......
313 314
        };
314 315
    }
315 316

  
316
    public Iterator<Feature> getInsertedFeatures() {
317
    public Iterator<EditableFeature> getInsertedFeatures() {
317 318
        return new InsertedFeaturesIterator();
318 319
    }
319 320

  
320
    private class InsertedFeaturesIterator implements Iterator<Feature> {
321
    private class InsertedFeaturesIterator implements Iterator<EditableFeature> {
321 322

  
322 323
        private final Iterator addedIter;
323
        private Feature feature;
324
        private EditableFeature feature;
324 325
        private Boolean hasnext = null;
325 326

  
326 327
        public InsertedFeaturesIterator() {
......
336 337
            int pos;
337 338
            while (addedIter.hasNext()) {
338 339
                pos = ((Integer) addedIter.next());
339
                feature = (Feature) expansionAdapter.getObject(pos);
340
                feature = (EditableFeature) expansionAdapter.getObject(pos);
340 341
                if (!deleted.contains(feature.getReference())) {
341 342
                    hasnext = true;
342 343
                    break;
......
346 347
        }
347 348

  
348 349
        @Override
349
        public Feature next() {
350
        public EditableFeature next() {
350 351
            if (!hasNext()) {
351 352
                throw new NoSuchElementException();
352 353
            }
......
361 362

  
362 363
    }
363 364

  
364
    public Iterator<Feature> getUpdatedFeatures() {
365
    public Iterator<EditableFeature> getUpdatedFeatures() {
365 366
        return new UpdatedFeaturesIterator();
366 367
    }
367 368

  
368 369
    public Iterator<FeatureProvider> getUpdated() {
369
        Iterator<Feature> it = new UpdatedFeaturesIterator();
370
        Iterator<EditableFeature> it = new UpdatedFeaturesIterator();
370 371
        return new Iterator<FeatureProvider>() {
371 372
          @Override
372 373
          public boolean hasNext() {
......
380 381
        };
381 382
    }
382 383

  
383
    private class UpdatedFeaturesIterator implements Iterator<Feature> {
384
    private class UpdatedFeaturesIterator implements Iterator<EditableFeature> {
384 385

  
385 386
        private Boolean hasnext = null;
386 387
        private final Iterator iter;
387
        private Feature feature;
388
        private EditableFeature feature;
388 389
        private int pos;
389 390

  
390 391
        public UpdatedFeaturesIterator() {
......
400 401
            hasnext = false;
401 402
            while (iter.hasNext()) {
402 403
                pos++;
403
                feature = (Feature) iter.next();
404
                if ( feature != null &&
405
                     !deleted.contains(feature.getReference()) &&
404
                Feature f = (Feature) iter.next();
405
                if ( f != null &&
406
                     !deleted.contains(f.getReference()) &&
406 407
                     modifiedFromOriginal.containsValue(pos)) {
407 408
                    hasnext = true;
409
                    feature = (EditableFeature) f;
408 410
                    break;
409 411
                }
410 412
            }
......
412 414
        }
413 415

  
414 416
        @Override
415
        public Feature next() {
417
        public EditableFeature next() {
416 418
            if (!hasNext()) {
417 419
                throw new NoSuchElementException();
418 420
            }

Also available in: Unified diff