Revision 43940 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/DefaultFeatureSet.java
DefaultFeatureSet.java | ||
---|---|---|
235 | 235 |
|
236 | 236 |
private long calculateSize() throws DataException { |
237 | 237 |
int mode = this.getIteratorMode(); |
238 |
long limit = this.query.getLimit(); |
|
238 | 239 |
if ((mode & EDITED) != EDITED) { |
239 | 240 |
if (this.provider.isEmpty()) { |
240 | 241 |
return 0; |
... | ... | |
245 | 246 |
DisposableIterator iter = null; |
246 | 247 |
try { |
247 | 248 |
iter = this.fastIterator(); |
248 |
while (true) {
|
|
249 |
while (limit>0 && mySize<limit ) {
|
|
249 | 250 |
iter.next(); |
250 | 251 |
mySize++; |
251 | 252 |
} |
252 | 253 |
} catch (NoSuchElementException e) { |
253 |
return mySize; |
|
254 |
return (limit>0 && mySize>limit)? limit:mySize;
|
|
254 | 255 |
} finally { |
255 | 256 |
iter.dispose(); |
256 | 257 |
} |
257 | 258 |
} else |
258 | 259 |
if ((mode & EDITED) == EDITED) { |
259 |
return provider.getSize()
|
|
260 |
long mySize = provider.getSize()
|
|
260 | 261 |
+ store.getFeatureManager().getDeltaSize(); |
262 |
return (limit>0 && mySize>limit)? limit:mySize; |
|
261 | 263 |
} |
262 |
return provider.getSize(); |
|
264 |
long mySize = provider.getSize(); |
|
265 |
return (limit>0 && mySize>limit)? limit:mySize; |
|
263 | 266 |
} |
264 | 267 |
|
265 | 268 |
public void dispose() { |
Also available in: Unified diff