Revision 42775 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/FLyrVect.java
FLyrVect.java | ||
---|---|---|
30 | 30 |
import java.util.Iterator; |
31 | 31 |
import java.util.Set; |
32 | 32 |
import java.util.TreeSet; |
33 |
import java.util.logging.Level; |
|
34 |
import java.util.logging.Logger; |
|
33 | 35 |
|
34 | 36 |
import org.cresques.cts.ICoordTrans; |
35 | 37 |
import org.cresques.cts.IProjection; |
... | ... | |
121 | 123 |
private boolean isLabeled; |
122 | 124 |
protected ILabelingStrategy strategy; |
123 | 125 |
// private ReprojectDefaultGeometry reprojectTransform; |
126 |
private FeatureQuery baseQuery = null; |
|
124 | 127 |
|
125 | 128 |
public FLyrVect() { |
126 | 129 |
super(); |
... | ... | |
235 | 238 |
return rAux; |
236 | 239 |
|
237 | 240 |
} |
241 |
|
|
242 |
public void setBaseQuery(FeatureQuery baseQuery) { |
|
243 |
this.baseQuery = baseQuery; |
|
244 |
} |
|
238 | 245 |
|
246 |
@Override |
|
247 |
public FeatureQuery getBaseQuery() { |
|
248 |
return this.baseQuery; |
|
249 |
} |
|
250 |
|
|
251 |
|
|
239 | 252 |
/** |
240 | 253 |
* Draws using IFeatureIterator. This method will replace the old draw(...) |
241 | 254 |
* one. |
... | ... | |
270 | 283 |
legend.addDrawingObserver(this); |
271 | 284 |
} |
272 | 285 |
|
273 |
FeatureQuery featureQuery = null; |
|
286 |
FeatureQuery featureQuery = createFeatureQuery(); |
|
287 |
|
|
274 | 288 |
try { |
275 | 289 |
FeatureAttributeDescriptor featureAttributeDescriptor |
276 | 290 |
= getFeatureStore().getDefaultFeatureType().getDefaultTimeAttribute(); |
277 | 291 |
|
278 | 292 |
if ((viewPort.getTime() != null) && (featureAttributeDescriptor != null)) { |
279 |
featureQuery = getFeatureStore().createFeatureQuery(); |
|
280 | 293 |
IntersectsTimeEvaluator intersectsTimeEvaluator |
281 | 294 |
= new IntersectsTimeEvaluator(viewPort.getTime(), featureAttributeDescriptor.getName()); |
282 | 295 |
featureQuery.addFilter(intersectsTimeEvaluator); |
... | ... | |
324 | 337 |
if (cancel.isCanceled()) { |
325 | 338 |
return; |
326 | 339 |
} |
340 |
FeatureQuery featureQuery = createFeatureQuery(); |
|
327 | 341 |
|
328 | 342 |
try { |
329 | 343 |
legend.print(g, |
... | ... | |
333 | 347 |
null, |
334 | 348 |
getCoordTrans(), |
335 | 349 |
getFeatureStore(), |
336 |
null,
|
|
350 |
featureQuery,
|
|
337 | 351 |
properties); |
338 | 352 |
|
339 | 353 |
} catch (LegendException e) { |
... | ... | |
797 | 811 |
return (FeatureStore) getDataStore(); |
798 | 812 |
} |
799 | 813 |
|
814 |
public FeatureQuery createFeatureQuery() { |
|
815 |
if( this.baseQuery==null ) { |
|
816 |
return this.getFeatureStore().createFeatureQuery(); |
|
817 |
} |
|
818 |
try { |
|
819 |
return (FeatureQuery) baseQuery.clone(); |
|
820 |
} catch (CloneNotSupportedException ex) { |
|
821 |
throw new RuntimeException(ex); |
|
822 |
} |
|
823 |
} |
|
824 |
|
|
800 | 825 |
/** |
801 | 826 |
* @deprecated use instead |
802 | 827 |
* {@link #queryByPoint(org.gvsig.fmap.geom.primitive.Point, double, FeatureType)} |
... | ... | |
845 | 870 |
* @throws DataException |
846 | 871 |
*/ |
847 | 872 |
public FeatureSet queryByGeometry(Geometry geom, FeatureType featureType) throws DataException { |
848 |
FeatureQuery featureQuery = featureStore.createFeatureQuery();
|
|
873 |
FeatureQuery featureQuery = createFeatureQuery(); |
|
849 | 874 |
String geomName |
850 | 875 |
= featureStore.getDefaultFeatureType() |
851 | 876 |
.getDefaultGeometryAttributeName(); |
... | ... | |
896 | 921 |
public FeatureSet queryByEnvelope(Envelope envelope, |
897 | 922 |
FeatureType featureType, |
898 | 923 |
String[] names) throws DataException { |
899 |
FeatureQuery featureQuery = featureStore.createFeatureQuery();
|
|
924 |
FeatureQuery featureQuery = createFeatureQuery(); |
|
900 | 925 |
if (names == null) { |
901 | 926 |
featureQuery.setFeatureType(featureType); |
902 | 927 |
} else { |
Also available in: Unified diff