Revision 27525 branches/v2_0_0_prep/extensions/extRasterTools-SE/src/org/gvsig/fmap/raster/grid/roi/VectorialROIsReader.java

View differences:

VectorialROIsReader.java
4 4
import java.io.File;
5 5
import java.util.ArrayList;
6 6
import java.util.HashMap;
7
import java.util.Iterator;
8 7

  
9 8
import org.cresques.cts.IProjection;
10 9
import org.gvsig.fmap.dal.DALLocator;
......
13 12
import org.gvsig.fmap.dal.exception.DataException;
14 13
import org.gvsig.fmap.dal.exception.InitializeException;
15 14
import org.gvsig.fmap.dal.exception.ProviderNotRegisteredException;
15
import org.gvsig.fmap.dal.feature.DisposableIterator;
16 16
import org.gvsig.fmap.dal.feature.Feature;
17
import org.gvsig.fmap.dal.feature.FeatureSet;
17 18
import org.gvsig.fmap.dal.feature.FeatureStore;
18 19
import org.gvsig.fmap.dal.feature.FeatureType;
19 20
import org.gvsig.fmap.dal.store.shp.SHPStoreParameters;
......
72 73
		int typegFiledIndex = featureType.getAttributeDescriptor(gFiledIndex).getDataType();
73 74
		int typebFiledIndex = featureType.getAttributeDescriptor(bFiledIndex).getDataType();
74 75

  
75
		if (nameFieldIndex < 0 || rFiledIndex < 0 || gFiledIndex < 0 || bFiledIndex < 0){
76
		if (nameFieldIndex < 0 || rFiledIndex < 0 || gFiledIndex < 0 || bFiledIndex < 0)
76 77
			throw new InvalidROIsShpException("");
77
		}
78 78

  
79 79
		if (typeFieldIndex != DataTypes.STRING ||
80 80
				typerFiledIndex != DataTypes.DOUBLE || typerFiledIndex != DataTypes.INT  ||
......
85 85

  
86 86
		if (existingROIs != null)
87 87
		rois = new HashMap();
88
		if (existingROIs != null){
88
		if (existingROIs != null)
89 89
			for (int i = 0; i < existingROIs.size(); i++) {
90 90
				VectorialROI roi = (VectorialROI)existingROIs.get(i);
91 91
				rois.put(roi.getName(), roi);
92 92
			}
93
		}
94 93
		String roiName;
95 94
		int r, g, b;
96
		Iterator features=featureStore.getFeatureSet().iterator();
97
		while (features.hasNext()) {
98
			Feature feature = (Feature) features.next();
95
		FeatureSet set = null;
96
		DisposableIterator features = null;
97
		try {
98
			set = featureStore.getFeatureSet();
99
			features = set.iterator();
100
			while (features.hasNext()) {
101
				Feature feature = (Feature) features.next();
99 102

  
100
//		}
101
//		for (int i = 0; i<dataSource.getRowCount(); i++) {
102
//			IFeature feature = fLyrVect.getSource().getFeature(i);
103
			roiName = feature.getString(nameFieldIndex).toString();
104
			VectorialROI roi = null;
105
			if (!rois.containsKey(roiName)){
106
				roi = new VectorialROI(grid);
107
				roi.setName(roiName);
108
				r = ((Number)feature.get(rFiledIndex)).intValue();
109
				g = ((Number)feature.get(gFiledIndex)).intValue();
110
				b = ((Number)feature.get(bFiledIndex)).intValue();
111
				roi.setColor(new Color(r,g,b));
112
				rois.put(roi.getName(), roi);
103
				// }
104
				// for (int i = 0; i<dataSource.getRowCount(); i++) {
105
				// IFeature feature = fLyrVect.getSource().getFeature(i);
106
				roiName = feature.getString(nameFieldIndex).toString();
107
				VectorialROI roi = null;
108
				if (!rois.containsKey(roiName)) {
109
					roi = new VectorialROI(grid);
110
					roi.setName(roiName);
111
					r = ((Number) feature.get(rFiledIndex)).intValue();
112
					g = ((Number) feature.get(gFiledIndex)).intValue();
113
					b = ((Number) feature.get(bFiledIndex)).intValue();
114
					roi.setColor(new Color(r, g, b));
115
					rois.put(roi.getName(), roi);
116
				} else
117
					roi = (VectorialROI) rois.get(roiName);
118
				roi.addGeometry(feature.getDefaultGeometry());
113 119
			}
114
			else
115
				roi = (VectorialROI)rois.get(roiName);
116
			roi.addGeometry(feature.getDefaultGeometry());
120
		} finally {
121
			if (features != null)
122
				features.dispose();
123
			if (set != null)
124
				set.dispose();
117 125
		}
118 126
		return new ArrayList(rois.values());
119 127
	}

Also available in: Unified diff