Revision 26006 branches/v2_0_0_prep/libraries/libFMap_dal/src/org/gvsig/fmap/dal/feature/impl/featureset/EditedIterator.java
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