Revision 25747 branches/v2_0_0_prep/libraries/libFMap_dal/src/org/gvsig/fmap/dal/feature/impl/DefaultFeatureIndexes.java

View differences:

DefaultFeatureIndexes.java
36 36
import org.gvsig.fmap.dal.exception.DataException;
37 37
import org.gvsig.fmap.dal.feature.FeatureIndex;
38 38
import org.gvsig.fmap.dal.feature.FeatureIndexes;
39
import org.gvsig.fmap.dal.feature.FeatureSet;
39 40
import org.gvsig.fmap.dal.feature.exception.FeatureIndexException;
40
import org.gvsig.fmap.dal.feature.spi.FeatureSetProvider;
41 41
import org.gvsig.fmap.dal.feature.spi.index.FeatureIndexProviderServices;
42 42
import org.gvsig.tools.evaluator.Evaluator;
43 43
import org.gvsig.tools.evaluator.EvaluatorFieldValue;
......
98 98
	 * returns null
99 99
	 * 
100 100
	 * @param evaluator
101
	 * @return FeatureSetProvider or null if could not find any appropriate
101
	 * @return FeatureSet or null if could not find any appropriate
102 102
	 *         index.
103 103
	 * 
104 104
	 */
105
	public FeatureSetProvider getFeatureSet(Evaluator evaluator) {
105
	public FeatureSet getFeatureSet(Evaluator evaluator) {
106 106

  
107 107
		class ApplyIndex {
108 108
			DefaultFeatureIndex index;
......
137 137
			 * @return FeatureSet with the result
138 138
			 * @throws FeatureIndexException
139 139
			 */
140
			FeatureSetProvider apply() throws FeatureIndexException {
140
			IndexFeatureSet apply() throws FeatureIndexException {
141 141
				
142 142
				// Trick: we know DefaultIndexProvider returns an IndexFeatureSet, 
143 143
				// which implements both FeatureSetProvider and FeatureSet.
144 144
				switch (data[0].getType()) {
145 145
				case EvaluatorFieldValue.MATCH:
146
					return (FeatureSetProvider) index.getMatchFeatureSet(
146
					return (IndexFeatureSet) index.getMatchFeatureSet(
147 147
							data[0].getValue());
148 148
				case EvaluatorFieldValue.RANGE:
149
					return (FeatureSetProvider) index.getRangeFeatureSet(
149
					return (IndexFeatureSet) index.getRangeFeatureSet(
150 150
							data[0].getValue1(), data[0].getValue2());
151 151
				case EvaluatorFieldValue.NEAREST:
152 152
					if ((data[0].getTolerance() == -1) || (!isSupported())) {
153
						return (FeatureSetProvider) index.getNearestFeatureSet(data[0].getCount(),
153
						return (IndexFeatureSet) index.getNearestFeatureSet(data[0].getCount(),
154 154
										data[0].getValue());
155 155
					} else {
156
						return (FeatureSetProvider) index.getNearestFeatureSet(data[0].getCount(),
156
						return (IndexFeatureSet) index.getNearestFeatureSet(data[0].getCount(),
157 157
										data[0].getValue(),
158 158
										data[0].getTolerance());
159 159
					}

Also available in: Unified diff