Package org.geotools.filter.visitor

Examples of org.geotools.filter.visitor.SimplifyingFilterVisitor


            filters.add(rule.getFilter());
        }
        // not or and and simplify (if there is any include/exclude we'll get
        // a very simple result ;-)
        Filter or = ff.or(filters);
        SimplifyingFilterVisitor simplifier = new SimplifyingFilterVisitor();
        return (Filter) or.accept(simplifier, null);
    }
View Full Code Here


    public void removeFeatures(Filter filter) throws IOException {
        Preconditions.checkState(getDataStore().isAllowTransactions(),
                "Transactions not supported; head is not a local branch");
        final WorkingTree workingTree = delegate.getWorkingTree();
        final String typeTreePath = delegate.getTypeTreePath();
        filter = (Filter) filter.accept(new SimplifyingFilterVisitor(), null);
        if (Filter.INCLUDE.equals(filter)) {
            workingTree.delete(typeTreePath);
            return;
        }
        if (Filter.EXCLUDE.equals(filter)) {
View Full Code Here

        };
    }

    @Override
    protected ReferencedEnvelope getBoundsInternal(Query query) throws IOException {
        final Filter filter = (Filter) query.getFilter().accept(new SimplifyingFilterVisitor(),
                null);
        final CoordinateReferenceSystem crs = getSchema().getCoordinateReferenceSystem();
        if (Filter.INCLUDE.equals(filter) && oldRoot == null
                && ChangeType.ADDED.equals(changeType())) {
            NodeRef typeRef = getTypeRef();
View Full Code Here

        return bounds;
    }

    @Override
    protected int getCountInternal(Query query) throws IOException {
        final Filter filter = (Filter) query.getFilter().accept(new SimplifyingFilterVisitor(),
                null);
        if (Filter.EXCLUDE.equals(filter)) {
            return 0;
        }
View Full Code Here

            LOGGER.trace("GeoGigFeatureSource.getNativeReader: no screenMap provided");
        } else {
            LOGGER.trace("GeoGigFeatureSource.getNativeReader: using screenMap filter");
        }
        LOGGER.trace("Query filter: {}", filter);
        filter = (Filter) filter.accept(new SimplifyingFilterVisitor(), null);
        LOGGER.trace("Simplified filter: {}", filter);

        GeogigFeatureReader<SimpleFeatureType, SimpleFeature> nativeReader;

        final String rootRef = getRootRef();
View Full Code Here

            // then perform the splits
            PostPreProcessFilterSplittingVisitor unpacker = new PostPreProcessFilterSplittingVisitor(
                    sqlEncoder.getCapabilities(), featureType, null);
            simplified.accept(unpacker, null);

            SimplifyingFilterVisitor filterSimplifier = new SimplifyingFilterVisitor();
            final String typeName = this.featureType.getTypeName();
            FIDValidator validator = new SimplifyingFilterVisitor.TypeNameDotNumberFidValidator(
                    typeName);
            filterSimplifier.setFIDValidator(validator);

            this._sqlFilter = unpacker.getFilterPre();
            this._sqlFilter = (Filter) this._sqlFilter.accept(filterSimplifier, null);

            if (LOGGER.isLoggable(Level.FINE) && _sqlFilter != null)
View Full Code Here

       
            split[0] = splitter.getFilterPre();
            split[1] = splitter.getFilterPost();
        }
       
        SimplifyingFilterVisitor visitor = new SimplifyingFilterVisitor();
        visitor.setFIDValidator( new PrimaryKeyFIDValidator( this ) );
        split[0] = (Filter) split[0].accept(visitor, null);
        split[1] = (Filter) split[1].accept(visitor, null);
       
        return split;
    }
View Full Code Here

        } else {
            query.getHints().putAll(hints);
        }

        // simplify the filter
        SimplifyingFilterVisitor simplifier = new SimplifyingFilterVisitor();
        Filter simplifiedFilter = (Filter) query.getFilter().accept(simplifier, null);
        query.setFilter(simplifiedFilter);
       
        return query;
    }
View Full Code Here

        PropertyIsEqualTo equal = ff.equal(ff.property("a"), ff.property("b"), false);
        And and = ff.and(between, equal);
       
        NullHandlingVisitor nh = new NullHandlingVisitor();
        Filter nhResult = (Filter) and.accept(nh, null);
        SimplifyingFilterVisitor simplifier = new SimplifyingFilterVisitor();
        Filter simplified = (Filter) nhResult.accept(simplifier, null);
        assertTrue(simplified instanceof And);
        Filter expected = ff.and(Arrays.asList(between, equal, propertyNotNull("a"), propertyNotNull("b"), propertyNotNull("c")));
        assertEquals(expected, simplified);
View Full Code Here

   
    @Test
    public void testSimplify() throws Exception {
        Filter isCoverage = ECQL.toFilter("isCoverage() = true");

        SimplifyingFilterVisitor visitor = new SimplifyingFilterVisitor();
        Filter result = (Filter) isCoverage.accept(visitor, null);
       
        assertEquals(isCoverage, result);
    }
View Full Code Here

TOP

Related Classes of org.geotools.filter.visitor.SimplifyingFilterVisitor

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.