Revision 26006 branches/v2_0_0_prep/libraries/libFMap_dal/src/org/gvsig/fmap/dal/feature/impl/featureset/EditedIterator.java

View differences:

EditedIterator.java
21 21
	public EditedIterator(DefaultFeatureSet featureSet, long index)
22 22
			throws DataException {
23 23
		super(featureSet);
24
		this.newsFeatures = null;
24 25
		if (index > 0) {
25 26
			if (featureSet.provider.canIterateFromIndex()) {
26 27
				try {
27 28
					this.iterator = featureSet.provider.iterator(index);
28 29
				} catch (IllegalArgumentException e) {
29 30
					this.iterator = featureSet.provider.iterator();
30
					this.newsFeatures = null;
31 31
					skypto(index);
32 32
				} catch (UnsupportedOperationException e) {
33 33
					this.iterator = featureSet.provider.iterator();
34
					this.newsFeatures = null;
35 34
					skypto(index);
36 35
				}
37 36
			} else {
38 37
				this.iterator = featureSet.provider.iterator();
39
				this.newsFeatures = null;
40 38
				skypto(index);
41 39
			}
42 40
		} else {
43 41
			this.iterator = featureSet.provider.iterator();
44
			this.newsFeatures = featureSet.store.getFeatureManager()
45
					.getInserted();
46 42
		}
47 43

  
48 44
	}
49 45

  
50 46
	protected Iterator getIterator() {
51
		if (this.iterator.hasNext()) {
47
		if (this.featureIsNew){
48
			return this.newsFeatures;
49
		} else if (this.iterator.hasNext()) {
52 50
			featureIsNew=false;
53 51
			return this.iterator;
52
		} else{
53
			featureIsNew = true;
54
			this.newsFeatures = this.fset.store.getFeatureManager()
55
					.getInserted();
56
			return this.newsFeatures;
54 57
		}
55
		featureIsNew = true;
56
		return this.newsFeatures;
57 58
	}
58 59

  
59 60
	protected DefaultFeature createFeature(FeatureData data) {

Also available in: Unified diff