← Back to team overview

dhis2-devs team mailing list archive

[Branch ~dhis2-devs-core/dhis2/trunk] Rev 16845: Event analytics. Proper handling of unlimited max no of records setting.

 

------------------------------------------------------------
revno: 16845
committer: Lars Helge Overland <larshelge@xxxxxxxxx>
branch nick: dhis2
timestamp: Mon 2014-09-29 10:32:57 +0200
message:
  Event analytics. Proper handling of unlimited max no of records setting.
modified:
  dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/event/EventQueryPlanner.java
  dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/event/data/DefaultEventAnalyticsService.java
  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/JdbcEventAnalyticsManager.java


--
lp:dhis2
https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk

Your team DHIS 2 developers is subscribed to branch lp:dhis2.
To unsubscribe from this branch go to https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription
=== modified file 'dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/event/EventQueryPlanner.java'
--- dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/event/EventQueryPlanner.java	2014-08-25 12:20:56 +0000
+++ dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/event/EventQueryPlanner.java	2014-09-29 08:32:57 +0000
@@ -56,7 +56,7 @@
     EventQueryParams planEventQuery( EventQueryParams params );
     
     /**
-     * Returns the max number of records to return.
+     * Returns the max number of records to return. A value of 0 indicates no limit.
      */
     int getMaxLimit();
 }

=== modified file 'dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/event/data/DefaultEventAnalyticsService.java'
--- dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/event/data/DefaultEventAnalyticsService.java	2014-09-24 13:47:50 +0000
+++ dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/event/data/DefaultEventAnalyticsService.java	2014-09-29 08:32:57 +0000
@@ -178,7 +178,7 @@
             analyticsManager.getAggregatedEventData( query, grid, maxLimit );
         }
         
-        if ( grid.getHeight() > maxLimit )
+        if ( maxLimit > 0 && grid.getHeight() > maxLimit )
         {
             throw new IllegalQueryException( "Number of rows produced by query is larger than the max limit: " + maxLimit );
         }

=== 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-08-25 12:20:56 +0000
+++ dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/event/data/DefaultEventQueryPlanner.java	2014-09-29 08:32:57 +0000
@@ -128,7 +128,7 @@
             violation = "Page size must be zero or positive: " + params.getPageSize();
         }
         
-        if ( params.hasLimit() && params.getLimit() > getMaxLimit() )
+        if ( params.hasLimit() && getMaxLimit() > 0 && params.getLimit() > getMaxLimit() )
         {
             violation = "Limit of: " + params.getLimit() + " is larger than max limit: " + getMaxLimit();
         }

=== 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-08-25 10:18:10 +0000
+++ dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/event/data/JdbcEventAnalyticsManager.java	2014-09-29 08:32:57 +0000
@@ -124,7 +124,7 @@
         {
             sql += "limit " + params.getLimit();
         }
-        else
+        else if ( maxLimit > 0 )
         {
             sql += "limit " + ( maxLimit + 1 );
         }
@@ -223,7 +223,7 @@
         {
             sql += "limit " + params.getPageSizeWithDefault() + " offset " + params.getOffset();
         }
-        else
+        else if ( maxLimit > 0 )
         {
             sql += "limit " + ( maxLimit + 1 );
         }