svn-gvsig-desktop / branches / v2_0_0_prep / libraries / libFMap_dataFile / src / org / gvsig / fmap / data / feature / file / shp / ShpFeatureCollectionWithFeatureID.java @ 22373
History | View | Annotate | Download (1.74 KB)
1 | 22373 | jmvivo | package org.gvsig.fmap.data.feature.file.shp; |
---|---|---|---|
2 | 19448 | jmvivo | |
3 | 20414 | vcaballero | import java.util.ArrayList; |
4 | import java.util.Comparator; |
||
5 | import java.util.Iterator; |
||
6 | import java.util.TreeSet; |
||
7 | |||
8 | 21911 | jmvivo | import org.gvsig.fmap.data.ReadException; |
9 | 22360 | jmvivo | import org.gvsig.fmap.data.feature.Feature; |
10 | import org.gvsig.fmap.data.feature.FeatureCollection; |
||
11 | import org.gvsig.fmap.data.feature.FeatureManager; |
||
12 | import org.gvsig.fmap.data.feature.FeatureType; |
||
13 | import org.gvsig.fmap.data.feature.expressionevaluator.FeatureComparator; |
||
14 | 22373 | jmvivo | import org.gvsig.fmap.data.feature.file.dbf.DBFFeatureCollection; |
15 | import org.gvsig.fmap.data.feature.file.dbf.DBFFeatureCollectionWithFeatureID; |
||
16 | import org.gvsig.fmap.data.feature.file.dbf.DBFStore; |
||
17 | 19448 | jmvivo | |
18 | public class ShpFeatureCollectionWithFeatureID extends |
||
19 | DBFFeatureCollectionWithFeatureID { |
||
20 | |||
21 | 21045 | jmvivo | public ShpFeatureCollectionWithFeatureID(FeatureManager fm, SHPStore store, FeatureType type, String filter, String Order) throws ReadException { |
22 | 19736 | vcaballero | super(fm, store, type, filter, Order);
|
23 | 19448 | jmvivo | // TODO Auto-generated constructor stub
|
24 | } |
||
25 | 20414 | vcaballero | protected void intilizeFeatureIDs(FeatureManager fm,DBFStore store, String filter,String order) throws ReadException { |
26 | try{
|
||
27 | if (order == null){ |
||
28 | if (filter == null){ |
||
29 | featureIDs = new ArrayList(); // Si queremos optimizar deberiamos inicializar |
||
30 | // el tama?o
|
||
31 | } else {
|
||
32 | featureIDs = new ArrayList(); |
||
33 | } |
||
34 | } else {
|
||
35 | Comparator comparator = new FeatureComparator(this.featureType,order); |
||
36 | featureIDs = new TreeSet(comparator); |
||
37 | } |
||
38 | 21045 | jmvivo | FeatureCollection coll = new ShpFeatureCollection(fm,(SHPStore)store,this.featureType,filter); |
39 | 20414 | vcaballero | Iterator iter = coll.iterator();
|
40 | while (iter.hasNext()){
|
||
41 | 21045 | jmvivo | Feature feature =(Feature)iter.next(); |
42 | 20414 | vcaballero | featureIDs.add(feature.getID()); |
43 | } |
||
44 | }catch (Exception e) { |
||
45 | throw new ReadException("DBFFeatureCollection",e); |
||
46 | } |
||
47 | } |
||
48 | 19448 | jmvivo | |
49 | } |