Revision 46133
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/featureset/EditedIterator.java | ||
---|---|---|
38 | 38 |
import org.gvsig.fmap.dal.feature.impl.featurereference.FeatureReferenceFactory; |
39 | 39 |
import org.gvsig.fmap.dal.feature.spi.FeatureProvider; |
40 | 40 |
import org.gvsig.fmap.dal.feature.spi.FeatureSetProvider; |
41 |
import org.gvsig.tools.dispose.DisposableIterator; |
|
42 |
import org.gvsig.tools.dispose.DisposeUtils; |
|
41 | 43 |
import org.gvsig.tools.exception.BaseException; |
42 | 44 |
import org.gvsig.tools.util.ChainedIterator; |
43 | 45 |
|
... | ... | |
77 | 79 |
} |
78 | 80 |
|
79 | 81 |
|
80 |
Iterator<FeatureProvider> wrappedProviderIterator = new Iterator<FeatureProvider>() { |
|
82 |
Iterator<FeatureProvider> wrappedProviderIterator = new DisposableIterator<FeatureProvider>() {
|
|
81 | 83 |
@Override |
82 | 84 |
public boolean hasNext() { |
83 | 85 |
return providerIterator.hasNext(); |
... | ... | |
104 | 106 |
public void remove() { |
105 | 107 |
EditedIterator.super.remove(); |
106 | 108 |
} |
109 |
|
|
110 |
@Override |
|
111 |
public void dispose() { |
|
112 |
DisposeUtils.disposeQuietly(providerIterator); |
|
113 |
} |
|
107 | 114 |
}; |
108 | 115 |
this.iterator = new ChainedIterator(wrappedProviderIterator, insertedFeatures, updatedFeatures); |
109 | 116 |
if (!canDelegateInProvider) { |
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/featureset/DefaultIterator.java | ||
---|---|---|
156 | 156 |
} |
157 | 157 |
|
158 | 158 |
protected void doDispose() throws BaseException { |
159 |
if (iterator instanceof DisposableIterator){ |
|
160 |
((DisposableIterator)this.iterator).dispose(); |
|
161 |
} |
|
159 |
DisposeUtils.disposeQuietly(this.iterator); |
|
162 | 160 |
this.iterator = null; |
163 | 161 |
DisposeUtils.disposeQuietly(this.fset); |
164 | 162 |
this.fset = null; |
Also available in: Unified diff