Revision 28375 branches/v2_0_0_prep/libraries/libGeocoding/src/org/gvsig/geocoding/impl/DataGeocoderImpl.java
DataGeocoderImpl.java | ||
---|---|---|
35 | 35 |
|
36 | 36 |
import org.gvsig.fmap.dal.DALLocator; |
37 | 37 |
import org.gvsig.fmap.dal.DataManager; |
38 |
import org.gvsig.fmap.dal.DataStore; |
|
38 | 39 |
import org.gvsig.fmap.dal.exception.DataException; |
39 | 40 |
import org.gvsig.fmap.dal.feature.Feature; |
40 |
import org.gvsig.fmap.dal.feature.FeatureAttributeDescriptor; |
|
41 | 41 |
import org.gvsig.fmap.dal.feature.FeatureQuery; |
42 | 42 |
import org.gvsig.fmap.dal.feature.FeatureSelection; |
43 | 43 |
import org.gvsig.fmap.dal.feature.FeatureSet; |
... | ... | |
76 | 76 |
private Patterngeocoding pattern = null; |
77 | 77 |
private DataManager manager = null; |
78 | 78 |
|
79 |
|
|
80 |
|
|
81 | 79 |
/** |
82 | 80 |
* Constructor with one pattern |
83 | 81 |
* |
... | ... | |
86 | 84 |
public DataGeocoderImpl() { |
87 | 85 |
manager = DALLocator.getDataManager(); |
88 | 86 |
} |
89 |
|
|
87 |
|
|
90 | 88 |
/** |
91 | 89 |
* Constructor with one pattern |
92 | 90 |
* |
... | ... | |
128 | 126 |
|
129 | 127 |
Set<GeocodingResult> results = new TreeSet<GeocodingResult>(); |
130 | 128 |
// get the FeatureStore registred in the pattern |
131 |
FeatureStore store = getPattern().getSource().getLayerSource();
|
|
129 |
DataStore store = getPattern().getSource().getLayerSource();
|
|
132 | 130 |
// get the style |
133 | 131 |
AbstractGeocodingStyle astyle = getPattern().getSource().getStyle(); |
134 | 132 |
// get literal with relations with the store |
... | ... | |
207 | 205 |
* @throws DataException |
208 | 206 |
*/ |
209 | 207 |
private List<ScoredFeature> literalSearch(Literal relationsLiteral, |
210 |
Literal addressLiteral, FeatureStore store) throws DataException {
|
|
208 |
Literal addressLiteral, DataStore store) throws DataException {
|
|
211 | 209 |
|
212 | 210 |
List<FeatureSelection> sels = new ArrayList<FeatureSelection>(); |
213 | 211 |
FeatureSet features = null; |
... | ... | |
218 | 216 |
// search features related with the parameters |
219 | 217 |
for (Object obj : relationsLiteral) { |
220 | 218 |
RelationsComponent lit = (RelationsComponent) obj; |
221 |
FeatureSelection selection = store.createFeatureSelection(); |
|
222 |
FeatureQuery query = store.createFeatureQuery(); |
|
219 |
FeatureSelection selection = ((FeatureStore) store) |
|
220 |
.createFeatureSelection(); |
|
221 |
FeatureQuery query = ((FeatureStore) store).createFeatureQuery(); |
|
223 | 222 |
String key = lit.getKeyElement().trim(); |
224 | 223 |
String chain = getValueAddress(key, addressLiteral); |
225 | 224 |
|
226 |
FeatureAttributeDescriptor field = lit.getValue();
|
|
225 |
String fname = lit.getValue();
|
|
227 | 226 |
if (i == 0) { |
228 |
exp = field.getName() + " like '%" + chain + "%'";
|
|
227 |
exp = fname + " like '%" + chain + "%'";
|
|
229 | 228 |
} else { |
230 |
exp = exp + " AND " + field.getName() + " like '%" + chain |
|
231 |
+ "%'"; |
|
229 |
exp = exp + " AND " + fname + " like '%" + chain + "%'"; |
|
232 | 230 |
} |
233 | 231 |
|
234 | 232 |
Evaluator eval = manager.createExpresion(exp); |
235 | 233 |
|
236 | 234 |
query.setFilter(eval); |
237 |
features = store.getFeatureSet(query);
|
|
235 |
features = ((FeatureStore) store).getFeatureSet(query);
|
|
238 | 236 |
selection.select(features); |
239 | 237 |
sels.add(selection); |
240 | 238 |
log.debug("Iteration " + i + " - Selection : " |
... | ... | |
256 | 254 |
* @throws DataException |
257 | 255 |
*/ |
258 | 256 |
@SuppressWarnings("unchecked") |
259 |
private List<ScoredFeature> createLiteralScores(FeatureStore store,
|
|
257 |
private List<ScoredFeature> createLiteralScores(DataStore store,
|
|
260 | 258 |
List<FeatureSelection> sels) throws DataException { |
261 | 259 |
|
262 | 260 |
List<ScoredFeature> scores = new ArrayList<ScoredFeature>(); |
263 | 261 |
|
264 |
FeatureSet features = store.getFeatureSet();
|
|
262 |
FeatureSet features = ((FeatureStore) store).getFeatureSet();
|
|
265 | 263 |
|
266 | 264 |
for (Iterator<Feature> it = features.iterator(); it.hasNext();) { |
267 | 265 |
Feature feature = it.next(); |
Also available in: Unified diff