Package org.geotools.data

Examples of org.geotools.data.QueryCapabilities


                    definitionQuery.setFilter(layerFilter);

                    // check for startIndex + offset
                    final Integer startIndex = request.getStartIndex();
                    if (startIndex != null) {
                        QueryCapabilities queryCapabilities = source.getQueryCapabilities();
                        if (queryCapabilities.isOffsetSupported()) {
                            // fsource is required to support
                            // SortBy.NATURAL_ORDER so we don't bother checking
                            definitionQuery.setStartIndex(startIndex);
                        } else {
                            // source = new PagingFeatureSource(source,
View Full Code Here


        this.forbidSorting = forbidSorting;
    }

    @Override
    public QueryCapabilities getQueryCapabilities() {
        final QueryCapabilities capabilities = super.getQueryCapabilities();
        if (!forbidSorting) {
            return capabilities;
        }
        return new QueryCapabilities() {
            @Override
            public boolean isOffsetSupported() {
                return false;
            }

            @Override
            public boolean supportsSorting(SortBy[] sortAttributes) {
                return false;
            }

            @Override
            public boolean isReliableFIDSupported() {
                return capabilities.isReliableFIDSupported();
            }

            @Override
            public boolean isUseProvidedFIDSupported() {
                return capabilities.isUseProvidedFIDSupported();
            }
        };
    }
View Full Code Here

        this.forbidSorting = forbidSorting;
    }

    @Override
    public QueryCapabilities getQueryCapabilities() {
        final QueryCapabilities capabilities = super.getQueryCapabilities();
        if (!forbidSorting) {
            return capabilities;
        }
        return new QueryCapabilities() {
            @Override
            public boolean isOffsetSupported() {
                return false;
            }

            @Override
            public boolean supportsSorting(SortBy[] sortAttributes) {
                return false;
            }

            @Override
            public boolean isReliableFIDSupported() {
                return capabilities.isReliableFIDSupported();
            }

            @Override
            public boolean isUseProvidedFIDSupported() {
                return capabilities.isUseProvidedFIDSupported();
            }
        };
    }
View Full Code Here

     * key/value pair is there an attempt to use the provided id will be made, and the operation
     * will fail if the key cannot be parsed into a valid storage identifier.
     */
    @Override
    protected QueryCapabilities buildQueryCapabilities() {
        return new QueryCapabilities() {
            /**
             * @return {@code true}
             */
            @Override
            public boolean isUseProvidedFIDSupported() {
View Full Code Here

        final List<SimpleFeature> features = ImmutableList.of((SimpleFeature) points1,
                (SimpleFeature) points2, (SimpleFeature) points3);
        MemoryDataStore store = new MemoryDataStore();
        store.addFeatures(features);

        final QueryCapabilities caps = mock(QueryCapabilities.class);
        when(caps.isOffsetSupported()).thenReturn(true);

        @SuppressWarnings("rawtypes")
        FeatureSource source = store.getFeatureSource(pointsName);
        assertFalse(source.getQueryCapabilities().isOffsetSupported());
View Full Code Here

        final List<SimpleFeature> features = ImmutableList.of((SimpleFeature) points1,
                (SimpleFeature) points2, (SimpleFeature) points3);
        MemoryDataStore store = new MemoryDataStore();
        store.addFeatures(features);

        final QueryCapabilities caps = mock(QueryCapabilities.class);
        when(caps.isOffsetSupported()).thenReturn(true);

        FeatureSource source = new ForwardingFeatureSource(store.getFeatureSource(pointsName)) {
            @Override
            public QueryCapabilities getQueryCapabilities() {
                return caps;
View Full Code Here

    @Test
    public void testQueryCapabilities() throws Exception {
        final String typeName = testData.getTempTableName();
        SimpleFeatureSource fs = store.getFeatureSource(typeName);

        QueryCapabilities queryCapabilities = fs.getQueryCapabilities();
        assertFalse(queryCapabilities.isOffsetSupported());
        assertTrue(queryCapabilities.isReliableFIDSupported());

        assertFalse(queryCapabilities.supportsSorting(new SortBy[] { NATURAL_ORDER }));
        assertFalse(queryCapabilities.supportsSorting(new SortBy[] { REVERSE_ORDER }));
        assertFalse(queryCapabilities.supportsSorting(new SortBy[] { ff.sort("nonExistent",
                ASCENDING) }));

        assertFalse(queryCapabilities.supportsSorting(new SortBy[] { ff.sort("nonExistent",
                ASCENDING) }));

        // no sorting on geometry columns!
        String geometryAttribute = fs.getSchema().getGeometryDescriptor().getLocalName();
        assertFalse(queryCapabilities.supportsSorting(new SortBy[] { ff.sort(geometryAttribute,
                ASCENDING) }));

        SortBy[] supported = { ff.sort("INT32_COL", ASCENDING),//
                ff.sort("INT32_COL", DESCENDING),//
                ff.sort("INT16_COL", ASCENDING),//
                ff.sort("INT16_COL", DESCENDING),//
                ff.sort("FLOAT32_COL", ASCENDING),//
                ff.sort("FLOAT32_COL", DESCENDING),//
                ff.sort("FLOAT64_COL", ASCENDING),//
                ff.sort("FLOAT64_COL", DESCENDING),//
                ff.sort("STRING_COL", ASCENDING),//
                ff.sort("STRING_COL", DESCENDING),//
                ff.sort("NSTRING_COL", ASCENDING),//
                ff.sort("NSTRING_COL", DESCENDING),//
                ff.sort("DATE_COL", ASCENDING),//
                ff.sort("DATE_COL", ASCENDING) };

        assertTrue(queryCapabilities.supportsSorting(supported));

    }
View Full Code Here

    private QueryCapabilities queryCapabilities;

    public ArcSdeFeatureSource(final FeatureTypeInfo typeInfo, final ArcSDEDataStore dataStore) {
        this.typeInfo = typeInfo;
        this.dataStore = dataStore;
        this.queryCapabilities = new QueryCapabilities() {
            @Override
            public boolean supportsSorting(final SortBy[] sortAttributes) {
                final SimpleFeatureType featureType = typeInfo.getFeatureType();
                for (SortBy sortBy : sortAttributes) {
                    if (SortBy.NATURAL_ORDER == sortBy || SortBy.REVERSE_ORDER == sortBy) {
View Full Code Here

        Map params = new KVP( URLP.key,url );
        DataStore dataStore = factory.createDataStore( params );
        Name typeName = dataStore.getNames().get(0);
        SimpleFeatureSource featureSource = dataStore.getFeatureSource( typeName);
       
        QueryCapabilities caps = featureSource.getQueryCapabilities();
       
        SortBy[] sortBy = new SortBy[]{SortBy.NATURAL_ORDER,};
        assertTrue( "Natural", caps.supportsSorting( sortBy ));
       
        SimpleFeatureType schema = featureSource.getSchema();
        String attr = schema.getDescriptor(1).getLocalName();
       
        sortBy[0] = ff.sort( attr, SortOrder.ASCENDING );
        assertTrue( "Sort "+attr, caps.supportsSorting( sortBy ));
       
        sortBy[0] = ff.sort( "the_geom", SortOrder.ASCENDING );
        assertFalse( "Cannot sort the_geom", caps.supportsSorting( sortBy ));
    }
View Full Code Here

   
    public WSFeatureSource(final WS_DataStore dataStore, final String typeName, final Name name)
            throws IOException {
        this.typeName = typeName;
        this.dataStore = dataStore;
        this.queryCapabilities = new QueryCapabilities();
    }
View Full Code Here

TOP

Related Classes of org.geotools.data.QueryCapabilities

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.