=== modified file 'dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/Partitions.java' --- dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/Partitions.java 2014-03-24 21:32:04 +0000 +++ dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/Partitions.java 2014-04-19 08:06:02 +0000 @@ -30,6 +30,7 @@ import java.util.ArrayList; import java.util.List; +import java.util.Set; /** * @author Lars Helge Overland @@ -95,11 +96,11 @@ /** * Prunes this instance so that it retains only the partitions included in - * the given list. No operation takes place if the given list is null or empty. + * the given set. No operation takes place if the given set is null or empty. * - * @param validPartitions list of valid partitions to retain. + * @param validPartitions set of valid partitions to retain. */ - public Partitions prunePartitions( List validPartitions ) + public Partitions prunePartitions( Set validPartitions ) { if ( validPartitions != null && !validPartitions.isEmpty() ) { === modified file 'dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/event/EventAnalyticsManager.java' --- dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/event/EventAnalyticsManager.java 2014-03-18 08:10:10 +0000 +++ dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/event/EventAnalyticsManager.java 2014-04-19 08:06:02 +0000 @@ -28,7 +28,7 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -import java.util.List; +import java.util.Set; import org.hisp.dhis.common.Grid; import org.hisp.dhis.program.Program; @@ -44,5 +44,5 @@ int getEventCount( EventQueryParams params ); - public List getAnalyticsTables( Program program ); + public Set getAnalyticsTables( Program program ); } === modified file 'dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/event/data/DefaultEventQueryPlanner.java' --- dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/event/data/DefaultEventQueryPlanner.java 2014-04-19 07:47:34 +0000 +++ dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/event/data/DefaultEventQueryPlanner.java 2014-04-19 08:06:02 +0000 @@ -30,6 +30,7 @@ import java.util.ArrayList; import java.util.List; +import java.util.Set; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -123,7 +124,7 @@ @Override public List planAggregateQuery( EventQueryParams params ) { - List validPartitions = analyticsManager.getAnalyticsTables( params.getProgram() ); + Set validPartitions = analyticsManager.getAnalyticsTables( params.getProgram() ); List queries = new ArrayList(); @@ -145,7 +146,7 @@ @Override public EventQueryParams planEventQuery( EventQueryParams params ) { - List validPartitions = analyticsManager.getAnalyticsTables( params.getProgram() ); + Set validPartitions = analyticsManager.getAnalyticsTables( params.getProgram() ); String tableSuffix = "_" + params.getProgram().getUid(); @@ -175,7 +176,7 @@ // Supportive methods // ------------------------------------------------------------------------- - private List groupByPartition( EventQueryParams params, List validPartitions ) + private List groupByPartition( EventQueryParams params, Set validPartitions ) { String tableSuffix = "_" + params.getProgram().getUid(); === modified file 'dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/event/data/JdbcEventAnalyticsManager.java' --- dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/event/data/JdbcEventAnalyticsManager.java 2014-04-19 07:47:34 +0000 +++ dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/event/data/JdbcEventAnalyticsManager.java 2014-04-19 08:06:02 +0000 @@ -39,7 +39,9 @@ import static org.hisp.dhis.system.util.TextUtils.trimEnd; import java.util.Arrays; +import java.util.HashSet; import java.util.List; +import java.util.Set; import org.apache.commons.lang.StringUtils; import org.apache.commons.logging.Log; @@ -297,7 +299,7 @@ return count; } - public List getAnalyticsTables( Program program ) + public Set getAnalyticsTables( Program program ) { final String sql = "select table_name from information_schema.tables " + @@ -306,7 +308,7 @@ log.info( "Information schema SQL: " + sql ); - return jdbcTemplate.queryForList( sql, String.class ); + return new HashSet( jdbcTemplate.queryForList( sql, String.class ) ); } // ------------------------------------------------------------------------- === modified file 'dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/table/PartitionUtils.java' --- dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/table/PartitionUtils.java 2014-03-18 08:10:10 +0000 +++ dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/table/PartitionUtils.java 2014-04-19 08:06:02 +0000 @@ -69,7 +69,7 @@ //TODO optimize by including required filter periods only - public static Partitions getPartitions( Period period, String tablePrefix, String tableSuffix, List validPartitions ) + public static Partitions getPartitions( Period period, String tablePrefix, String tableSuffix, Set validPartitions ) { tablePrefix = StringUtils.trimToEmpty( tablePrefix ); tableSuffix = StringUtils.trimToEmpty( tableSuffix ); === modified file 'dhis-2/dhis-services/dhis-service-analytics/src/test/java/org/hisp/dhis/analytics/table/PartitionUtilsTest.java' --- dhis-2/dhis-services/dhis-service-analytics/src/test/java/org/hisp/dhis/analytics/table/PartitionUtilsTest.java 2014-03-18 08:10:10 +0000 +++ dhis-2/dhis-services/dhis-service-analytics/src/test/java/org/hisp/dhis/analytics/table/PartitionUtilsTest.java 2014-04-19 08:06:02 +0000 @@ -35,7 +35,9 @@ import static org.junit.Assert.assertTrue; import java.util.ArrayList; +import java.util.HashSet; import java.util.List; +import java.util.Set; import org.hisp.dhis.analytics.Partitions; import org.hisp.dhis.common.ListMap; @@ -105,7 +107,7 @@ assertEquals( expected, PartitionUtils.getPartitions( period, TBL, null, null ) ); - List validPartitions = new ArrayList(); + Set validPartitions = new HashSet(); validPartitions.add( TBL + "_2008" ); validPartitions.add( TBL + "_2010" );