Package org.geotools.data

Examples of org.geotools.data.Join


        dataStore.setExposePrimaryKeyColumns(exposePrimaryKeys);
        FilterFactory ff = dataStore.getFilterFactory();

        Filter j = ff.equal(ff.property(aname("stringProperty")), ff.property(aname("name")), true);
        Query q = new Query(tname("ft1"));
        q.getJoins().add(new Join(tname("ftjoin"), j));
        q.setSortBy(new SortBy[]{ff.sort(aname("intProperty"), SortOrder.DESCENDING)});

        SimpleFeatureCollection features = dataStore.getFeatureSource(tname("ft1")).getFeatures(q);
        SimpleFeatureIterator it = features.features();
        try {
View Full Code Here


        dataStore.setExposePrimaryKeyColumns(exposePrimaryKeys);
        FilterFactory ff = dataStore.getFilterFactory();
       
        Filter j = ff.equal(ff.property(aname("stringProperty")), ff.property(aname("name")), true);
        Query q = new Query(tname("ft1"));
        q.getJoins().add(new Join(tname("ftjoin"), j));
        q.setFilter(ff.greater(ff.property(aname("intProperty")), ff.literal(0)));
        q.setStartIndex(1);
        q.setSortBy(new SortBy[]{ff.sort(aname("intProperty"), SortOrder.ASCENDING)});
       
        SimpleFeatureCollection features = dataStore.getFeatureSource(tname("ft1")).getFeatures(q);
View Full Code Here

   
    public void doTestSelfJoin(boolean exposePrimaryKeys) throws Exception {
        dataStore.setExposePrimaryKeyColumns(exposePrimaryKeys);
        FilterFactory ff = dataStore.getFilterFactory();
        Query q = new Query(tname("ft1"));
        q.getJoins().add(new Join(tname("ft1"),
            ff.equal(ff.property(aname("intProperty")), ff.property(aname("foo.intProperty")), true)).alias(aname("foo")));
        q.setFilter(ff.equal(ff.property(aname("stringProperty")), ff.literal("two"), true));

        SimpleFeatureCollection features = dataStore.getFeatureSource(tname("ft1")).getFeatures(q);
        assertEquals(1, features.size());
View Full Code Here

        dataStore.setExposePrimaryKeyColumns(exposePrimaryKeys);
        FilterFactory2 ff = (FilterFactory2) dataStore.getFilterFactory();
        Query q = new Query(tname("ft1"));
        q.setPropertyNames(Arrays.asList(aname("geometry"), aname("intProperty")));
        q.setSortBy(new SortBy[]{ff.sort(aname("intProperty"), SortOrder.ASCENDING)});
        q.getJoins().add(new Join(tname("ftjoin"),
            ff.contains(ff.property(aname("geom")), ff.property(aname("geometry")))));

        SimpleFeatureCollection features = dataStore.getFeatureSource(tname("ft1")).getFeatures(q);
        assertEquals(6, features.size());
       
View Full Code Here

   
    void doTestOuterJoin(boolean exposePrimaryKeys) throws Exception {
        dataStore.setExposePrimaryKeyColumns(exposePrimaryKeys);
        FilterFactory ff = dataStore.getFilterFactory();
        Query q = new Query(tname("ftjoin"));
        q.getJoins().add(new Join(tname("ft1"),
            ff.equal(ff.property(aname("name")), ff.property(aname("stringProperty")), true)).type(Type.OUTER));

        SimpleFeatureCollection features = dataStore.getFeatureSource(tname("ftjoin")).getFeatures(q);
        assertEquals(dataStore.getFeatureSource(tname("ftjoin")).getFeatures(q).size(), features.size());
View Full Code Here

   
    void doJoinMoreThanTwo(boolean exposePrimaryKeys) throws Exception {
        dataStore.setExposePrimaryKeyColumns(exposePrimaryKeys);
        FilterFactory ff = dataStore.getFilterFactory();
        Query q = new Query(tname("ftjoin"));
        q.getJoins().add(new Join(tname("ft1"),
            ff.equal(ff.property(aname("name")), ff.property(aname("stringProperty")), true)));

        q.getJoins().add(new Join(tname("ftjoin2"),
                ff.equal(ff.property(aname("join2intProperty")), ff.property(aname("join1intProperty")), true)));

        SimpleFeatureCollection features = dataStore.getFeatureSource(tname("ftjoin")).getFeatures(q);
        assertEquals(3, features.size());
View Full Code Here

                                        "join filters were found", metas.size(), extractor.getJoins().size()));
                            }

                            //validate the filter for each join
                            for (int j = 1; j < metas.size(); j++) {
                                Join join = joins.get(j-1);
                                if (join.getFilter() != null) {
                                    validateFilter(join.getFilter(), query, metas.get(j), request);
                                }
                            }

                            filter = extractor.getPrimaryFilter();
                            if (filter != null) {
View Full Code Here

        //do same for other secondary filters
        List<Filter> otherFilters = rewriteAndSort(unroll(this.filters), false);
       
        for (int i = 0; i < featureTypes.size(); i++) {
            String nativeName = featureTypes.get(i).getNativeName();
            Join join = new Join(nativeName, joinFilters.get(i+1));
            if (aliases != null) {
                join.setAlias(aliases.get(i));
            }
            if (otherFilters.get(i+1) != null) {
                join.setFilter(otherFilters.get(i+1));
            }
            joins.add(join);
        }

        return joins;
View Full Code Here

        Filter primary = visitor.getPrimaryFilter();
        assertNull(primary);

        List<Join> joins = visitor.getJoins();
        assertEquals(1, joins.size());
        Join join = joins.get(0);
        assertEquals("Forests", join.getTypeName());
        assertEquals("b", join.getAlias());
        assertEquals(ff.equals(ff.property("a.FID"), ff.property("b.FID")), join.getJoinFilter());
    }
View Full Code Here

        assertNull(primary);

        List<Join> joins = visitor.getJoins();
        assertEquals(2, joins.size());

        Join j1 = joins.get(0);
        assertEquals("Lakes", j1.getTypeName());
        assertEquals("a", j1.getAlias());
        assertEquals(ff.equals(ff.property("a.FID"), ff.property("b.FID")), j1.getJoinFilter());

        Join j2 = joins.get(1);
        assertEquals("Buildings", j2.getTypeName());
        assertEquals("c", j2.getAlias());
        assertEquals(ff.equals(ff.property("b.FID"), ff.property("c.FID")), j2.getJoinFilter());
    }
View Full Code Here

TOP

Related Classes of org.geotools.data.Join

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.