Revision 46236

View differences:

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
42 42
import org.gvsig.fmap.dal.feature.impl.DefaultFeatureRules;
43 43
import org.gvsig.fmap.dal.feature.impl.featurereference.FeatureReferenceFactory;
44 44
import org.gvsig.fmap.dal.feature.spi.FeatureProvider;
45
import org.gvsig.tools.util.Rewind;
46
import org.gvsig.tools.util.Size;
45 47

  
46 48
@SuppressWarnings("UseSpecificCatch")
47 49
public class FeatureManager {
......
326 328
        return new InsertedFeaturesIterator();
327 329
    }
328 330

  
329
    private class InsertedFeaturesIterator implements Iterator<EditableFeature> {
331
    private class InsertedFeaturesIterator implements Iterator<EditableFeature>, Size, Rewind {
330 332

  
331
        private final Iterator addedIter;
333
        private Iterator addedIter;
332 334
        private EditableFeature feature;
333 335
        private Boolean hasnext = null;
334 336

  
......
368 370
            addedIter.remove();
369 371
        }
370 372

  
373
        @Override
374
        public int size() {
375
            return added.size();
376
        }
377
        
378
        @Override
379
        public void rewind() {
380
            addedIter = added.values().iterator();
381
            hasnext = null;
382
        }
383

  
371 384
    }
372 385
    
373 386
    public List<FeatureReference> getAddedAndUpdatedFeatures() {
......
423 436
        };
424 437
    }
425 438

  
426
    private class UpdatedFeaturesIterator implements Iterator<EditableFeature> {
439
    private class UpdatedFeaturesIterator implements Iterator<EditableFeature>, Size, Rewind {
427 440

  
428 441
        private Boolean hasnext = null;
429
        private final Iterator iter;
442
        private Iterator iter;
430 443
        private EditableFeature feature;
431 444
        private int pos;
432 445

  
......
467 480
        @Override
468 481
        public void remove() {
469 482
            throw new UnsupportedOperationException();
470

  
471 483
        }
484
        
485
        @Override
486
        public int size() {
487
            return expansionAdapter.getSize();
488
        }
489
        
490
        @Override
491
        public void rewind() {
492
            iter = expansionAdapter.iterator();
493
            pos = -1;
494
            hasnext = null;
495
        }
472 496
    }
473 497

  
474 498
    public boolean hasNews() {

Also available in: Unified diff