=== removed file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/query/MutableResult.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/query/MutableResult.java 2015-02-18 13:08:37 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/query/MutableResult.java 1970-01-01 00:00:00 +0000 @@ -1,49 +0,0 @@ -package org.hisp.dhis.query; - -/* - * Copyright (c) 2004-2015, University of Oslo - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright notice, this - * list of conditions and the following disclaimer. - * - * Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * Neither the name of the HISP project nor the names of its contributors may - * be used to endorse or promote products derived from this software without - * specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -import org.hisp.dhis.common.IdentifiableObject; - -import java.util.List; - -/** - * @author Morten Olav Hansen - */ -public class MutableResult extends Result -{ - public MutableResult( List items ) - { - super( items ); - } - - public void setItems( List items ) - { - this.items = items; - } -} === modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/query/QueryEngine.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/query/QueryEngine.java 2015-03-20 03:00:33 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/query/QueryEngine.java 2015-11-04 03:03:17 +0000 @@ -35,7 +35,20 @@ */ public interface QueryEngine { + /** + * Return objects matching given query, T typed according to QueryEngine + * implementation. + * + * @param query Query instance to use + * @return Matching objects + */ List query( Query query ); + /** + * Returns how many objects matches the given query. + * + * @param query Query instance to use + * @return N number of matching objects + */ int count( Query query ); } === modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/query/QueryService.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/query/QueryService.java 2015-03-20 03:00:33 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/query/QueryService.java 2015-11-04 03:03:17 +0000 @@ -28,6 +28,8 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +import org.hisp.dhis.common.IdentifiableObject; + import java.util.List; /** @@ -35,11 +37,41 @@ */ public interface QueryService { - Result query( Query query ); - - Result query( Query query, ResultTransformer transformer ); - + /** + * Return objects matching given query, T typed according to QueryEngine + * implementation. + * + * @param query Query instance to use + * @return Matching objects + */ + List query( Query query ); + + /** + * Return objects matching given query, T typed according to QueryEngine + * implementation. + * + * @param query Query instance to use + * @param transformer ResultTransformer to use for mutating the result + * @return Matching objects + */ + List query( Query query, ResultTransformer transformer ); + + /** + * Returns how many objects matches the given query. + * + * @param query Query instance to use + * @return N number of matching objects + */ int count( Query query ); + /** + * Create a query instance from a given set of filters (property:operator:value), and + * a list of orders. + * + * @param klass Type of object you want to query + * @param filters List of filters to use as basis for query instance + * @param orders List of orders to use for query + * @return New query instance using provided filters/orders + */ Query getQueryFromUrl( Class klass, List filters, List orders ); } === removed file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/query/Result.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/query/Result.java 2015-02-18 13:08:37 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/query/Result.java 1970-01-01 00:00:00 +0000 @@ -1,71 +0,0 @@ -package org.hisp.dhis.query; - -/* - * Copyright (c) 2004-2015, University of Oslo - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright notice, this - * list of conditions and the following disclaimer. - * - * Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * Neither the name of the HISP project nor the names of its contributors may - * be used to endorse or promote products derived from this software without - * specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -import com.google.common.base.MoreObjects; -import org.hisp.dhis.common.IdentifiableObject; - -import java.util.ArrayList; -import java.util.List; - -/** - * @author Morten Olav Hansen - */ -public class Result -{ - protected List items = new ArrayList<>(); - - public Result() - { - } - - public Result( List items ) - { - this.items = items; - } - - public List getItems() - { - return items; - } - - public int size() - { - return items == null ? 0 : items.size(); - } - - - @Override - public String toString() - { - return MoreObjects.toStringHelper( this ) - .add( "items", items ) - .toString(); - } -} === modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/query/ResultTransformer.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/query/ResultTransformer.java 2015-02-18 13:08:37 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/query/ResultTransformer.java 2015-11-04 03:03:17 +0000 @@ -28,10 +28,13 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +import java.util.List; + /** * @author Morten Olav Hansen */ -public interface ResultTransformer +@FunctionalInterface +public interface ResultTransformer { - Result transform( MutableResult result ); + List transform( List result ); } === removed file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/query/ResultTransformers.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/query/ResultTransformers.java 2015-02-23 11:17:55 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/query/ResultTransformers.java 1970-01-01 00:00:00 +0000 @@ -1,75 +0,0 @@ -package org.hisp.dhis.query; - -/* - * Copyright (c) 2004-2015, University of Oslo - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright notice, this - * list of conditions and the following disclaimer. - * - * Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * Neither the name of the HISP project nor the names of its contributors may - * be used to endorse or promote products derived from this software without - * specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - -/** - * @author Morten Olav Hansen - */ -public class ResultTransformers implements ResultTransformer -{ - private List resultTransformers = new ArrayList<>(); - - public ResultTransformers( ResultTransformer... resultTransformers ) - { - Collections.addAll( this.resultTransformers, resultTransformers ); - } - - public ResultTransformers( List resultTransformers ) - { - this.resultTransformers = resultTransformers; - } - - @Override - public Result transform( MutableResult mutableResult ) - { - Result result = mutableResult; - - for ( ResultTransformer resultTransformer : resultTransformers ) - { - result = resultTransformer.transform( new MutableResult( result.getItems() ) ); - } - - return result; - } - - public ResultTransformer add( ResultTransformer... resultTransformers ) - { - Collections.addAll( this.resultTransformers, resultTransformers ); - return this; - } - - public static ResultTransformer from( ResultTransformer... resultTransformers ) - { - return new ResultTransformers( resultTransformers ); - } -} === modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/query/CriteriaQueryEngine.java' --- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/query/CriteriaQueryEngine.java 2015-09-13 17:45:53 +0000 +++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/query/CriteriaQueryEngine.java 2015-11-04 03:03:17 +0000 @@ -45,9 +45,12 @@ import java.util.Map; /** + * Implementation of QueryEngine that uses Hibernate Criteria and + * supports idObjects only. + * * @author Morten Olav Hansen */ -public class CriteriaQueryEngine implements QueryEngine +public class CriteriaQueryEngine implements QueryEngine { @Autowired private final List> hibernateGenericStores = new ArrayList<>(); @@ -289,7 +292,7 @@ return null; } - org.hibernate.criterion.Order criteriaOrder = null; + org.hibernate.criterion.Order criteriaOrder; if ( order.isAscending() ) { === modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/query/DefaultQueryService.java' --- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/query/DefaultQueryService.java 2015-09-21 09:17:44 +0000 +++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/query/DefaultQueryService.java 2015-11-04 03:03:17 +0000 @@ -46,32 +46,33 @@ * * @author Morten Olav Hansen */ -public class DefaultQueryService implements QueryService +public class DefaultQueryService implements QueryService { @Autowired - private QueryEngine queryEngine; + private QueryEngine queryEngine; @Autowired private SchemaService schemaService; @Override - public Result query( Query query ) + @SuppressWarnings( "unchecked" ) + public List query( Query query ) { - List objects = queryEngine.query( query ); - return new Result( objects ); + return queryEngine.query( query ); } @Override - public Result query( Query query, ResultTransformer transformer ) + @SuppressWarnings( "unchecked" ) + public List query( Query query, ResultTransformer transformer ) { - List objects = queryEngine.query( query ); + List objects = queryEngine.query( query ); if ( transformer != null ) { - return transformer.transform( new MutableResult( objects ) ); + return transformer.transform( objects ); } - return new Result( objects ); + return objects; } @Override === modified file 'dhis-2/dhis-services/dhis-service-core/src/test/java/org/hisp/dhis/query/QueryServiceTest.java' --- dhis-2/dhis-services/dhis-service-core/src/test/java/org/hisp/dhis/query/QueryServiceTest.java 2015-09-23 10:48:14 +0000 +++ dhis-2/dhis-services/dhis-service-core/src/test/java/org/hisp/dhis/query/QueryServiceTest.java 2015-11-04 03:03:17 +0000 @@ -28,13 +28,7 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; - -import java.util.Collection; -import java.util.Iterator; - +import com.google.common.collect.Lists; import org.hisp.dhis.DhisSpringTest; import org.hisp.dhis.common.IdentifiableObject; import org.hisp.dhis.common.IdentifiableObjectManager; @@ -46,7 +40,11 @@ import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; -import com.google.common.collect.Lists; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; + +import static org.junit.Assert.*; /** * @author Morten Olav Hansen @@ -116,9 +114,7 @@ { createDataElements(); Query query = Query.from( schemaService.getDynamicSchema( DataElement.class ) ); - Result result = queryService.query( query ); - - assertEquals( 6, result.size() ); + assertEquals( 6, queryService.query( query ).size() ); } @Test @@ -126,9 +122,7 @@ { createDataElements(); Query query = queryService.getQueryFromUrl( DataElement.class, Lists.newArrayList(), Lists.newArrayList() ); - Result result = queryService.query( query ); - - assertEquals( 6, result.size() ); + assertEquals( 6, queryService.query( query ).size() ); } @Test @@ -154,10 +148,10 @@ createDataElements(); Query query = Query.from( schemaService.getDynamicSchema( DataElement.class ) ); query.add( Restrictions.eq( "id", "deabcdefghA" ) ); - Result result = queryService.query( query ); + List objects = queryService.query( query ); - assertEquals( 1, result.size() ); - assertEquals( "deabcdefghA", result.getItems().get( 0 ).getUid() ); + assertEquals( 1, objects.size() ); + assertEquals( "deabcdefghA", objects.get( 0 ).getUid() ); } @Test @@ -165,10 +159,10 @@ { createDataElements(); Query query = queryService.getQueryFromUrl( DataElement.class, Lists.newArrayList( "id:eq:deabcdefghA" ), Lists.newArrayList() ); - Result result = queryService.query( query ); + List objects = queryService.query( query ); - assertEquals( 1, result.size() ); - assertEquals( "deabcdefghA", result.getItems().get( 0 ).getUid() ); + assertEquals( 1, objects.size() ); + assertEquals( "deabcdefghA", objects.get( 0 ).getUid() ); } @Test @@ -177,16 +171,16 @@ createDataElements(); Query query = Query.from( schemaService.getDynamicSchema( DataElement.class ) ); query.add( Restrictions.ne( "id", "deabcdefghA" ) ); - Result result = queryService.query( query ); - - assertEquals( 5, result.size() ); - - assertFalse( collectionContainsUid( result.getItems(), "deabcdefghA" ) ); - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghB" ) ); - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghC" ) ); - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghD" ) ); - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghE" ) ); - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghF" ) ); + List objects = queryService.query( query ); + + assertEquals( 5, objects.size() ); + + assertFalse( collectionContainsUid( objects, "deabcdefghA" ) ); + assertTrue( collectionContainsUid( objects, "deabcdefghB" ) ); + assertTrue( collectionContainsUid( objects, "deabcdefghC" ) ); + assertTrue( collectionContainsUid( objects, "deabcdefghD" ) ); + assertTrue( collectionContainsUid( objects, "deabcdefghE" ) ); + assertTrue( collectionContainsUid( objects, "deabcdefghF" ) ); } @Test @@ -194,16 +188,16 @@ { createDataElements(); Query query = queryService.getQueryFromUrl( DataElement.class, Lists.newArrayList( "id:ne:deabcdefghA" ), Lists.newArrayList() ); - Result result = queryService.query( query ); - - assertEquals( 5, result.size() ); - - assertFalse( collectionContainsUid( result.getItems(), "deabcdefghA" ) ); - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghB" ) ); - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghC" ) ); - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghD" ) ); - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghE" ) ); - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghF" ) ); + List objects = queryService.query( query ); + + assertEquals( 5, objects.size() ); + + assertFalse( collectionContainsUid( objects, "deabcdefghA" ) ); + assertTrue( collectionContainsUid( objects, "deabcdefghB" ) ); + assertTrue( collectionContainsUid( objects, "deabcdefghC" ) ); + assertTrue( collectionContainsUid( objects, "deabcdefghD" ) ); + assertTrue( collectionContainsUid( objects, "deabcdefghE" ) ); + assertTrue( collectionContainsUid( objects, "deabcdefghF" ) ); } @Test @@ -212,10 +206,10 @@ createDataElements(); Query query = Query.from( schemaService.getDynamicSchema( DataElement.class ) ); query.add( Restrictions.like( "name", "%F" ) ); - Result result = queryService.query( query ); + List objects = queryService.query( query ); - assertEquals( 1, result.size() ); - assertEquals( "deabcdefghF", result.getItems().get( 0 ).getUid() ); + assertEquals( 1, objects.size() ); + assertEquals( "deabcdefghF", objects.get( 0 ).getUid() ); } @Test @@ -223,10 +217,10 @@ { createDataElements(); Query query = queryService.getQueryFromUrl( DataElement.class, Lists.newArrayList( "name:like:F" ), Lists.newArrayList() ); - Result result = queryService.query( query ); + List objects = queryService.query( query ); - assertEquals( 1, result.size() ); - assertEquals( "deabcdefghF", result.getItems().get( 0 ).getUid() ); + assertEquals( 1, objects.size() ); + assertEquals( "deabcdefghF", objects.get( 0 ).getUid() ); } @Test @@ -235,13 +229,13 @@ createDataElements(); Query query = Query.from( schemaService.getDynamicSchema( DataElement.class ) ); query.add( Restrictions.gt( "created", Year.parseYear( "2003" ).getStart() ) ); - Result result = queryService.query( query ); - - assertEquals( 3, result.size() ); - - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghD" ) ); - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghE" ) ); - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghF" ) ); + List objects = queryService.query( query ); + + assertEquals( 3, objects.size() ); + + assertTrue( collectionContainsUid( objects, "deabcdefghD" ) ); + assertTrue( collectionContainsUid( objects, "deabcdefghE" ) ); + assertTrue( collectionContainsUid( objects, "deabcdefghF" ) ); } @Test @@ -249,13 +243,13 @@ { createDataElements(); Query query = queryService.getQueryFromUrl( DataElement.class, Lists.newArrayList( "created:gt:2003" ), Lists.newArrayList() ); - Result result = queryService.query( query ); - - assertEquals( 3, result.size() ); - - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghD" ) ); - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghE" ) ); - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghF" ) ); + List objects = queryService.query( query ); + + assertEquals( 3, objects.size() ); + + assertTrue( collectionContainsUid( objects, "deabcdefghD" ) ); + assertTrue( collectionContainsUid( objects, "deabcdefghE" ) ); + assertTrue( collectionContainsUid( objects, "deabcdefghF" ) ); } @Test @@ -264,12 +258,12 @@ createDataElements(); Query query = Query.from( schemaService.getDynamicSchema( DataElement.class ) ); query.add( Restrictions.lt( "created", Year.parseYear( "2003" ).getStart() ) ); - Result result = queryService.query( query ); - - assertEquals( 2, result.size() ); - - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghA" ) ); - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghB" ) ); + List objects = queryService.query( query ); + + assertEquals( 2, objects.size() ); + + assertTrue( collectionContainsUid( objects, "deabcdefghA" ) ); + assertTrue( collectionContainsUid( objects, "deabcdefghB" ) ); } @Test @@ -277,12 +271,12 @@ { createDataElements(); Query query = queryService.getQueryFromUrl( DataElement.class, Lists.newArrayList( "created:lt:2003" ), Lists.newArrayList() ); - Result result = queryService.query( query ); - - assertEquals( 2, result.size() ); - - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghA" ) ); - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghB" ) ); + List objects = queryService.query( query ); + + assertEquals( 2, objects.size() ); + + assertTrue( collectionContainsUid( objects, "deabcdefghA" ) ); + assertTrue( collectionContainsUid( objects, "deabcdefghB" ) ); } @Test @@ -291,14 +285,14 @@ createDataElements(); Query query = Query.from( schemaService.getDynamicSchema( DataElement.class ) ); query.add( Restrictions.ge( "created", Year.parseYear( "2003" ).getStart() ) ); - Result result = queryService.query( query ); - - assertEquals( 4, result.size() ); - - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghC" ) ); - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghD" ) ); - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghE" ) ); - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghF" ) ); + List objects = queryService.query( query ); + + assertEquals( 4, objects.size() ); + + assertTrue( collectionContainsUid( objects, "deabcdefghC" ) ); + assertTrue( collectionContainsUid( objects, "deabcdefghD" ) ); + assertTrue( collectionContainsUid( objects, "deabcdefghE" ) ); + assertTrue( collectionContainsUid( objects, "deabcdefghF" ) ); } @Test @@ -306,14 +300,14 @@ { createDataElements(); Query query = queryService.getQueryFromUrl( DataElement.class, Lists.newArrayList( "created:ge:2003" ), Lists.newArrayList() ); - Result result = queryService.query( query ); - - assertEquals( 4, result.size() ); - - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghC" ) ); - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghD" ) ); - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghE" ) ); - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghF" ) ); + List objects = queryService.query( query ); + + assertEquals( 4, objects.size() ); + + assertTrue( collectionContainsUid( objects, "deabcdefghC" ) ); + assertTrue( collectionContainsUid( objects, "deabcdefghD" ) ); + assertTrue( collectionContainsUid( objects, "deabcdefghE" ) ); + assertTrue( collectionContainsUid( objects, "deabcdefghF" ) ); } @Test @@ -322,13 +316,13 @@ createDataElements(); Query query = Query.from( schemaService.getDynamicSchema( DataElement.class ) ); query.add( Restrictions.le( "created", Year.parseYear( "2003" ).getStart() ) ); - Result result = queryService.query( query ); - - assertEquals( 3, result.size() ); - - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghA" ) ); - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghB" ) ); - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghC" ) ); + List objects = queryService.query( query ); + + assertEquals( 3, objects.size() ); + + assertTrue( collectionContainsUid( objects, "deabcdefghA" ) ); + assertTrue( collectionContainsUid( objects, "deabcdefghB" ) ); + assertTrue( collectionContainsUid( objects, "deabcdefghC" ) ); } @Test @@ -336,13 +330,13 @@ { createDataElements(); Query query = queryService.getQueryFromUrl( DataElement.class, Lists.newArrayList( "created:le:2003" ), Lists.newArrayList() ); - Result result = queryService.query( query ); - - assertEquals( 3, result.size() ); - - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghA" ) ); - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghB" ) ); - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghC" ) ); + List objects = queryService.query( query ); + + assertEquals( 3, objects.size() ); + + assertTrue( collectionContainsUid( objects, "deabcdefghA" ) ); + assertTrue( collectionContainsUid( objects, "deabcdefghB" ) ); + assertTrue( collectionContainsUid( objects, "deabcdefghC" ) ); } @Test @@ -351,13 +345,13 @@ createDataElements(); Query query = Query.from( schemaService.getDynamicSchema( DataElement.class ) ); query.add( Restrictions.between( "created", Year.parseYear( "2003" ).getStart(), Year.parseYear( "2005" ).getStart() ) ); - Result result = queryService.query( query ); - - assertEquals( 3, result.size() ); - - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghC" ) ); - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghD" ) ); - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghE" ) ); + List objects = queryService.query( query ); + + assertEquals( 3, objects.size() ); + + assertTrue( collectionContainsUid( objects, "deabcdefghC" ) ); + assertTrue( collectionContainsUid( objects, "deabcdefghD" ) ); + assertTrue( collectionContainsUid( objects, "deabcdefghE" ) ); } @Test @@ -366,12 +360,12 @@ createDataElements(); Query query = Query.from( schemaService.getDynamicSchema( DataElement.class ) ); query.add( Restrictions.in( "id", Lists.newArrayList( "deabcdefghD", "deabcdefghF" ) ) ); - Result result = queryService.query( query ); - - assertEquals( 2, result.size() ); - - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghD" ) ); - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghF" ) ); + List objects = queryService.query( query ); + + assertEquals( 2, objects.size() ); + + assertTrue( collectionContainsUid( objects, "deabcdefghD" ) ); + assertTrue( collectionContainsUid( objects, "deabcdefghF" ) ); } @Test @@ -380,37 +374,11 @@ createDataElements(); Query query = Query.from( schemaService.getDynamicSchema( DataElement.class ) ); - Result result = queryService.query( query, result1 -> new Result() ); - - assertEquals( 0, result.size() ); - - result = queryService.query( query, result1 -> new Result( result1.getItems() ) ); - - assertEquals( 6, result.size() ); - - result = queryService.query( query, result1 -> { - Iterator iterator = result1.getItems().iterator(); - - while ( iterator.hasNext() ) - { - IdentifiableObject identifiableObject = iterator.next(); - - if ( identifiableObject.getUid().equals( "deabcdefghD" ) ) - { - iterator.remove(); - } - } - - return result1; - } ); - - assertEquals( 5, result.size() ); - - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghA" ) ); - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghB" ) ); - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghC" ) ); - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghE" ) ); - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghF" ) ); + List objects = queryService.query( query, result1 -> new ArrayList() ); + assertEquals( 0, objects.size() ); + + objects = queryService.query( query, result1 -> result1 ); + assertEquals( 6, objects.size() ); } @Test @@ -421,16 +389,16 @@ Query query = Query.from( schema ); query.addOrder( new Order( schema.getProperty( "name" ), false ) ); - Result result = queryService.query( query ); - - assertEquals( 6, result.size() ); - - assertEquals( "deabcdefghF", result.getItems().get( 0 ).getUid() ); - assertEquals( "deabcdefghE", result.getItems().get( 1 ).getUid() ); - assertEquals( "deabcdefghD", result.getItems().get( 2 ).getUid() ); - assertEquals( "deabcdefghC", result.getItems().get( 3 ).getUid() ); - assertEquals( "deabcdefghB", result.getItems().get( 4 ).getUid() ); - assertEquals( "deabcdefghA", result.getItems().get( 5 ).getUid() ); + List objects = queryService.query( query ); + + assertEquals( 6, objects.size() ); + + assertEquals( "deabcdefghF", objects.get( 0 ).getUid() ); + assertEquals( "deabcdefghE", objects.get( 1 ).getUid() ); + assertEquals( "deabcdefghD", objects.get( 2 ).getUid() ); + assertEquals( "deabcdefghC", objects.get( 3 ).getUid() ); + assertEquals( "deabcdefghB", objects.get( 4 ).getUid() ); + assertEquals( "deabcdefghA", objects.get( 5 ).getUid() ); } @Test @@ -441,16 +409,16 @@ Query query = Query.from( schema ); query.addOrder( new Order( schema.getProperty( "name" ), true ) ); - Result result = queryService.query( query ); - - assertEquals( 6, result.size() ); - - assertEquals( "deabcdefghA", result.getItems().get( 0 ).getUid() ); - assertEquals( "deabcdefghB", result.getItems().get( 1 ).getUid() ); - assertEquals( "deabcdefghC", result.getItems().get( 2 ).getUid() ); - assertEquals( "deabcdefghD", result.getItems().get( 3 ).getUid() ); - assertEquals( "deabcdefghE", result.getItems().get( 4 ).getUid() ); - assertEquals( "deabcdefghF", result.getItems().get( 5 ).getUid() ); + List objects = queryService.query( query ); + + assertEquals( 6, objects.size() ); + + assertEquals( "deabcdefghA", objects.get( 0 ).getUid() ); + assertEquals( "deabcdefghB", objects.get( 1 ).getUid() ); + assertEquals( "deabcdefghC", objects.get( 2 ).getUid() ); + assertEquals( "deabcdefghD", objects.get( 3 ).getUid() ); + assertEquals( "deabcdefghE", objects.get( 4 ).getUid() ); + assertEquals( "deabcdefghF", objects.get( 5 ).getUid() ); } @Test @@ -461,16 +429,16 @@ Query query = Query.from( schema ); query.addOrder( new Order( schema.getProperty( "created" ), false ) ); - Result result = queryService.query( query ); - - assertEquals( 6, result.size() ); - - assertEquals( "deabcdefghF", result.getItems().get( 0 ).getUid() ); - assertEquals( "deabcdefghE", result.getItems().get( 1 ).getUid() ); - assertEquals( "deabcdefghD", result.getItems().get( 2 ).getUid() ); - assertEquals( "deabcdefghC", result.getItems().get( 3 ).getUid() ); - assertEquals( "deabcdefghB", result.getItems().get( 4 ).getUid() ); - assertEquals( "deabcdefghA", result.getItems().get( 5 ).getUid() ); + List objects = queryService.query( query ); + + assertEquals( 6, objects.size() ); + + assertEquals( "deabcdefghF", objects.get( 0 ).getUid() ); + assertEquals( "deabcdefghE", objects.get( 1 ).getUid() ); + assertEquals( "deabcdefghD", objects.get( 2 ).getUid() ); + assertEquals( "deabcdefghC", objects.get( 3 ).getUid() ); + assertEquals( "deabcdefghB", objects.get( 4 ).getUid() ); + assertEquals( "deabcdefghA", objects.get( 5 ).getUid() ); } @Test @@ -481,16 +449,16 @@ Query query = Query.from( schema ); query.addOrder( new Order( schema.getProperty( "created" ), true ) ); - Result result = queryService.query( query ); - - assertEquals( 6, result.size() ); - - assertEquals( "deabcdefghA", result.getItems().get( 0 ).getUid() ); - assertEquals( "deabcdefghB", result.getItems().get( 1 ).getUid() ); - assertEquals( "deabcdefghC", result.getItems().get( 2 ).getUid() ); - assertEquals( "deabcdefghD", result.getItems().get( 3 ).getUid() ); - assertEquals( "deabcdefghE", result.getItems().get( 4 ).getUid() ); - assertEquals( "deabcdefghF", result.getItems().get( 5 ).getUid() ); + List objects = queryService.query( query ); + + assertEquals( 6, objects.size() ); + + assertEquals( "deabcdefghA", objects.get( 0 ).getUid() ); + assertEquals( "deabcdefghB", objects.get( 1 ).getUid() ); + assertEquals( "deabcdefghC", objects.get( 2 ).getUid() ); + assertEquals( "deabcdefghD", objects.get( 3 ).getUid() ); + assertEquals( "deabcdefghE", objects.get( 4 ).getUid() ); + assertEquals( "deabcdefghF", objects.get( 5 ).getUid() ); } @Test @@ -504,9 +472,9 @@ conjunction.add( Restrictions.eq( "id", "deabcdefghF" ) ); query.add( conjunction ); - Result result = queryService.query( query ); + List objects = queryService.query( query ); - assertEquals( 0, result.size() ); + assertEquals( 0, objects.size() ); } @Test @@ -520,12 +488,12 @@ disjunction.add( Restrictions.eq( "id", "deabcdefghF" ) ); query.add( disjunction ); - Result result = queryService.query( query ); - - assertEquals( 2, result.size() ); - - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghD" ) ); - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghF" ) ); + List objects = queryService.query( query ); + + assertEquals( 2, objects.size() ); + + assertTrue( collectionContainsUid( objects, "deabcdefghD" ) ); + assertTrue( collectionContainsUid( objects, "deabcdefghF" ) ); } @Test @@ -537,13 +505,13 @@ query.add( Restrictions.ge( "created", Year.parseYear( "2002" ).getStart() ) ); query.add( Restrictions.le( "created", Year.parseYear( "2004" ).getStart() ) ); - Result result = queryService.query( query ); - - assertEquals( 3, result.size() ); - - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghB" ) ); - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghC" ) ); - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghD" ) ); + List objects = queryService.query( query ); + + assertEquals( 3, objects.size() ); + + assertTrue( collectionContainsUid( objects, "deabcdefghB" ) ); + assertTrue( collectionContainsUid( objects, "deabcdefghC" ) ); + assertTrue( collectionContainsUid( objects, "deabcdefghD" ) ); } @Test @@ -557,13 +525,13 @@ conjunction.add( Restrictions.le( "created", Year.parseYear( "2004" ).getStart() ) ); query.add( conjunction ); - Result result = queryService.query( query ); - - assertEquals( 3, result.size() ); - - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghB" ) ); - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghC" ) ); - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghD" ) ); + List objects = queryService.query( query ); + + assertEquals( 3, objects.size() ); + + assertTrue( collectionContainsUid( objects, "deabcdefghB" ) ); + assertTrue( collectionContainsUid( objects, "deabcdefghC" ) ); + assertTrue( collectionContainsUid( objects, "deabcdefghD" ) ); } @Test @@ -573,16 +541,16 @@ Query query = Query.from( schemaService.getDynamicSchema( DataElement.class ) ); query.add( Restrictions.isNull( "categoryCombo" ) ); - Result result = queryService.query( query ); - - assertEquals( 6, result.size() ); - - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghA" ) ); - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghB" ) ); - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghC" ) ); - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghD" ) ); - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghE" ) ); - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghF" ) ); + List objects = queryService.query( query ); + + assertEquals( 6, objects.size() ); + + assertTrue( collectionContainsUid( objects, "deabcdefghA" ) ); + assertTrue( collectionContainsUid( objects, "deabcdefghB" ) ); + assertTrue( collectionContainsUid( objects, "deabcdefghC" ) ); + assertTrue( collectionContainsUid( objects, "deabcdefghD" ) ); + assertTrue( collectionContainsUid( objects, "deabcdefghE" ) ); + assertTrue( collectionContainsUid( objects, "deabcdefghF" ) ); } @Test @@ -590,15 +558,15 @@ { createDataElements(); Query query = queryService.getQueryFromUrl( DataElement.class, Lists.newArrayList( "categoryCombo:null" ), Lists.newArrayList() ); - Result result = queryService.query( query ); - - assertEquals( 6, result.size() ); - - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghA" ) ); - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghB" ) ); - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghC" ) ); - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghD" ) ); - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghE" ) ); - assertTrue( collectionContainsUid( result.getItems(), "deabcdefghF" ) ); + List objects = queryService.query( query ); + + assertEquals( 6, objects.size() ); + + assertTrue( collectionContainsUid( objects, "deabcdefghA" ) ); + assertTrue( collectionContainsUid( objects, "deabcdefghB" ) ); + assertTrue( collectionContainsUid( objects, "deabcdefghC" ) ); + assertTrue( collectionContainsUid( objects, "deabcdefghD" ) ); + assertTrue( collectionContainsUid( objects, "deabcdefghE" ) ); + assertTrue( collectionContainsUid( objects, "deabcdefghF" ) ); } } === modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/AbstractCrudController.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/AbstractCrudController.java 2015-11-01 13:27:57 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/AbstractCrudController.java 2015-11-04 03:03:17 +0000 @@ -888,11 +888,11 @@ query.setFirstResult( pager.getOffset() ); query.setMaxResults( pager.getPageSize() ); - entityList = (List) queryService.query( query ).getItems(); + entityList = (List) queryService.query( query ); } else { - entityList = (List) queryService.query( query ).getItems(); + entityList = (List) queryService.query( query ); } return entityList; === modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/event/ProgramController.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/event/ProgramController.java 2015-09-24 08:32:10 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/event/ProgramController.java 2015-11-04 03:03:17 +0000 @@ -101,11 +101,11 @@ query.setFirstResult( pager.getOffset() ); query.setMaxResults( pager.getPageSize() ); - entityList = (List) queryService.query( query ).getItems(); + entityList = (List) queryService.query( query ); } else { - entityList = (List) queryService.query( query ).getItems(); + entityList = (List) queryService.query( query ); } if ( userFilter ) === modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/event/ProgramStageController.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/event/ProgramStageController.java 2015-07-03 04:08:33 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/event/ProgramStageController.java 2015-11-04 03:03:17 +0000 @@ -94,11 +94,11 @@ query.setFirstResult( pager.getOffset() ); query.setMaxResults( pager.getPageSize() ); - entityList = (List) queryService.query( query ).getItems(); + entityList = (List) queryService.query( query ); } else { - entityList = (List) queryService.query( query ).getItems(); + entityList = (List) queryService.query( query ); } return entityList; === modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/organisationunit/OrganisationUnitController.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/organisationunit/OrganisationUnitController.java 2015-10-26 00:15:36 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/organisationunit/OrganisationUnitController.java 2015-11-04 03:03:17 +0000 @@ -134,11 +134,11 @@ query.setFirstResult( pager.getOffset() ); query.setMaxResults( pager.getPageSize() ); - entityList = (List) queryService.query( query ).getItems(); + entityList = (List) queryService.query( query ); } else { - entityList = (List) queryService.query( query ).getItems(); + entityList = (List) queryService.query( query ); } return entityList;