Revision 43940

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/featureset/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