Revision 42488

View differences:

trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.file/org.gvsig.fmap.dal.file.shp/src/test/java/org/gvsig/fmap/dal/store/shp/TestSHP.java
77 77
		set = store.getFeatureSet();
78 78

  
79 79
		System.out.println("Num:" + set.getSize());
80
		DisposableIterator it = set.iterator();
80
		DisposableIterator it = (DisposableIterator) set.iterator();
81 81
		Iterator ftIt;
82 82
		FeatureAttributeDescriptor desc;
83 83

  
......
125 125
		System.err.println("Antes de la edici?n");
126 126
		set = store.getFeatureSet();
127 127
		System.out.println("Num:" + set.getSize());
128
		DisposableIterator it = set.iterator();
128
		DisposableIterator it = (DisposableIterator) set.iterator();
129 129
		Iterator ftIt;
130 130
		FeatureAttributeDescriptor desc;
131 131

  
......
160 160
		System.err.println("Despu?s de la edici?n");
161 161
		set = store.getFeatureSet();
162 162
		System.out.println("Num:" + set.getSize());
163
		it = set.iterator();
163
		it = (DisposableIterator) set.iterator();
164 164

  
165 165
		i = 0;
166 166
		while (it.hasNext()) {
......
218 218
		FeatureSet originalSet = store.getFeatureSet();
219 219
		assertEquals(set.getSize(), originalSet.getSize());
220 220

  
221
		DisposableIterator originalIter = originalSet.iterator();
222
		DisposableIterator iter = set.iterator();
221
		DisposableIterator originalIter = (DisposableIterator) originalSet.iterator();
222
		DisposableIterator iter = (DisposableIterator) set.iterator();
223 223
		while (iter.hasNext()) {
224 224
			assertEquals(originalIter.next(), iter.next());
225 225
		}
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.file/org.gvsig.fmap.dal.file.dbf/src/test/java/org/gvsig/fmap/dal/store/dbf/JoinTransform.java
216 216

  
217 217
		Iterator itAttr;
218 218

  
219
		DisposableIterator itFeat = set.iterator();
219
		DisposableIterator itFeat = set.fastIterator();
220 220
		if (itFeat.hasNext()) {
221 221
			feat = (Feature) itFeat.next();
222 222

  
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.impl/src/test/java/org/gvsig/fmap/dal/feature/BaseTestFeatureStore.java
682 682
			set = store.getFeatureSet(query);
683 683
			FeatureType type = set.getDefaultFeatureType();
684 684

  
685
			DisposableIterator it = set.iterator();
685
			DisposableIterator it = set.fastIterator();
686 686
			Feature feature;
687 687
			printFeatureTypeColNames(type, 15);
688 688
			while (it.hasNext()) {
......
712 712
			}
713 713
			set = store.getFeatureSet(query);
714 714

  
715
			DisposableIterator it = set.iterator();
715
			DisposableIterator it = set.fastIterator();
716 716
			DisposableIterator fit = set.fastIterator();
717 717

  
718 718
			assertTrue(this.compareFeatureIterators(it, fit));
......
832 832

  
833 833
		assertEquals(set.getSize(), store.getFeatureSelection().getSize());
834 834

  
835
		DisposableIterator iter = set.iterator();
835
		DisposableIterator iter = set.fastIterator();
836 836
		while (iter.hasNext()) {
837 837
			assertTrue(store.getFeatureSelection().isSelected(
838 838
					(Feature) iter.next()));
......
842 842
		store.getFeatureSelection().reverse();
843 843
		assertTrue(store.getFeatureSelection().isEmpty());
844 844
		assertEquals(0, store.getFeatureSelection().getSize());
845
		iter = set.iterator();
845
		iter = set.fastIterator();
846 846
		while (iter.hasNext()) {
847 847
			assertFalse(store.getFeatureSelection().isSelected(
848 848
					(Feature) iter.next()));
......
896 896
			if (getRandom().nextBoolean()) {
897 897
				iter = set.fastIterator();
898 898
			} else {
899
				iter = set.iterator();
899
				iter = set.fastIterator();
900 900
			}
901 901
			if (getRandom().nextBoolean()) {
902 902
				iter1 = set1.fastIterator();
903 903
			} else {
904
				iter1 = set1.iterator();
904
				iter1 = set1.fastIterator();
905 905
			}
906 906

  
907 907
			assertTrue(compareFeatureIterators(iter, iter1, names));
......
923 923
			if (getRandom().nextBoolean()) {
924 924
				iter = set.fastIterator();
925 925
			} else {
926
				iter = set.iterator();
926
				iter = set.fastIterator();
927 927
			}
928 928
			if (getRandom().nextBoolean()) {
929 929
				iter1 = set1.fastIterator();
930 930
			} else {
931
				iter1 = set1.iterator();
931
				iter1 = set1.fastIterator();
932 932
			}
933 933

  
934 934
			assertTrue(compareFeatureIterators(iter, iter1, names));
......
940 940
			assertTrue(checksAttributesPositions(iter1, names));
941 941
			iter1.dispose();
942 942

  
943
			iter1 = set1.iterator();
943
			iter1 = set1.fastIterator();
944 944
			assertTrue(checksAttributesPositions(iter1, names));
945 945
			iter1.dispose();
946 946

  
......
1046 1046
			if (getRandom().nextBoolean()) {
1047 1047
				iter1 = set1.fastIterator();
1048 1048
			} else {
1049
				iter1 = set1.iterator();
1049
				iter1 = set1.fastIterator();
1050 1050
			}
1051 1051

  
1052 1052
			assertTrue(checkSort(iter1, query));
......
1245 1245
			if (getRandom().nextBoolean()) {
1246 1246
				iter = set.fastIterator();
1247 1247
			} else {
1248
				iter = set.iterator();
1248
				iter = set.fastIterator();
1249 1249
			}
1250 1250
			if (getRandom().nextBoolean()) {
1251 1251
				iter1 = set1.fastIterator();
1252 1252
			} else {
1253
				iter1 = set1.iterator();
1253
				iter1 = set1.fastIterator();
1254 1254
			}
1255 1255
			while (iter.hasNext()) {
1256 1256
				feature = (Feature) iter.next();
......
1294 1294
			if (getRandom().nextBoolean()) {
1295 1295
				iter = set.fastIterator();
1296 1296
			} else {
1297
				iter = set.iterator();
1297
				iter = set.fastIterator();
1298 1298
			}
1299 1299
			if (getRandom().nextBoolean()) {
1300 1300
				iter1 = set1.fastIterator();
1301 1301
			} else {
1302
				iter1 = set1.iterator();
1302
				iter1 = set1.fastIterator();
1303 1303
			}
1304 1304
			while (iter.hasNext()) {
1305 1305
				feature = (Feature) iter.next();
......
1341 1341
			if (getRandom().nextBoolean()) {
1342 1342
				iter = set.fastIterator();
1343 1343
			} else {
1344
				iter = set.iterator();
1344
				iter = set.fastIterator();
1345 1345
			}
1346 1346
			if (getRandom().nextBoolean()) {
1347 1347
				iter1 = set1.fastIterator();
1348 1348
			} else {
1349
				iter1 = set1.iterator();
1349
				iter1 = set1.fastIterator();
1350 1350
			}
1351 1351
			while (iter.hasNext()) {
1352 1352
				feature = (Feature) iter.next();
......
1387 1387
			if (getRandom().nextBoolean()) {
1388 1388
				iter = set.fastIterator();
1389 1389
			} else {
1390
				iter = set.iterator();
1390
				iter = set.fastIterator();
1391 1391
			}
1392 1392
			if (getRandom().nextBoolean()) {
1393 1393
				iter1 = set1.fastIterator();
1394 1394
			} else {
1395
				iter1 = set1.iterator();
1395
				iter1 = set1.fastIterator();
1396 1396
			}
1397 1397
			while (iter.hasNext()) {
1398 1398
				feature = (Feature) iter.next();
......
1437 1437
			if (getRandom().nextBoolean()) {
1438 1438
				iter = set.fastIterator();
1439 1439
			} else {
1440
				iter = set.iterator();
1440
				iter = set.fastIterator();
1441 1441
			}
1442 1442
			if (getRandom().nextBoolean()) {
1443 1443
				iter1 = set1.fastIterator();
1444 1444
			} else {
1445
				iter1 = set1.iterator();
1445
				iter1 = set1.fastIterator();
1446 1446
			}
1447 1447
			while (iter.hasNext()) {
1448 1448
				feature = (Feature) iter.next();
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.impl/src/test/java/org/gvsig/fmap/dal/feature/BaseTestEditableFeatureStore.java
264 264
		}
265 265
		assertEquals(set.getSize(), originalSet.getSize());
266 266

  
267
		DisposableIterator originalIter = originalSet.iterator();
268
		DisposableIterator iter = set.iterator();
267
		DisposableIterator originalIter = (DisposableIterator) originalSet.fastIterator();
268
		DisposableIterator iter = (DisposableIterator) set.fastIterator();
269 269
		assertTrue(compareFeatureIterators(originalIter, iter));
270 270
		originalIter.dispose();
271 271
		iter.dispose();
......
311 311
		FeatureSet originalSet = store.getFeatureSet(getDefaultQuery(store));
312 312
		assertEquals(set.getSize(), originalSet.getSize());
313 313

  
314
		DisposableIterator originalIter = originalSet.iterator();
315
		DisposableIterator iter = set.iterator();
314
		DisposableIterator originalIter = originalSet.fastIterator();
315
		DisposableIterator iter = set.fastIterator();
316 316
		int i = 0;
317 317
		while (iter.hasNext()) {
318 318
			assertTrue("" + i, compareFeatures((Feature) originalIter.next(),
......
329 329
		originalIter.dispose();
330 330

  
331 331

  
332
		originalIter = originalSet.iterator();
333
		iter = set.iterator();
332
		originalIter = (DisposableIterator) originalSet.fastIterator();
333
		iter = (DisposableIterator) set.fastIterator();
334 334
		i = 0;
335 335
		while (iter.hasNext()) {
336 336
			assertTrue("" + i, compareFeatures((Feature) originalIter.next(),
......
352 352
		set = result.getFeatureSet();
353 353
		assertEquals(originalSet.getSize() - 2, set.getSize());
354 354

  
355
		originalIter = originalSet.iterator();
356
		iter = set.iterator();
355
		originalIter = originalSet.fastIterator();
356
		iter = set.fastIterator();
357 357
		i = 0;
358 358
		while (iter.hasNext()) {
359 359
			assertTrue("" + i, compareFeatures((Feature) originalIter.next(),
......
403 403
		EditableFeature newFeature = result.createNewFeature(true);
404 404
		fillPrimaryKeyInserFeature(newFeature);
405 405
		set.insert(newFeature);
406
		DisposableIterator originalIter = originalSet.iterator();
407
		DisposableIterator iter = set.iterator();
406
		DisposableIterator originalIter = originalSet.fastIterator();
407
		DisposableIterator iter = set.fastIterator();
408 408
		int i = 0;
409 409
		while (originalIter.hasNext()) {
410 410
			assertTrue("" + i, compareFeatures((Feature) originalIter
......
420 420
		iter.dispose();
421 421
		originalIter.dispose();
422 422

  
423
		originalIter = originalSet.iterator();
424
		iter = set.iterator();
423
		originalIter = originalSet.fastIterator();
424
		iter = set.fastIterator();
425 425
		i = 0;
426 426
		while (originalIter.hasNext()) {
427 427
			assertTrue("" + i, compareFeatures((Feature) originalIter
......
447 447
		set = result.getFeatureSet();
448 448
		assertEquals(originalSet.getSize() + 2, set.getSize());
449 449

  
450
		originalIter = originalSet.iterator();
451
		iter = set.iterator();
450
		originalIter = originalSet.fastIterator();
451
		iter = set.fastIterator();
452 452
		i = 0;
453 453
		while (originalIter.hasNext()) {
454 454
			assertTrue("" + i, compareFeatures((Feature) originalIter
......
500 500

  
501 501
		FeatureSet set = result.getFeatureSet();
502 502

  
503
		DisposableIterator iter = set.iterator();
503
		DisposableIterator iter = set.fastIterator();
504 504
		assertTrue(iter.hasNext());
505 505
		assertNotNull(iter.next());
506 506

  
......
567 567

  
568 568
		FeatureSet set = result.getFeatureSet();
569 569

  
570
		DisposableIterator iter = set.iterator();
570
		DisposableIterator iter = set.fastIterator();
571 571
		assertTrue(iter.hasNext());
572 572
		assertNotNull(iter.next());
573 573

  
......
653 653

  
654 654
		FeatureSet set = result.getFeatureSet();
655 655

  
656
		DisposableIterator iter = set.iterator();
656
		DisposableIterator iter = set.fastIterator();
657 657
		assertTrue(iter.hasNext());
658 658
		assertNotNull(iter.next());
659 659

  
......
789 789
		assertEquals(originalSet.getSize() - deletesFeature.length, set
790 790
				.getSize());
791 791

  
792
		DisposableIterator originalIter = originalSet.iterator();
793
		DisposableIterator iter = set.iterator();
792
		DisposableIterator originalIter = originalSet.fastIterator();
793
		DisposableIterator iter = set.fastIterator();
794 794

  
795 795
		i = 0;
796 796
		while (iter.hasNext()) {
......
810 810
		assertEquals(originalSet.getSize() - deletesFeature.length, set
811 811
				.getSize());
812 812

  
813
		originalIter = originalSet.iterator();
814
		iter = set.iterator();
813
		originalIter = originalSet.fastIterator();
814
		iter = set.fastIterator();
815 815
		i = 0;
816 816
		while (iter.hasNext()) {
817 817
			assertTrue("" + i, compareFeatures((Feature) originalIter.next(),
......
930 930
		assertEquals(originalSet.getSize() + insertsFeature.length, set
931 931
				.getSize());
932 932

  
933
		DisposableIterator originalIter = originalSet.iterator();
934
		DisposableIterator iter = set.iterator();
933
		DisposableIterator originalIter = originalSet.fastIterator();
934
		DisposableIterator iter = set.fastIterator();
935 935

  
936 936
		i = 0;
937 937
		while (originalIter.hasNext()) {
......
955 955
		assertEquals(originalSet.getSize() + insertsFeature.length, set
956 956
				.getSize());
957 957

  
958
		originalIter = originalSet.iterator();
959
		iter = set.iterator();
958
		originalIter = originalSet.fastIterator();
959
		iter = set.fastIterator();
960 960
		i = 0;
961 961
		while (originalIter.hasNext()) {
962 962
			assertTrue("" + i, compareFeatures((Feature) originalIter.next(),
......
1022 1022
			}
1023 1023
		}
1024 1024
		set = result.getFeatureSet(getDefaultQuery(result));
1025
		DisposableIterator iter = set.iterator();
1025
		DisposableIterator iter = set.fastIterator();
1026 1026

  
1027 1027
		printFeatureTypeColNames(set.getDefaultFeatureType(), 15);
1028 1028
		Feature f;
......
1035 1035

  
1036 1036
		FeatureSet originalSet = store.getFeatureSet(getDefaultQuery(store));
1037 1037

  
1038
		DisposableIterator originalIter = originalSet.iterator();
1038
		DisposableIterator originalIter = originalSet.fastIterator();
1039 1039

  
1040
		iter = set.iterator();
1040
		iter = set.fastIterator();
1041 1041

  
1042 1042
		long i = 0;
1043 1043
		while (originalIter.hasNext()) {
......
1061 1061
		set = result.getFeatureSet();
1062 1062
		assertEquals(originalSet.getSize(), set.getSize());
1063 1063

  
1064
		originalIter = originalSet.iterator();
1065
		iter = set.iterator();
1064
		originalIter = originalSet.fastIterator();
1065
		iter = set.fastIterator();
1066 1066
		i = 0;
1067 1067
		while (originalIter.hasNext()) {
1068 1068
			try {
......
1100 1100
		}
1101 1101
		set = result.getFeatureSet();
1102 1102

  
1103
		iter = set.iterator();
1104
		originalIter = originalSet.iterator();
1103
		iter = set.fastIterator();
1104
		originalIter = originalSet.fastIterator();
1105 1105
		i = 0;
1106 1106
		while (originalIter.hasNext()) {
1107 1107
			try {
......
1192 1192
		FeatureSet set = result.getFeatureSet();
1193 1193
		FeatureSet set2 = result2.getFeatureSet();
1194 1194

  
1195
		DisposableIterator iter1 = set.iterator();
1196
		DisposableIterator iter2 = set2.iterator();
1195
		DisposableIterator iter1 = set.fastIterator();
1196
		DisposableIterator iter2 = set2.fastIterator();
1197 1197
		assertTrue(this.compareFeatureIterators(iter1, iter2));
1198 1198
		iter1.dispose();
1199 1199
		iter2.dispose();
......
1308 1308
		assertEquals(orgSet.getDefaultFeatureType().size() + 1, curSet
1309 1309
				.getDefaultFeatureType().size());
1310 1310

  
1311
		DisposableIterator orgIter = orgSet.iterator();
1312
		DisposableIterator curIter = curSet.iterator();
1311
		DisposableIterator orgIter = orgSet.fastIterator();
1312
		DisposableIterator curIter = curSet.fastIterator();
1313 1313

  
1314 1314
		assertTrue(compareFeatureIterators(orgIter, curIter, orgAttNames));
1315 1315

  
......
1323 1323
		orgIter.dispose();
1324 1324
		curIter.dispose();
1325 1325

  
1326
		orgIter = orgSet.iterator();
1326
		orgIter = orgSet.fastIterator();
1327 1327
		curIter = curSet.fastIterator();
1328 1328

  
1329 1329
		assertTrue(compareFeatureIterators(orgIter, curIter, orgAttNames));
......
1331 1331
		curIter.dispose();
1332 1332

  
1333 1333
		orgIter = orgSet.fastIterator();
1334
		curIter = curSet.iterator();
1334
		curIter = curSet.fastIterator();
1335 1335

  
1336 1336
		assertTrue(compareFeatureIterators(orgIter, curIter, orgAttNames));
1337 1337
		orgIter.dispose();
1338 1338
		curIter.dispose();
1339 1339

  
1340
		curIter = curSet.iterator();
1340
		curIter = curSet.fastIterator();
1341 1341
		Feature feature;
1342 1342
		while (curIter.hasNext()) {
1343 1343
			feature = (Feature) curIter.next();
......
1354 1354
				.size());
1355 1355

  
1356 1356
		assertEquals(orgSet.getSize(), curSet.getSize());
1357
		curIter = curSet.iterator();
1357
		curIter = curSet.fastIterator();
1358 1358
		while (curIter.hasNext()) {
1359 1359
			feature = (Feature) curIter.next();
1360 1360
			assertEquals("HOLA", feature.get("__ATTR1__"));
......
1376 1376
		assertEquals(orgSet.getDefaultFeatureType().size() + 1, curSet
1377 1377
				.getDefaultFeatureType().size());
1378 1378

  
1379
		orgIter = orgSet.iterator();
1380
		curIter = curSet.iterator();
1379
		orgIter = orgSet.fastIterator();
1380
		curIter = curSet.fastIterator();
1381 1381

  
1382 1382
		assertTrue(compareFeatureIterators(orgIter, curIter, orgAttNames));
1383 1383
		orgIter.dispose();
......
1390 1390
		orgIter.dispose();
1391 1391
		curIter.dispose();
1392 1392

  
1393
		orgIter = orgSet.iterator();
1393
		orgIter = orgSet.fastIterator();
1394 1394
		curIter = curSet.fastIterator();
1395 1395

  
1396 1396
		assertTrue(compareFeatureIterators(orgIter, curIter, orgAttNames));
......
1398 1398
		curIter.dispose();
1399 1399

  
1400 1400
		orgIter = orgSet.fastIterator();
1401
		curIter = curSet.iterator();
1401
		curIter = curSet.fastIterator();
1402 1402

  
1403 1403
		assertTrue(compareFeatureIterators(orgIter, curIter, orgAttNames));
1404 1404
		orgIter.dispose();
1405 1405
		curIter.dispose();
1406 1406

  
1407
		curIter = curSet.iterator();
1407
		curIter = curSet.fastIterator();
1408 1408
		while (curIter.hasNext()) {
1409 1409
			feature = (Feature) curIter.next();
1410 1410
			assertEquals("HOLA", feature.get("__ATTR1__"));
......
1420 1420
				.size());
1421 1421

  
1422 1422
		assertEquals(orgSet.getSize(), curSet.getSize());
1423
		curIter = curSet.iterator();
1423
		curIter = curSet.fastIterator();
1424 1424
		while (curIter.hasNext()) {
1425 1425
			feature = (Feature) curIter.next();
1426 1426
			assertEquals("HOLA", feature.get("__ATTR1__"));
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.impl/src/test/java/org/gvsig/fmap/dal/feature/testmulithread/DeleteLastFeature.java
67 67
		try {
68 68

  
69 69
			try {
70
				iter = set.iterator();
70
				iter = set.fastIterator();
71 71
				while (iter.hasNext()) {
72 72
					iter.next();
73 73
				}
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.impl/src/test/java/org/gvsig/fmap/dal/feature/testmulithread/DeleteFirstAndLastFeature.java
69 69
			long size = set.getSize();
70 70
			try {
71 71

  
72
				iter = set.iterator();
72
				iter = set.fastIterator();
73 73

  
74 74
				if (!iter.hasNext()) {
75 75
					finishedNoOk();
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.impl/src/test/java/org/gvsig/fmap/dal/feature/testmulithread/UpdateFeature.java
146 146
			long i = 0;
147 147
			try {
148 148

  
149
				iter = set.iterator();
149
				iter = set.fastIterator();
150 150
				while (iter.hasNext()) {
151 151
					Feature feature = (Feature) iter.next();
152 152
					EditableFeature result = this.applyUpdateList(feature,
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.impl/src/test/java/org/gvsig/fmap/dal/feature/testmulithread/InsertFeature.java
79 79
			long i = 0;
80 80
			try {
81 81

  
82
				iter = set.iterator();
82
				iter = set.fastIterator();
83 83
				set.insert(newFeature);
84 84
				iter.dispose();
85
				iter = set.iterator();
85
				iter = set.fastIterator();
86 86
				while (iter.hasNext()) {
87 87
					iter.next();
88 88
					i++;
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.impl/src/test/java/org/gvsig/fmap/dal/feature/impl/JoinTransform.java
181 181

  
182 182
			// In this join implementation, we will take only the first matching
183 183
			// feature found in store2
184
			it = set.iterator();
184
			it = set.fastIterator();
185 185
			if (it.hasNext()) {
186 186
				Feature feat = (Feature) it.next();
187 187

  
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/IndexFeatureSet.java
52 52
import org.gvsig.tools.visitor.Visitor;
53 53

  
54 54

  
55
public class IndexFeatureSet implements FeatureSet, FeatureSetProvider {
55
public class IndexFeatureSet implements FeatureSet, FeatureSetProvider, Iterable<Feature> {
56 56

  
57 57
	LongList featureReferences = null;
58 58
	FeatureStoreProvider storeProvider = null;
......
174 174
		return featureReferences.isEmpty();
175 175
	}
176 176

  
177
	public DisposableIterator iterator() throws DataException {
177
	public DisposableIterator iterator() {
178 178
		return new IndexIterator(this.featureReferences.iterator());
179 179
	}
180 180

  
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/DefaultFeatureSelection.java
458 458
			// Load a Set with all the store features
459 459
			try {
460 460
				featureSet = featureStore.getFeatureSet();
461
				if (fastIterator) {
461
				//if (fastIterator) {
462 462
					iterator = featureSet.fastIterator();
463
				} else {
464
					iterator = featureSet.iterator();
465
				}
463
//				} else {
464
//					iterator = featureSet.iterator();
465
//				}
466 466
			} catch (DataException ex) {
467 467
				throw new ReversedSelectionIteratorException(ex);
468 468
			}
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/FilteredIterator.java
98 98
		return this.iterator;
99 99
	}
100 100

  
101
        @Override
101 102
	public boolean hasNext() {
103
                if( fset == null ) {
104
                    return false;
105
                }
102 106
		fset.checkSourceStoreModified();
103 107
		if (nextChecked) {
104 108
			return this.current != null;
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
408 408
        }
409 409
    }
410 410

  
411
    public DisposableIterator iterator() throws DataException {
412
        return this.iterator(0);
411
    public Iterator<Feature> iterator() {
412
        try {
413
            return this.fastIterator(0);
414
        } catch (DataException ex) {
415
            throw new RuntimeException("Can't obtain itertor.",ex);
416
        }
413 417
    }
414 418

  
415 419
    public DisposableIterator iterator(long index) throws DataException {
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
74 74
		}
75 75
	}
76 76

  
77
	public boolean hasNext() {
78
		fset.checkSourceStoreModified();
79
		return this.getIterator().hasNext();
80
	}
77
        @Override
78
        public boolean hasNext() {
79
            if (this.fset == null) {
80
                return false;
81
            }
82
            fset.checkSourceStoreModified();
83
            if (this.getIterator().hasNext()) {
84
                return true;
85
            }
86
            try {
87
                this.doDispose();
88
            } catch (BaseException ex) {
89
                throw new RuntimeException("Can't dispose iterator.",ex);
90
            }
91
            return false;
92
        }
81 93

  
94
        @Override
82 95
	public Object next() {
96
                if( fset == null ) {
97
			throw new NoSuchElementException();
98
                }
83 99
		fset.checkSourceStoreModified();
84 100
		lastFeature = null;
85 101
		if (!this.hasNext()) {
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.api/src/main/java/org/gvsig/fmap/dal/feature/FeatureSet.java
23 23
 */
24 24
package org.gvsig.fmap.dal.feature;
25 25

  
26
import java.util.Iterator;
26 27
import java.util.List;
27 28

  
28 29
import org.gvsig.fmap.dal.DataSet;
......
59 60
 * metodos o en la doc general del featureset.
60 61
 * 
61 62
 */
62
public interface FeatureSet extends DataSet, IndexedVisitable {
63
public interface FeatureSet extends DataSet, IndexedVisitable, Iterable<Feature> {
63 64

  
64 65
	/**
65 66
	 * Returns the default {@link FeatureType} of this FeatureSet.
......
131 132
     * Returns an iterator over the elements in this collection, in the order
132 133
     * (if any) defined when the collection was obtained.
133 134
     * 
134
     * <p>
135
     * <em>
136
     * <strong>NOTE:</strong> if you use this method to get the iterator, you
137
     * must get sure the iterator is disposed (@see
138
     * {@link DisposableIterator#dispose()}) in any case, even if an error occurs
139
     * while getting the data. It is recommended to use the <code>accept</code>
140
     * methods instead, which handle everything for you. 
141
     * Take into account the accept methods may use a fast iterator to 
142
     * get the features.
143
     * </em>
144
     * </p>
145
     * 
146 135
     * @see #accept(org.gvsig.tools.visitor.Visitor)
147 136
     * @see #accept(org.gvsig.tools.visitor.Visitor, long)
148 137
     * @see #fastIterator()
......
151 140
     * @return an iterator of the elements in this collection (in proper
152 141
     *         sequence).
153 142
     * 
154
     * @throws DataException
155
     *             if there is an error getting the iterator
156
     * 
157
     * @deprecated use {@link #fastIterator()} instead
158 143
     */
159
	DisposableIterator iterator() throws DataException;
144
        @Override
145
	Iterator<Feature> iterator();
160 146

  
161 147
    /**
162 148
     * Returns a fast iterator over this set.
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.mapcontext/org.gvsig.fmap.mapcontext.api/src/main/java/org/gvsig/fmap/mapcontext/layers/vectorial/FLyrVectLinkProperties.java
121 121
    		}
122 122
    		//Recorremos el BitSet siguiendo el ejmplo de la clase que se
123 123
    		//proporciona en la API
124
    		iter = fSet.iterator();
124
    		iter = fSet.fastIterator();
125 125
    		while (iter.hasNext()){
126 126
    			//TODO
127 127
    			//Sacado de la clase LinkPanel, decidir como pintar la URL le
......
143 143
    			System.out.println(tmpUri.toString());
144 144

  
145 145

  
146
    		}
146
    		}

147 147

  
148 148
    		if (tmpUris.size()==0){
149 149
    			return null;
trunk/org.gvsig.desktop/org.gvsig.desktop.framework/org.gvsig.andami/src/main/java/org/gvsig/andami/ui/ToolsWindowManager.java
69 69
        showWindow(contents, title, mode, align, null);
70 70
    }
71 71

  
72
    public void showWindow(final JComponent contents, final String title, final MODE mode, final int align) {
73
        this.showWindow(contents, title, mode, align, null);
74
    }
75
    
72 76
    public void showWindow(final JComponent contents, final String title, final MODE mode, final int align, final Image icon ) {
73 77
        if( !SwingUtilities.isEventDispatchThread() ) {
74 78
            switch(mode) {
trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.daltransform.app/org.gvsig.daltransform.app.join/src/main/java/org/gvsig/app/join/dal/feature/JoinTransform.java
282 282
            Feature feat;
283 283

  
284 284

  
285
            itFeat = set.iterator();
285
            itFeat = set.fastIterator();
286 286
            if (itFeat.hasNext()) {
287 287
                feat = (Feature) itFeat.next();
288 288

  
trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/app/gui/selectionByTheme/MySelectionByThemeListener.java
240 240
			}
241 241
			DisposableIterator features = null;
242 242
			try {
243
				features = selection.iterator();
243
				features = selection.fastIterator();
244 244

  
245 245
				while (features.hasNext()) {
246 246
					Feature feature = (Feature) features.next();
trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/app/gui/filter/FilterDialog.java
312 312
            FeatureQuery query = model.createFeatureQuery();
313 313
            query.setAttributeNames(fieldName);
314 314
            fs = model.getFeatureSet(query);
315
            iterator = fs.iterator();
315
            iterator = fs.fastIterator();
316 316
            while (iterator.hasNext()) {
317 317
                Feature feature = (Feature) iterator.next();
318 318
                Object value = feature.get(fieldName[0]);
trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/app/project/documents/view/legend/gui/VectorialUniqueValue.java
249 249

  
250 250
				int count = 0;
251 251

  
252
				iterator = set.iterator();
252
				iterator = set.fastIterator();
253 253
				while (iterator.hasNext()) {
254 254
					Feature feature = (Feature) iterator.next();
255 255
					clave = feature.get(fieldName);
trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/app/project/documents/view/info/gui/VectorialXMLItem.java
90 90
		try {
91 91

  
92 92
//			FeatureStore ds = ((FLyrVect) layer).getFeatureStore();
93
			iterator = selection.iterator();
93
			iterator = selection.fastIterator();
94 94
			int j=0;
95 95
			FeatureAttributeDescriptor attr;
96 96
			Object value;
trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.selectiontools.app/org.gvsig.selectiontools.app.mainplugin/src/main/java/org/gvsig/selectiontools/app/extension/tools/buffer/process/BufferSelectionProcess.java
395 395
                    // throw new InterruptedException();
396 396
                    // }
397 397

  
398
                    DisposableIterator selIt = selection.iterator();
398
                    DisposableIterator selIt = selection.fastIterator();
399 399
                    ArrayList<Geometry> bufferLayer = new ArrayList<Geometry>();
400 400
                    while (selIt.hasNext()) {
401 401
                        Feature feat = (Feature) selIt.next();
trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.symbology/org.gvsig.symbology.lib/org.gvsig.symbology.lib.impl/src/test/java/org/gvsig/symbology/fmap/mapcontext/rendering/legend/TestIClassifiedLegend.java
689 689
            return null;
690 690
        }
691 691

  
692
        @Override
693
        public EditableFeature createNewFeature(Feature defaultValues) throws DataException {
694
            throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
695
        }
696

  
697
        @Override
698
        public Iterator iterator() {
699
            throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
700
        }
701

  
692 702
	}
693 703

  
694 704
	//private static final FInterval interval0=new FInterval(0,2);
trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.symbology/org.gvsig.symbology.lib/org.gvsig.symbology.lib.impl/src/test/java/org/gvsig/symbology/fmap/mapcontext/rendering/legend/TestAbstractIntervalLegend.java
687 687
            // TODO Auto-generated method stub
688 688
            return null;
689 689
        }
690

  
691
        @Override
692
        public EditableFeature createNewFeature(Feature defaultValues) throws DataException {
693
            throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
694
        }
695

  
696
        @Override
697
        public Iterator iterator() {
698
            throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
699
        }
690 700
	}
691 701

  
692 702
	 private static final FInterval interval0=new FInterval(0,2);
trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.annotation/org.gvsig.annotation.lib/org.gvsig.annotation.lib.impl/src/main/java/org/gvsig/annotation/impl/DefaultAnnotationCreationService.java
224 224

  
225 225
			//Copy data
226 226
			featureSet = sourceStore.getFeatureSet();
227
			iterator = featureSet.iterator();
227
			iterator = featureSet.fastIterator();
228 228
			
229 229
			
230 230
			taskStatus.setRangeOfValues(0, featureSet.getSize());
trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.annotation/org.gvsig.annotation.lib/org.gvsig.annotation.lib.api/src/test/java/org/gvsig/annotation/AnnotationCreationServiceTest.java
114 114
    	    
115 115
    	//Check the geometries
116 116
    	FeatureSet featureSet = destinationStore.getFeatureSet();
117
    	DisposableIterator iterator = featureSet.iterator();
117
    	DisposableIterator iterator = featureSet.fastIterator();
118 118
    	
119 119
    	Feature feature;
120 120
    	TextPointPairList textPointPairList = getResult();

Also available in: Unified diff