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

View differences:

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