← Back to team overview

dhis2-devs team mailing list archive

[Branch ~dhis2-devs-core/dhis2/trunk] Rev 6491: Added uid and description as meta data columns in report table. Uid is useful when you need to fi...

 

------------------------------------------------------------
revno: 6491
committer: Lars Helge Overland <larshelge@xxxxxxxxx>
branch nick: dhis2
timestamp: Thu 2012-04-05 13:57:23 +0200
message:
  Added uid and description as meta data columns in report table. Uid is useful when you need to filter out elements using stable ids in reports. Description is useful if you need to display additional data for an element in reports.
modified:
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/period/BiMonthlyPeriodType.java
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/period/FinancialPeriodType.java
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/period/Period.java
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/period/TwoYearlyPeriodType.java
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/reporttable/ReportTable.java
  dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/reporttable/impl/DefaultReportTableService.java
  dhis-2/dhis-services/dhis-service-reporting/src/test/java/org/hisp/dhis/reporttable/ReportTableGridTest.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-api/src/main/java/org/hisp/dhis/period/BiMonthlyPeriodType.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/period/BiMonthlyPeriodType.java	2012-02-12 17:33:07 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/period/BiMonthlyPeriodType.java	2012-04-05 11:57:23 +0000
@@ -32,8 +32,6 @@
 import java.util.Date;
 import java.util.List;
 
-import org.apache.commons.lang.NotImplementedException;
-
 /**
  * @author Lars Helge Overland
  */
@@ -151,18 +149,18 @@
     @Override
     public String getIsoDate( Period period )
     {        
-        throw new NotImplementedException(); // TODO
+        return null; // TODO
     }
 
     @Override
     public Period createPeriod( String isoDate )
     {
-        throw new NotImplementedException(); // TODO
+        return null; // TODO
     }
 
     @Override
     public String getIsoFormat()
     {
-        throw new NotImplementedException(); // TODO
+        return null; // TODO
     }
 }

=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/period/FinancialPeriodType.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/period/FinancialPeriodType.java	2012-02-13 11:41:07 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/period/FinancialPeriodType.java	2012-04-05 11:57:23 +0000
@@ -32,8 +32,6 @@
 import java.util.Date;
 import java.util.List;
 
-import org.apache.commons.lang.NotImplementedException;
-
 /**
  * @author Lars Helge Overland
  */
@@ -162,18 +160,18 @@
     @Override
     public String getIsoDate( Period period )
     {
-        throw new NotImplementedException(); // TODO
+        return null; // TODO
     }
 
     @Override
     public Period createPeriod( String isoDate )
     {
-        throw new NotImplementedException(); // TODO
+        return null; // TODO
     }
 
     @Override
     public String getIsoFormat()
     {
-        throw new NotImplementedException(); // TODO
+        return null; // TODO
     }
 }

=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/period/Period.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/period/Period.java	2012-03-28 18:27:56 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/period/Period.java	2012-04-05 11:57:23 +0000
@@ -109,6 +109,18 @@
     // Logic
     // -------------------------------------------------------------------------
 
+    @Override
+    public String getUid()
+    {
+        return getIsoDate();
+    }
+
+    @Override
+    public String getCode()
+    {
+        return getIsoDate();
+    }
+    
     /**
      * Returns an ISO8601 formatted string version of the period
      *

=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/period/TwoYearlyPeriodType.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/period/TwoYearlyPeriodType.java	2012-02-13 11:41:07 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/period/TwoYearlyPeriodType.java	2012-04-05 11:57:23 +0000
@@ -32,8 +32,6 @@
 import java.util.Date;
 import java.util.List;
 
-import org.apache.commons.lang.NotImplementedException;
-
 /**
  * PeriodType for two-yearly Periods. A valid two-yearly Period has startDate
  * set to January 1st on an even year (2000, 2002, 2004, etc), and endDate set
@@ -181,18 +179,18 @@
     @Override
     public String getIsoDate( Period period )
     {
-        throw new NotImplementedException(); // TODO
+        return null; // TODO
     }
 
     @Override
     public Period createPeriod( String isoDate )
     {
-        throw new NotImplementedException(); // TODO
+        return null; // TODO
     }
 
     @Override
     public String getIsoFormat()
     {
-        throw new NotImplementedException(); // TODO
+        return null; // TODO
     }
 }

=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/reporttable/ReportTable.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/reporttable/ReportTable.java	2012-03-27 17:38:48 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/reporttable/ReportTable.java	2012-04-05 11:57:23 +0000
@@ -77,19 +77,33 @@
     public static final String DATAELEMENT_ID = "dataelementid";
     public static final String CATEGORYCOMBO_ID = "categoryoptioncomboid";
     public static final String CATEGORYOPTION_ID = "categoryoptionid";
+    
     public static final String INDICATOR_ID = "indicatorid";
+    public static final String INDICATOR_UID = "indicatoruid";
     public static final String INDICATOR_NAME = "indicatorname";
     public static final String INDICATOR_CODE = "indicatorcode";
+    public static final String INDICATOR_DESCRIPTION = "indicatordescription";
+    
     public static final String DATASET_ID = "datasetid";
+    
     public static final String PERIOD_ID = "periodid";
+    public static final String PERIOD_UID = "perioduid";
     public static final String PERIOD_NAME = "periodname";
     public static final String PERIOD_CODE = "periodcode";
+    public static final String PERIOD_DESCRIPTION = "perioddescription";
+    
     public static final String ORGANISATIONUNIT_ID = "organisationunitid";
+    public static final String ORGANISATIONUNIT_UID = "organisationunituid";
     public static final String ORGANISATIONUNIT_NAME = "organisationunitname";
     public static final String ORGANISATIONUNIT_CODE = "organisationunitcode";
+    public static final String ORGANISATIONUNIT_DESCRIPTION = "organisationunitdescription";
+    
     public static final String ORGANISATIONUNITGROUP_ID = "organisationunitgroupid";
+    public static final String ORGANISATIONUNITGROUP_UID = "organisationunitgroupuid";
     public static final String ORGANISATIONUNITGROUP_NAME = "organisationunitgroupname";
     public static final String ORGANISATIONUNITGROUP_CODE = "organisationunitgroupcode";
+    public static final String ORGANISATIONUNITGROUP_DESCRIPTION = "organisationunitgroupdescription";
+    
     public static final String REPORTING_MONTH_COLUMN_NAME = "reporting_month_name";
     public static final String PARAM_ORGANISATIONUNIT_COLUMN_NAME = "param_organisationunit_name";
     public static final String ORGANISATION_UNIT_IS_PARENT_COLUMN_NAME = "organisation_unit_is_parent";
@@ -109,18 +123,31 @@
     {
         {
             put( CATEGORYCOMBO_ID, "Category combination ID" );
+            
             put( INDICATOR_ID, "Indicator ID" );
+            put( INDICATOR_UID, "Indicator UID" );
             put( INDICATOR_NAME, "Indicator" );
             put( INDICATOR_CODE, "Indicator code" );
+            put( INDICATOR_DESCRIPTION, "Indicator description" );
+            
             put( PERIOD_ID, "Period ID" );
+            put( PERIOD_UID, "Period UID" );
             put( PERIOD_NAME, "Period" );
             put( PERIOD_CODE, "Period code" );
+            put( PERIOD_DESCRIPTION, "Period description" );
+            
             put( ORGANISATIONUNIT_ID, "Organisation unit ID" );
+            put( ORGANISATIONUNIT_UID, "Organisation unit UID" );
             put( ORGANISATIONUNIT_NAME, "Organisation unit" );
             put( ORGANISATIONUNIT_CODE, "Organisation unit code" );
+            put( ORGANISATIONUNIT_DESCRIPTION, "Organisation unit description" );
+            
             put( ORGANISATIONUNITGROUP_ID, "Organisation unit group ID" );
+            put( ORGANISATIONUNITGROUP_UID, "Organisation unit group UID" );
             put( ORGANISATIONUNITGROUP_NAME, "Organisation unit group" );
             put( ORGANISATIONUNITGROUP_CODE, "Organisation unit group code" );
+            put( ORGANISATIONUNITGROUP_DESCRIPTION, "Organisation unit group description" );
+            
             put( REPORTING_MONTH_COLUMN_NAME, "Reporting month" );
             put( PARAM_ORGANISATIONUNIT_COLUMN_NAME, "Organisation unit parameter" );
             put( ORGANISATION_UNIT_IS_PARENT_COLUMN_NAME, "Organisation unit is parent" );
@@ -280,6 +307,12 @@
     private List<String> indexColumns = new ArrayList<String>();
 
     /**
+     * Names of the columns holding entry uids used to query the datavalue
+     * table.
+     */
+    private List<String> indexUidColumns = new ArrayList<String>();
+
+    /**
      * Names of the columns holding entry names used to query the datavalue
      * table.
      */
@@ -292,6 +325,11 @@
     private List<String> indexCodeColumns = new ArrayList<String>();
 
     /**
+     * Names of the columns holding entry descriptions.
+     */
+    private List<String> indexDescriptionColumns = new ArrayList<String>();
+
+    /**
      * The I18nFormat used for internationalization of ie. periods.
      */
     private I18nFormat i18nFormat;
@@ -428,12 +466,22 @@
         add( indexColumns, INDICATOR_ID, doIndicators );
         add( indexColumns, PERIOD_ID, doPeriods );
         add( indexColumns, ORGANISATIONUNIT_ID, doUnits );
+        
+        add( indexUidColumns, INDICATOR_UID, doIndicators );
+        add( indexUidColumns, PERIOD_UID, doPeriods );
+        add( indexUidColumns, ORGANISATIONUNIT_UID, doUnits );
+        
         add( indexNameColumns, INDICATOR_NAME, doIndicators );
         add( indexNameColumns, PERIOD_NAME, doPeriods );
         add( indexNameColumns, ORGANISATIONUNIT_NAME, doUnits );
+        
         add( indexCodeColumns, INDICATOR_CODE, doIndicators );
         add( indexCodeColumns, PERIOD_CODE, doPeriods );
         add( indexCodeColumns, ORGANISATIONUNIT_CODE, doUnits );
+        
+        add( indexDescriptionColumns, INDICATOR_DESCRIPTION, doIndicators );
+        add( indexDescriptionColumns, PERIOD_DESCRIPTION, doPeriods );
+        add( indexDescriptionColumns, ORGANISATIONUNIT_DESCRIPTION, doUnits );
     }
 
     // -------------------------------------------------------------------------
@@ -1154,6 +1202,12 @@
     }
 
     @JsonIgnore
+    public List<String> getIndexUidColumns()
+    {
+        return indexUidColumns;
+    }
+
+    @JsonIgnore
     public List<String> getIndexNameColumns()
     {
         return indexNameColumns;
@@ -1166,6 +1220,12 @@
     }
 
     @JsonIgnore
+    public List<String> getIndexDescriptionColumns()
+    {
+        return indexDescriptionColumns;
+    }
+
+    @JsonIgnore
     public OrganisationUnit getParentOrganisationUnit()
     {
         return parentOrganisationUnit;

=== modified file 'dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/reporttable/impl/DefaultReportTableService.java'
--- dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/reporttable/impl/DefaultReportTableService.java	2012-02-26 21:19:49 +0000
+++ dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/reporttable/impl/DefaultReportTableService.java	2012-04-05 11:57:23 +0000
@@ -365,6 +365,11 @@
             grid.addHeader( new GridHeader( PRETTY_COLUMNS.get( column ), column, Integer.class.getName(), true, true ) );
         }
 
+        for ( String column : reportTable.getIndexUidColumns() ) // Index uid columns
+        {
+            grid.addHeader( new GridHeader( PRETTY_COLUMNS.get( column ), column, String.class.getName(), true, true ) );
+        }
+
         for ( String column : reportTable.getIndexNameColumns() ) // Index name columns
         {
             grid.addHeader( new GridHeader( PRETTY_COLUMNS.get( column ), column, String.class.getName(), false, true ) );
@@ -375,6 +380,11 @@
             grid.addHeader( new GridHeader( PRETTY_COLUMNS.get( column ), column, String.class.getName(), true, true ) );
         }
 
+        for ( String column : reportTable.getIndexDescriptionColumns() ) // Index description columns
+        {
+            grid.addHeader( new GridHeader( PRETTY_COLUMNS.get( column ), column, String.class.getName(), true, true ) );
+        }
+
         grid.addHeader( new GridHeader( PRETTY_COLUMNS.get( REPORTING_MONTH_COLUMN_NAME ), REPORTING_MONTH_COLUMN_NAME,
             String.class.getName(), true, true ) );
         grid.addHeader( new GridHeader( PRETTY_COLUMNS.get( PARAM_ORGANISATIONUNIT_COLUMN_NAME ),
@@ -419,6 +429,11 @@
                 grid.addValue( object.getId() );
             }
 
+            for ( NameableObject object : row ) // Index uid columns
+            {
+                grid.addValue( object.getUid() );
+            }
+
             for ( NameableObject object : row ) // Index name columns
             {
                 grid.addValue( object.getName() );
@@ -429,6 +444,11 @@
                 grid.addValue( object.getCode() );
             }
 
+            for ( NameableObject object : row ) // Index description columns
+            {
+                grid.addValue( object.getDescription() );
+            }
+
             grid.addValue( reportTable.getReportingPeriodName() );
             grid.addValue( reportTable.getParentOrganisationUnitName() );
             grid.addValue( isCurrentParent( row ) ? YES : NO );

=== modified file 'dhis-2/dhis-services/dhis-service-reporting/src/test/java/org/hisp/dhis/reporttable/ReportTableGridTest.java'
--- dhis-2/dhis-services/dhis-service-reporting/src/test/java/org/hisp/dhis/reporttable/ReportTableGridTest.java	2012-02-20 10:20:01 +0000
+++ dhis-2/dhis-services/dhis-service-reporting/src/test/java/org/hisp/dhis/reporttable/ReportTableGridTest.java	2012-04-05 11:57:23 +0000
@@ -397,15 +397,15 @@
 
         Grid grid = reportTableService.getReportTableGrid( id, i18nFormat, null, 0 );
         
-        assertEquals( 21.0, grid.getRow( 0 ).get( 6 ) );
-        assertEquals( 23.0, grid.getRow( 0 ).get( 7 ) );
-        assertEquals( 25.0, grid.getRow( 0 ).get( 8 ) );
-        assertEquals( 27.0, grid.getRow( 0 ).get( 9 ) );
+        assertEquals( 21.0, grid.getRow( 0 ).get( 8 ) );
+        assertEquals( 23.0, grid.getRow( 0 ).get( 9 ) );
+        assertEquals( 25.0, grid.getRow( 0 ).get( 10 ) );
+        assertEquals( 27.0, grid.getRow( 0 ).get( 11 ) );
         
-        assertEquals( 22.0, grid.getRow( 1 ).get( 6 ) );
-        assertEquals( 24.0, grid.getRow( 1 ).get( 7 ) );
-        assertEquals( 26.0, grid.getRow( 1 ).get( 8 ) );
-        assertEquals( 28.0, grid.getRow( 1 ).get( 9 ) );
+        assertEquals( 22.0, grid.getRow( 1 ).get( 8 ) );
+        assertEquals( 24.0, grid.getRow( 1 ).get( 9 ) );
+        assertEquals( 26.0, grid.getRow( 1 ).get( 10 ) );
+        assertEquals( 28.0, grid.getRow( 1 ).get( 11 ) );
     }
 
     @Test
@@ -421,17 +421,17 @@
 
         Grid grid = reportTableService.getReportTableGrid( id, i18nFormat, date, 0 );
 
-        assertEquals( 21.0, grid.getRow( 0 ).get( 9 ) );
-        assertEquals( 22.0, grid.getRow( 0 ).get( 10 ) );
-        
-        assertEquals( 23.0, grid.getRow( 1 ).get( 9 ) );
-        assertEquals( 24.0, grid.getRow( 1 ).get( 10 ) );
-        
-        assertEquals( 25.0, grid.getRow( 2 ).get( 9 ) );
-        assertEquals( 26.0, grid.getRow( 2 ).get( 10 ) );
-        
-        assertEquals( 27.0, grid.getRow( 3 ).get( 9 ) );
-        assertEquals( 28.0, grid.getRow( 3 ).get( 10 ) );
+        assertEquals( 21.0, grid.getRow( 0 ).get( 13 ) );
+        assertEquals( 22.0, grid.getRow( 0 ).get( 14 ) );
+        
+        assertEquals( 23.0, grid.getRow( 1 ).get( 13 ) );
+        assertEquals( 24.0, grid.getRow( 1 ).get( 14 ) );
+        
+        assertEquals( 25.0, grid.getRow( 2 ).get( 13 ) );
+        assertEquals( 26.0, grid.getRow( 2 ).get( 14 ) );
+        
+        assertEquals( 27.0, grid.getRow( 3 ).get( 13 ) );
+        assertEquals( 28.0, grid.getRow( 3 ).get( 14 ) );
     }
 
     @Test
@@ -447,15 +447,15 @@
 
         Grid grid = reportTableService.getReportTableGrid( id, i18nFormat, date, 0 );
 
-        assertEquals( 21.0, grid.getRow( 0 ).get( 6 ) );
-        assertEquals( 22.0, grid.getRow( 0 ).get( 7 ) );
-        assertEquals( 25.0, grid.getRow( 0 ).get( 8 ) );
-        assertEquals( 26.0, grid.getRow( 0 ).get( 9 ) );
+        assertEquals( 21.0, grid.getRow( 0 ).get( 8 ) );
+        assertEquals( 22.0, grid.getRow( 0 ).get( 9 ) );
+        assertEquals( 25.0, grid.getRow( 0 ).get( 10 ) );
+        assertEquals( 26.0, grid.getRow( 0 ).get( 11 ) );
         
-        assertEquals( 23.0, grid.getRow( 1 ).get( 6 ) );
-        assertEquals( 24.0, grid.getRow( 1 ).get( 7 ) );
-        assertEquals( 27.0, grid.getRow( 1 ).get( 8 ) );
-        assertEquals( 28.0, grid.getRow( 1 ).get( 9 ) );
+        assertEquals( 23.0, grid.getRow( 1 ).get( 8 ) );
+        assertEquals( 24.0, grid.getRow( 1 ).get( 9 ) );
+        assertEquals( 27.0, grid.getRow( 1 ).get( 10 ) );
+        assertEquals( 28.0, grid.getRow( 1 ).get( 11 ) );
     }
 
     @Test
@@ -471,15 +471,15 @@
 
         Grid grid = reportTableService.getReportTableGrid( id, i18nFormat, date, 0 );
 
-        assertEquals( 21.0, grid.getRow( 0 ).get( 6 ) );
-        assertEquals( 23.0, grid.getRow( 0 ).get( 7 ) );
-        assertEquals( 25.0, grid.getRow( 0 ).get( 8 ) );
-        assertEquals( 27.0, grid.getRow( 0 ).get( 9 ) );
+        assertEquals( 21.0, grid.getRow( 0 ).get( 8 ) );
+        assertEquals( 23.0, grid.getRow( 0 ).get( 9 ) );
+        assertEquals( 25.0, grid.getRow( 0 ).get( 10 ) );
+        assertEquals( 27.0, grid.getRow( 0 ).get( 11 ) );
         
-        assertEquals( 22.0, grid.getRow( 1 ).get( 6 ) );
-        assertEquals( 24.0, grid.getRow( 1 ).get( 7 ) );
-        assertEquals( 26.0, grid.getRow( 1 ).get( 8 ) );
-        assertEquals( 28.0, grid.getRow( 1 ).get( 9 ) );
+        assertEquals( 22.0, grid.getRow( 1 ).get( 8 ) );
+        assertEquals( 24.0, grid.getRow( 1 ).get( 9 ) );
+        assertEquals( 26.0, grid.getRow( 1 ).get( 10 ) );
+        assertEquals( 28.0, grid.getRow( 1 ).get( 11 ) );
     }
     
     @Test
@@ -495,17 +495,17 @@
 
         Grid grid = reportTableService.getReportTableGrid( id, i18nFormat, date, 0 );
         
-        assertEquals( 21.0, grid.getRow( 0 ).get( 9 ) );
-        assertEquals( 22.0, grid.getRow( 0 ).get( 10 ) );
-        
-        assertEquals( 23.0, grid.getRow( 1 ).get( 9 ) );
-        assertEquals( 24.0, grid.getRow( 1 ).get( 10 ) );
-        
-        assertEquals( 25.0, grid.getRow( 2 ).get( 9 ) );
-        assertEquals( 26.0, grid.getRow( 2 ).get( 10 ) );
-        
-        assertEquals( 27.0, grid.getRow( 3 ).get( 9 ) );
-        assertEquals( 28.0, grid.getRow( 3 ).get( 10 ) );
+        assertEquals( 21.0, grid.getRow( 0 ).get( 13 ) );
+        assertEquals( 22.0, grid.getRow( 0 ).get( 14 ) );
+        
+        assertEquals( 23.0, grid.getRow( 1 ).get( 13 ) );
+        assertEquals( 24.0, grid.getRow( 1 ).get( 14 ) );
+        
+        assertEquals( 25.0, grid.getRow( 2 ).get( 13 ) );
+        assertEquals( 26.0, grid.getRow( 2 ).get( 14 ) );
+        
+        assertEquals( 27.0, grid.getRow( 3 ).get( 13 ) );
+        assertEquals( 28.0, grid.getRow( 3 ).get( 14 ) );
     }
 
     @Test
@@ -521,15 +521,15 @@
 
         Grid grid = reportTableService.getReportTableGrid( id, i18nFormat, date, 0 );
         
-        assertEquals( 21.0, grid.getRow( 0 ).get( 6 ) );
-        assertEquals( 22.0, grid.getRow( 0 ).get( 7 ) );
-        assertEquals( 25.0, grid.getRow( 0 ).get( 8 ) );
-        assertEquals( 26.0, grid.getRow( 0 ).get( 9 ) );
+        assertEquals( 21.0, grid.getRow( 0 ).get( 8 ) );
+        assertEquals( 22.0, grid.getRow( 0 ).get( 9 ) );
+        assertEquals( 25.0, grid.getRow( 0 ).get( 10 ) );
+        assertEquals( 26.0, grid.getRow( 0 ).get( 11 ) );
         
-        assertEquals( 23.0, grid.getRow( 1 ).get( 6 ) );
-        assertEquals( 24.0, grid.getRow( 1 ).get( 7 ) );
-        assertEquals( 27.0, grid.getRow( 1 ).get( 8 ) );
-        assertEquals( 28.0, grid.getRow( 1 ).get( 9 ) );
+        assertEquals( 23.0, grid.getRow( 1 ).get( 8 ) );
+        assertEquals( 24.0, grid.getRow( 1 ).get( 9 ) );
+        assertEquals( 27.0, grid.getRow( 1 ).get( 10 ) );
+        assertEquals( 28.0, grid.getRow( 1 ).get( 11 ) );
     }
     
     @Test
@@ -543,15 +543,15 @@
 
         Grid grid = reportTableService.getReportTableGrid( id, i18nFormat, null, 0 );
         
-        assertEquals( 11.0, grid.getRow( 0 ).get( 6 ) );
-        assertEquals( 13.0, grid.getRow( 0 ).get( 7 ) );
-        assertEquals( 15.0, grid.getRow( 0 ).get( 8 ) );
-        assertEquals( 17.0, grid.getRow( 0 ).get( 9 ) );
+        assertEquals( 11.0, grid.getRow( 0 ).get( 8 ) );
+        assertEquals( 13.0, grid.getRow( 0 ).get( 9 ) );
+        assertEquals( 15.0, grid.getRow( 0 ).get( 10 ) );
+        assertEquals( 17.0, grid.getRow( 0 ).get( 11 ) );
         
-        assertEquals( 12.0, grid.getRow( 1 ).get( 6 ) );
-        assertEquals( 14.0, grid.getRow( 1 ).get( 7 ) );
-        assertEquals( 16.0, grid.getRow( 1 ).get( 8 ) );
-        assertEquals( 18.0, grid.getRow( 1 ).get( 9 ) );
+        assertEquals( 12.0, grid.getRow( 1 ).get( 8 ) );
+        assertEquals( 14.0, grid.getRow( 1 ).get( 9 ) );
+        assertEquals( 16.0, grid.getRow( 1 ).get( 10 ) );
+        assertEquals( 18.0, grid.getRow( 1 ).get( 11 ) );
     }
     
     @Test
@@ -565,17 +565,17 @@
 
         Grid grid = reportTableService.getReportTableGrid( id, i18nFormat, date, 0 );
 
-        assertEquals( 11.0, grid.getRow( 0 ).get( 9 ) );
-        assertEquals( 12.0, grid.getRow( 0 ).get( 10 ) );
-        
-        assertEquals( 13.0, grid.getRow( 1 ).get( 9 ) );
-        assertEquals( 14.0, grid.getRow( 1 ).get( 10 ) );
-        
-        assertEquals( 15.0, grid.getRow( 2 ).get( 9 ) );
-        assertEquals( 16.0, grid.getRow( 2 ).get( 10 ) );
-        
-        assertEquals( 17.0, grid.getRow( 3 ).get( 9 ) );
-        assertEquals( 18.0, grid.getRow( 3 ).get( 10 ) );
+        assertEquals( 11.0, grid.getRow( 0 ).get( 13 ) );
+        assertEquals( 12.0, grid.getRow( 0 ).get( 14 ) );
+        
+        assertEquals( 13.0, grid.getRow( 1 ).get( 13 ) );
+        assertEquals( 14.0, grid.getRow( 1 ).get( 14 ) );
+        
+        assertEquals( 15.0, grid.getRow( 2 ).get( 13 ) );
+        assertEquals( 16.0, grid.getRow( 2 ).get( 14 ) );
+        
+        assertEquals( 17.0, grid.getRow( 3 ).get( 13 ) );
+        assertEquals( 18.0, grid.getRow( 3 ).get( 14 ) );
     }
 
     @Test
@@ -589,15 +589,15 @@
 
         Grid grid = reportTableService.getReportTableGrid( id, i18nFormat, date, 0 );
 
-        assertEquals( 11.0, grid.getRow( 0 ).get( 6 ) );
-        assertEquals( 12.0, grid.getRow( 0 ).get( 7 ) );
-        assertEquals( 15.0, grid.getRow( 0 ).get( 8 ) );
-        assertEquals( 16.0, grid.getRow( 0 ).get( 9 ) );
+        assertEquals( 11.0, grid.getRow( 0 ).get( 8 ) );
+        assertEquals( 12.0, grid.getRow( 0 ).get( 9 ) );
+        assertEquals( 15.0, grid.getRow( 0 ).get( 10 ) );
+        assertEquals( 16.0, grid.getRow( 0 ).get( 11 ) );
         
-        assertEquals( 13.0, grid.getRow( 1 ).get( 6 ) );
-        assertEquals( 14.0, grid.getRow( 1 ).get( 7 ) );
-        assertEquals( 17.0, grid.getRow( 1 ).get( 8 ) );
-        assertEquals( 18.0, grid.getRow( 1 ).get( 9 ) );
+        assertEquals( 13.0, grid.getRow( 1 ).get( 8 ) );
+        assertEquals( 14.0, grid.getRow( 1 ).get( 9 ) );
+        assertEquals( 17.0, grid.getRow( 1 ).get( 10 ) );
+        assertEquals( 18.0, grid.getRow( 1 ).get( 11 ) );
     }
     
     @Test
@@ -611,15 +611,15 @@
 
         Grid grid = reportTableService.getReportTableGrid( id, i18nFormat, date, 0 );
 
-        assertEquals( 11.0, grid.getRow( 0 ).get( 6 ) );
-        assertEquals( 13.0, grid.getRow( 0 ).get( 7 ) );
-        assertEquals( 15.0, grid.getRow( 0 ).get( 8 ) );
-        assertEquals( 17.0, grid.getRow( 0 ).get( 9 ) );
+        assertEquals( 11.0, grid.getRow( 0 ).get( 8 ) );
+        assertEquals( 13.0, grid.getRow( 0 ).get( 9 ) );
+        assertEquals( 15.0, grid.getRow( 0 ).get( 10 ) );
+        assertEquals( 17.0, grid.getRow( 0 ).get( 11 ) );
         
-        assertEquals( 12.0, grid.getRow( 1 ).get( 6 ) );
-        assertEquals( 14.0, grid.getRow( 1 ).get( 7 ) );
-        assertEquals( 16.0, grid.getRow( 1 ).get( 8 ) );
-        assertEquals( 18.0, grid.getRow( 1 ).get( 9 ) );
+        assertEquals( 12.0, grid.getRow( 1 ).get( 8 ) );
+        assertEquals( 14.0, grid.getRow( 1 ).get( 9 ) );
+        assertEquals( 16.0, grid.getRow( 1 ).get( 10 ) );
+        assertEquals( 18.0, grid.getRow( 1 ).get( 11 ) );
     }
     
     @Test
@@ -633,17 +633,17 @@
 
         Grid grid = reportTableService.getReportTableGrid( id, i18nFormat, date, 0 );
         
-        assertEquals( 11.0, grid.getRow( 0 ).get( 9 ) );
-        assertEquals( 12.0, grid.getRow( 0 ).get( 10 ) );
-        
-        assertEquals( 13.0, grid.getRow( 1 ).get( 9 ) );
-        assertEquals( 14.0, grid.getRow( 1 ).get( 10 ) );
-        
-        assertEquals( 15.0, grid.getRow( 2 ).get( 9 ) );
-        assertEquals( 16.0, grid.getRow( 2 ).get( 10 ) );
-        
-        assertEquals( 17.0, grid.getRow( 3 ).get( 9 ) );
-        assertEquals( 18.0, grid.getRow( 3 ).get( 10 ) );
+        assertEquals( 11.0, grid.getRow( 0 ).get( 13 ) );
+        assertEquals( 12.0, grid.getRow( 0 ).get( 14 ) );
+        
+        assertEquals( 13.0, grid.getRow( 1 ).get( 13 ) );
+        assertEquals( 14.0, grid.getRow( 1 ).get( 14 ) );
+        
+        assertEquals( 15.0, grid.getRow( 2 ).get( 13 ) );
+        assertEquals( 16.0, grid.getRow( 2 ).get( 14 ) );
+        
+        assertEquals( 17.0, grid.getRow( 3 ).get( 13 ) );
+        assertEquals( 18.0, grid.getRow( 3 ).get( 14 ) );
     }
 
     @Test
@@ -657,15 +657,15 @@
 
         Grid grid = reportTableService.getReportTableGrid( id, i18nFormat, date, 0 );
         
-        assertEquals( 11.0, grid.getRow( 0 ).get( 6 ) );
-        assertEquals( 12.0, grid.getRow( 0 ).get( 7 ) );
-        assertEquals( 15.0, grid.getRow( 0 ).get( 8 ) );
-        assertEquals( 16.0, grid.getRow( 0 ).get( 9 ) );
+        assertEquals( 11.0, grid.getRow( 0 ).get( 8 ) );
+        assertEquals( 12.0, grid.getRow( 0 ).get( 9 ) );
+        assertEquals( 15.0, grid.getRow( 0 ).get( 10 ) );
+        assertEquals( 16.0, grid.getRow( 0 ).get( 11 ) );
         
-        assertEquals( 13.0, grid.getRow( 1 ).get( 6 ) );
-        assertEquals( 14.0, grid.getRow( 1 ).get( 7 ) );
-        assertEquals( 17.0, grid.getRow( 1 ).get( 8 ) );
-        assertEquals( 18.0, grid.getRow( 1 ).get( 9 ) );
+        assertEquals( 13.0, grid.getRow( 1 ).get( 8 ) );
+        assertEquals( 14.0, grid.getRow( 1 ).get( 9 ) );
+        assertEquals( 17.0, grid.getRow( 1 ).get( 10 ) );
+        assertEquals( 18.0, grid.getRow( 1 ).get( 11 ) );
     }
     
     @Test
@@ -679,15 +679,15 @@
 
         Grid grid = reportTableService.getReportTableGrid( id, i18nFormat, date, 0 );
         
-        assertEquals( 11.0, grid.getRow( 0 ).get( 6 ) );
-        assertEquals( 13.0, grid.getRow( 0 ).get( 7 ) );
-        assertEquals( 15.0, grid.getRow( 0 ).get( 8 ) );
-        assertEquals( 17.0, grid.getRow( 0 ).get( 9 ) );
+        assertEquals( 11.0, grid.getRow( 0 ).get( 8 ) );
+        assertEquals( 13.0, grid.getRow( 0 ).get( 9 ) );
+        assertEquals( 15.0, grid.getRow( 0 ).get( 10 ) );
+        assertEquals( 17.0, grid.getRow( 0 ).get( 11 ) );
         
-        assertEquals( 12.0, grid.getRow( 1 ).get( 6 ) );
-        assertEquals( 14.0, grid.getRow( 1 ).get( 7 ) );
-        assertEquals( 16.0, grid.getRow( 1 ).get( 8 ) );
-        assertEquals( 18.0, grid.getRow( 1 ).get( 9 ) );
+        assertEquals( 12.0, grid.getRow( 1 ).get( 8 ) );
+        assertEquals( 14.0, grid.getRow( 1 ).get( 9 ) );
+        assertEquals( 16.0, grid.getRow( 1 ).get( 10 ) );
+        assertEquals( 18.0, grid.getRow( 1 ).get( 11 ) );
     }
     
     @Test
@@ -701,17 +701,17 @@
 
         Grid grid = reportTableService.getReportTableGrid( id, i18nFormat, date, 0 );
 
-        assertEquals( 11.0, grid.getRow( 0 ).get( 9 ) );
-        assertEquals( 12.0, grid.getRow( 0 ).get( 10 ) );
-        
-        assertEquals( 13.0, grid.getRow( 1 ).get( 9 ) );
-        assertEquals( 14.0, grid.getRow( 1 ).get( 10 ) );
-        
-        assertEquals( 15.0, grid.getRow( 2 ).get( 9 ) );
-        assertEquals( 16.0, grid.getRow( 2 ).get( 10 ) );
-        
-        assertEquals( 17.0, grid.getRow( 3 ).get( 9 ) );
-        assertEquals( 18.0, grid.getRow( 3 ).get( 10 ) );
+        assertEquals( 11.0, grid.getRow( 0 ).get( 13 ) );
+        assertEquals( 12.0, grid.getRow( 0 ).get( 14 ) );
+        
+        assertEquals( 13.0, grid.getRow( 1 ).get( 13 ) );
+        assertEquals( 14.0, grid.getRow( 1 ).get( 14 ) );
+        
+        assertEquals( 15.0, grid.getRow( 2 ).get( 13 ) );
+        assertEquals( 16.0, grid.getRow( 2 ).get( 14 ) );
+        
+        assertEquals( 17.0, grid.getRow( 3 ).get( 13 ) );
+        assertEquals( 18.0, grid.getRow( 3 ).get( 14 ) );
     }
 
     @Test
@@ -725,15 +725,15 @@
 
         Grid grid = reportTableService.getReportTableGrid( id, i18nFormat, date, 0 );
 
-        assertEquals( 11.0, grid.getRow( 0 ).get( 6 ) );
-        assertEquals( 12.0, grid.getRow( 0 ).get( 7 ) );
-        assertEquals( 15.0, grid.getRow( 0 ).get( 8 ) );
-        assertEquals( 16.0, grid.getRow( 0 ).get( 9 ) );
+        assertEquals( 11.0, grid.getRow( 0 ).get( 8 ) );
+        assertEquals( 12.0, grid.getRow( 0 ).get( 9 ) );
+        assertEquals( 15.0, grid.getRow( 0 ).get( 10 ) );
+        assertEquals( 16.0, grid.getRow( 0 ).get( 11 ) );
         
-        assertEquals( 13.0, grid.getRow( 1 ).get( 6 ) );
-        assertEquals( 14.0, grid.getRow( 1 ).get( 7 ) );
-        assertEquals( 17.0, grid.getRow( 1 ).get( 8 ) );
-        assertEquals( 18.0, grid.getRow( 1 ).get( 9 ) );
+        assertEquals( 13.0, grid.getRow( 1 ).get( 8 ) );
+        assertEquals( 14.0, grid.getRow( 1 ).get( 9 ) );
+        assertEquals( 17.0, grid.getRow( 1 ).get( 10 ) );
+        assertEquals( 18.0, grid.getRow( 1 ).get( 11 ) );
     }
 
     @Test
@@ -760,23 +760,23 @@
 
         Grid grid = reportTableService.getReportTableGrid( id, i18nFormat, date, 0 );
         
-        assertEquals( 11.0, grid.getRow( 0 ).get( 6 ) );
-        assertEquals( 11.0, grid.getRow( 0 ).get( 7 ) );
-        assertEquals( 13.0, grid.getRow( 0 ).get( 8 ) );
-        assertEquals( 13.0, grid.getRow( 0 ).get( 9 ) );
-        assertEquals( 15.0, grid.getRow( 0 ).get( 10 ) );
-        assertEquals( 15.0, grid.getRow( 0 ).get( 11 ) );
-        assertEquals( 17.0, grid.getRow( 0 ).get( 12 ) );
-        assertEquals( 17.0, grid.getRow( 0 ).get( 13 ) );
+        assertEquals( 11.0, grid.getRow( 0 ).get( 8 ) );
+        assertEquals( 11.0, grid.getRow( 0 ).get( 9 ) );
+        assertEquals( 13.0, grid.getRow( 0 ).get( 10 ) );
+        assertEquals( 13.0, grid.getRow( 0 ).get( 11 ) );
+        assertEquals( 15.0, grid.getRow( 0 ).get( 12 ) );
+        assertEquals( 15.0, grid.getRow( 0 ).get( 13 ) );
+        assertEquals( 17.0, grid.getRow( 0 ).get( 14 ) );
+        assertEquals( 17.0, grid.getRow( 0 ).get( 15 ) );
 
-        assertEquals( 12.0, grid.getRow( 1 ).get( 6 ) );
-        assertEquals( 12.0, grid.getRow( 1 ).get( 7 ) );
-        assertEquals( 14.0, grid.getRow( 1 ).get( 8 ) );
-        assertEquals( 14.0, grid.getRow( 1 ).get( 9 ) );
-        assertEquals( 16.0, grid.getRow( 1 ).get( 10 ) );
-        assertEquals( 16.0, grid.getRow( 1 ).get( 11 ) );
-        assertEquals( 18.0, grid.getRow( 1 ).get( 12 ) );
-        assertEquals( 18.0, grid.getRow( 1 ).get( 13 ) );
+        assertEquals( 12.0, grid.getRow( 1 ).get( 8 ) );
+        assertEquals( 12.0, grid.getRow( 1 ).get( 9 ) );
+        assertEquals( 14.0, grid.getRow( 1 ).get( 10 ) );
+        assertEquals( 14.0, grid.getRow( 1 ).get( 11 ) );
+        assertEquals( 16.0, grid.getRow( 1 ).get( 12 ) );
+        assertEquals( 16.0, grid.getRow( 1 ).get( 13 ) );
+        assertEquals( 18.0, grid.getRow( 1 ).get( 14 ) );
+        assertEquals( 18.0, grid.getRow( 1 ).get( 15 ) );
     }
 
     @Test
@@ -803,25 +803,25 @@
 
         Grid grid = reportTableService.getReportTableGrid( id, i18nFormat, date, 0 );
         
-        assertEquals( 11.0, grid.getRow( 0 ).get( 9 ) );
-        assertEquals( 11.0, grid.getRow( 0 ).get( 10 ) );
-        assertEquals( 12.0, grid.getRow( 0 ).get( 11 ) );
-        assertEquals( 12.0, grid.getRow( 0 ).get( 12 ) );
-        
-        assertEquals( 13.0, grid.getRow( 1 ).get( 9 ) );
-        assertEquals( 13.0, grid.getRow( 1 ).get( 10 ) );
-        assertEquals( 14.0, grid.getRow( 1 ).get( 11 ) );
-        assertEquals( 14.0, grid.getRow( 1 ).get( 12 ) );
-        
-        assertEquals( 15.0, grid.getRow( 2 ).get( 9 ) );
-        assertEquals( 15.0, grid.getRow( 2 ).get( 10 ) );
-        assertEquals( 16.0, grid.getRow( 2 ).get( 11 ) );
-        assertEquals( 16.0, grid.getRow( 2 ).get( 12 ) );
+        assertEquals( 11.0, grid.getRow( 0 ).get( 13 ) );
+        assertEquals( 11.0, grid.getRow( 0 ).get( 14 ) );
+        assertEquals( 12.0, grid.getRow( 0 ).get( 15 ) );
+        assertEquals( 12.0, grid.getRow( 0 ).get( 16 ) );
+        
+        assertEquals( 13.0, grid.getRow( 1 ).get( 13 ) );
+        assertEquals( 13.0, grid.getRow( 1 ).get( 14 ) );
+        assertEquals( 14.0, grid.getRow( 1 ).get( 15 ) );
+        assertEquals( 14.0, grid.getRow( 1 ).get( 16 ) );
+        
+        assertEquals( 15.0, grid.getRow( 2 ).get( 13 ) );
+        assertEquals( 15.0, grid.getRow( 2 ).get( 14 ) );
+        assertEquals( 16.0, grid.getRow( 2 ).get( 15 ) );
+        assertEquals( 16.0, grid.getRow( 2 ).get( 16 ) );
 
-        assertEquals( 17.0, grid.getRow( 3 ).get( 9 ) );
-        assertEquals( 17.0, grid.getRow( 3 ).get( 10 ) );
-        assertEquals( 18.0, grid.getRow( 3 ).get( 11 ) );
-        assertEquals( 18.0, grid.getRow( 3 ).get( 12 ) );
+        assertEquals( 17.0, grid.getRow( 3 ).get( 13 ) );
+        assertEquals( 17.0, grid.getRow( 3 ).get( 14 ) );
+        assertEquals( 18.0, grid.getRow( 3 ).get( 15 ) );
+        assertEquals( 18.0, grid.getRow( 3 ).get( 16 ) );
     }
 
     @Test
@@ -848,23 +848,23 @@
 
         Grid grid = reportTableService.getReportTableGrid( id, i18nFormat, date, 0 );
                 
-        assertEquals( 11.0, grid.getRow( 0 ).get( 6 ) );
-        assertEquals( 11.0, grid.getRow( 0 ).get( 7 ) );
-        assertEquals( 12.0, grid.getRow( 0 ).get( 8 ) );
-        assertEquals( 12.0, grid.getRow( 0 ).get( 9 ) );
-        assertEquals( 15.0, grid.getRow( 0 ).get( 10 ) );
-        assertEquals( 15.0, grid.getRow( 0 ).get( 11 ) );
-        assertEquals( 16.0, grid.getRow( 0 ).get( 12 ) );
-        assertEquals( 16.0, grid.getRow( 0 ).get( 13 ) );
+        assertEquals( 11.0, grid.getRow( 0 ).get( 8 ) );
+        assertEquals( 11.0, grid.getRow( 0 ).get( 9 ) );
+        assertEquals( 12.0, grid.getRow( 0 ).get( 10 ) );
+        assertEquals( 12.0, grid.getRow( 0 ).get( 11 ) );
+        assertEquals( 15.0, grid.getRow( 0 ).get( 12 ) );
+        assertEquals( 15.0, grid.getRow( 0 ).get( 13 ) );
+        assertEquals( 16.0, grid.getRow( 0 ).get( 14 ) );
+        assertEquals( 16.0, grid.getRow( 0 ).get( 15 ) );
         
-        assertEquals( 13.0, grid.getRow( 1 ).get( 6 ) );
-        assertEquals( 13.0, grid.getRow( 1 ).get( 7 ) );
-        assertEquals( 14.0, grid.getRow( 1 ).get( 8 ) );
-        assertEquals( 14.0, grid.getRow( 1 ).get( 9 ) );
-        assertEquals( 17.0, grid.getRow( 1 ).get( 10 ) );
-        assertEquals( 17.0, grid.getRow( 1 ).get( 11 ) );
-        assertEquals( 18.0, grid.getRow( 1 ).get( 12 ) );
-        assertEquals( 18.0, grid.getRow( 1 ).get( 13 ) );
+        assertEquals( 13.0, grid.getRow( 1 ).get( 8 ) );
+        assertEquals( 13.0, grid.getRow( 1 ).get( 9 ) );
+        assertEquals( 14.0, grid.getRow( 1 ).get( 10 ) );
+        assertEquals( 14.0, grid.getRow( 1 ).get( 11 ) );
+        assertEquals( 17.0, grid.getRow( 1 ).get( 12 ) );
+        assertEquals( 17.0, grid.getRow( 1 ).get( 13 ) );
+        assertEquals( 18.0, grid.getRow( 1 ).get( 14 ) );
+        assertEquals( 18.0, grid.getRow( 1 ).get( 15 ) );
     }
 
     @Test
@@ -891,37 +891,37 @@
 
         Grid grid = reportTableService.getReportTableGrid( id, i18nFormat, date, 0 );
 
-        assertEquals( 11.0, grid.getRow( 0 ).get( 12 ) );
-        assertEquals( 11.0, grid.getRow( 0 ).get( 13 ) );
-        assertEquals( 22.0, grid.getRow( 0 ).get( 14 ) );
-
-        assertEquals( 12.0, grid.getRow( 1 ).get( 12 ) );
-        assertEquals( 12.0, grid.getRow( 1 ).get( 13 ) );
-        assertEquals( 24.0, grid.getRow( 1 ).get( 14 ) );
-
-        assertEquals( 13.0, grid.getRow( 2 ).get( 12 ) );
-        assertEquals( 13.0, grid.getRow( 2 ).get( 13 ) );
-        assertEquals( 26.0, grid.getRow( 2 ).get( 14 ) );
-
-        assertEquals( 14.0, grid.getRow( 3 ).get( 12 ) );
-        assertEquals( 14.0, grid.getRow( 3 ).get( 13 ) );
-        assertEquals( 28.0, grid.getRow( 3 ).get( 14 ) );
+        assertEquals( 11.0, grid.getRow( 0 ).get( 18 ) );
+        assertEquals( 11.0, grid.getRow( 0 ).get( 19 ) );
+        assertEquals( 22.0, grid.getRow( 0 ).get( 20 ) );
+
+        assertEquals( 12.0, grid.getRow( 1 ).get( 18 ) );
+        assertEquals( 12.0, grid.getRow( 1 ).get( 19 ) );
+        assertEquals( 24.0, grid.getRow( 1 ).get( 20 ) );
+
+        assertEquals( 13.0, grid.getRow( 2 ).get( 18 ) );
+        assertEquals( 13.0, grid.getRow( 2 ).get( 19 ) );
+        assertEquals( 26.0, grid.getRow( 2 ).get( 20 ) );
+
+        assertEquals( 14.0, grid.getRow( 3 ).get( 18 ) );
+        assertEquals( 14.0, grid.getRow( 3 ).get( 19 ) );
+        assertEquals( 28.0, grid.getRow( 3 ).get( 20 ) );
         
-        assertEquals( 15.0, grid.getRow( 4 ).get( 12 ) );
-        assertEquals( 15.0, grid.getRow( 4 ).get( 13 ) );
-        assertEquals( 30.0, grid.getRow( 4 ).get( 14 ) );
-
-        assertEquals( 16.0, grid.getRow( 5 ).get( 12 ) );
-        assertEquals( 16.0, grid.getRow( 5 ).get( 13 ) );
-        assertEquals( 32.0, grid.getRow( 5 ).get( 14 ) );
-
-        assertEquals( 17.0, grid.getRow( 6 ).get( 12 ) );
-        assertEquals( 17.0, grid.getRow( 6 ).get( 13 ) );
-        assertEquals( 34.0, grid.getRow( 6 ).get( 14 ) );
-
-        assertEquals( 18.0, grid.getRow( 7 ).get( 12 ) );
-        assertEquals( 18.0, grid.getRow( 7 ).get( 13 ) );
-        assertEquals( 36.0, grid.getRow( 7 ).get( 14 ) );
+        assertEquals( 15.0, grid.getRow( 4 ).get( 18 ) );
+        assertEquals( 15.0, grid.getRow( 4 ).get( 19 ) );
+        assertEquals( 30.0, grid.getRow( 4 ).get( 20 ) );
+
+        assertEquals( 16.0, grid.getRow( 5 ).get( 18 ) );
+        assertEquals( 16.0, grid.getRow( 5 ).get( 19 ) );
+        assertEquals( 32.0, grid.getRow( 5 ).get( 20 ) );
+
+        assertEquals( 17.0, grid.getRow( 6 ).get( 18 ) );
+        assertEquals( 17.0, grid.getRow( 6 ).get( 19 ) );
+        assertEquals( 34.0, grid.getRow( 6 ).get( 20 ) );
+
+        assertEquals( 18.0, grid.getRow( 7 ).get( 18 ) );
+        assertEquals( 18.0, grid.getRow( 7 ).get( 19 ) );
+        assertEquals( 36.0, grid.getRow( 7 ).get( 20 ) );
     }
     
     @Test
@@ -935,31 +935,31 @@
 
         Grid grid = reportTableService.getReportTableGrid( id, i18nFormat, date, 0 );
 
-        assertEquals( 11.0, grid.getRow( 0 ).get( 6 ) );
-        assertEquals( 13.0, grid.getRow( 0 ).get( 7 ) );
-        assertEquals( 15.0, grid.getRow( 0 ).get( 8 ) );
-        assertEquals( 17.0, grid.getRow( 0 ).get( 9 ) );
-        assertEquals( 11.0, grid.getRow( 0 ).get( 10 ) );
-        assertEquals( 13.0, grid.getRow( 0 ).get( 11 ) );
-        assertEquals( 15.0, grid.getRow( 0 ).get( 12 ) );
-        assertEquals( 17.0, grid.getRow( 0 ).get( 13 ) );
-        assertEquals( 11.0, grid.getRow( 0 ).get( 14 ) );
-        assertEquals( 13.0, grid.getRow( 0 ).get( 15 ) );
-        assertEquals( 15.0, grid.getRow( 0 ).get( 16 ) );
-        assertEquals( 17.0, grid.getRow( 0 ).get( 17 ) );
+        assertEquals( 11.0, grid.getRow( 0 ).get( 8 ) );
+        assertEquals( 13.0, grid.getRow( 0 ).get( 9 ) );
+        assertEquals( 15.0, grid.getRow( 0 ).get( 10 ) );
+        assertEquals( 17.0, grid.getRow( 0 ).get( 11 ) );
+        assertEquals( 11.0, grid.getRow( 0 ).get( 12 ) );
+        assertEquals( 13.0, grid.getRow( 0 ).get( 13 ) );
+        assertEquals( 15.0, grid.getRow( 0 ).get( 14 ) );
+        assertEquals( 17.0, grid.getRow( 0 ).get( 15 ) );
+        assertEquals( 11.0, grid.getRow( 0 ).get( 16 ) );
+        assertEquals( 13.0, grid.getRow( 0 ).get( 17 ) );
+        assertEquals( 15.0, grid.getRow( 0 ).get( 18 ) );
+        assertEquals( 17.0, grid.getRow( 0 ).get( 19 ) );
         
-        assertEquals( 12.0, grid.getRow( 1 ).get( 6 ) );
-        assertEquals( 14.0, grid.getRow( 1 ).get( 7 ) );
-        assertEquals( 16.0, grid.getRow( 1 ).get( 8 ) );
-        assertEquals( 18.0, grid.getRow( 1 ).get( 9 ) );
-        assertEquals( 12.0, grid.getRow( 1 ).get( 10 ) );
-        assertEquals( 14.0, grid.getRow( 1 ).get( 11 ) );
-        assertEquals( 16.0, grid.getRow( 1 ).get( 12 ) );
-        assertEquals( 18.0, grid.getRow( 1 ).get( 13 ) );
-        assertEquals( 12.0, grid.getRow( 1 ).get( 14 ) );
-        assertEquals( 14.0, grid.getRow( 1 ).get( 15 ) );
-        assertEquals( 16.0, grid.getRow( 1 ).get( 16 ) );
-        assertEquals( 18.0, grid.getRow( 1 ).get( 17 ) );        
+        assertEquals( 12.0, grid.getRow( 1 ).get( 8 ) );
+        assertEquals( 14.0, grid.getRow( 1 ).get( 9 ) );
+        assertEquals( 16.0, grid.getRow( 1 ).get( 10 ) );
+        assertEquals( 18.0, grid.getRow( 1 ).get( 11 ) );
+        assertEquals( 12.0, grid.getRow( 1 ).get( 12 ) );
+        assertEquals( 14.0, grid.getRow( 1 ).get( 13 ) );
+        assertEquals( 16.0, grid.getRow( 1 ).get( 14 ) );
+        assertEquals( 18.0, grid.getRow( 1 ).get( 15 ) );
+        assertEquals( 12.0, grid.getRow( 1 ).get( 16 ) );
+        assertEquals( 14.0, grid.getRow( 1 ).get( 17 ) );
+        assertEquals( 16.0, grid.getRow( 1 ).get( 18 ) );
+        assertEquals( 18.0, grid.getRow( 1 ).get( 19 ) );        
     }
     
     @Test
@@ -973,41 +973,41 @@
 
         Grid grid = reportTableService.getReportTableGrid( id, i18nFormat, date, 0 );
         
-        assertEquals( 11.0, grid.getRow( 0 ).get( 9 ) );
-        assertEquals( 12.0, grid.getRow( 0 ).get( 10 ) );
-        
-        assertEquals( 13.0, grid.getRow( 1 ).get( 9 ) );
-        assertEquals( 14.0, grid.getRow( 1 ).get( 10 ) );
-        
-        assertEquals( 15.0, grid.getRow( 2 ).get( 9 ) );
-        assertEquals( 16.0, grid.getRow( 2 ).get( 10 ) );
-        
-        assertEquals( 17.0, grid.getRow( 3 ).get( 9 ) );
-        assertEquals( 18.0, grid.getRow( 3 ).get( 10 ) );
-        
-        assertEquals( 11.0, grid.getRow( 4 ).get( 9 ) );
-        assertEquals( 12.0, grid.getRow( 4 ).get( 10 ) );
-        
-        assertEquals( 13.0, grid.getRow( 5 ).get( 9 ) );
-        assertEquals( 14.0, grid.getRow( 5 ).get( 10 ) );
-        
-        assertEquals( 15.0, grid.getRow( 6 ).get( 9 ) );
-        assertEquals( 16.0, grid.getRow( 6 ).get( 10 ) );
-        
-        assertEquals( 17.0, grid.getRow( 7 ).get( 9 ) );
-        assertEquals( 18.0, grid.getRow( 7 ).get( 10 ) );
-        
-        assertEquals( 11.0, grid.getRow( 8 ).get( 9 ) );
-        assertEquals( 12.0, grid.getRow( 8 ).get( 10 ) );
-        
-        assertEquals( 13.0, grid.getRow( 9 ).get( 9 ) );
-        assertEquals( 14.0, grid.getRow( 9 ).get( 10 ) );
-        
-        assertEquals( 15.0, grid.getRow( 10 ).get( 9 ) );
-        assertEquals( 16.0, grid.getRow( 10 ).get( 10 ) );
-        
-        assertEquals( 17.0, grid.getRow( 11 ).get( 9 ) );
-        assertEquals( 18.0, grid.getRow( 11 ).get( 10 ) );
+        assertEquals( 11.0, grid.getRow( 0 ).get( 13 ) );
+        assertEquals( 12.0, grid.getRow( 0 ).get( 14 ) );
+        
+        assertEquals( 13.0, grid.getRow( 1 ).get( 13 ) );
+        assertEquals( 14.0, grid.getRow( 1 ).get( 14 ) );
+        
+        assertEquals( 15.0, grid.getRow( 2 ).get( 13 ) );
+        assertEquals( 16.0, grid.getRow( 2 ).get( 14 ) );
+        
+        assertEquals( 17.0, grid.getRow( 3 ).get( 13 ) );
+        assertEquals( 18.0, grid.getRow( 3 ).get( 14 ) );
+        
+        assertEquals( 11.0, grid.getRow( 4 ).get( 13 ) );
+        assertEquals( 12.0, grid.getRow( 4 ).get( 14 ) );
+        
+        assertEquals( 13.0, grid.getRow( 5 ).get( 13 ) );
+        assertEquals( 14.0, grid.getRow( 5 ).get( 14 ) );
+        
+        assertEquals( 15.0, grid.getRow( 6 ).get( 13 ) );
+        assertEquals( 16.0, grid.getRow( 6 ).get( 14 ) );
+        
+        assertEquals( 17.0, grid.getRow( 7 ).get( 13 ) );
+        assertEquals( 18.0, grid.getRow( 7 ).get( 14 ) );
+        
+        assertEquals( 11.0, grid.getRow( 8 ).get( 13 ) );
+        assertEquals( 12.0, grid.getRow( 8 ).get( 14 ) );
+        
+        assertEquals( 13.0, grid.getRow( 9 ).get( 13 ) );
+        assertEquals( 14.0, grid.getRow( 9 ).get( 14 ) );
+        
+        assertEquals( 15.0, grid.getRow( 10 ).get( 13 ) );
+        assertEquals( 16.0, grid.getRow( 10 ).get( 14 ) );
+        
+        assertEquals( 17.0, grid.getRow( 11 ).get( 13 ) );
+        assertEquals( 18.0, grid.getRow( 11 ).get( 14 ) );
     }
     
     @Test
@@ -1021,31 +1021,31 @@
 
         Grid grid = reportTableService.getReportTableGrid( id, i18nFormat, date, 0 );
 
-        assertEquals( 11.0, grid.getRow( 0 ).get( 6 ) );
-        assertEquals( 12.0, grid.getRow( 0 ).get( 7 ) );
-        assertEquals( 15.0, grid.getRow( 0 ).get( 8 ) );
-        assertEquals( 16.0, grid.getRow( 0 ).get( 9 ) );
-        assertEquals( 11.0, grid.getRow( 0 ).get( 10 ) );
-        assertEquals( 12.0, grid.getRow( 0 ).get( 11 ) );
-        assertEquals( 15.0, grid.getRow( 0 ).get( 12 ) );
-        assertEquals( 16.0, grid.getRow( 0 ).get( 13 ) );
-        assertEquals( 11.0, grid.getRow( 0 ).get( 14 ) );
-        assertEquals( 12.0, grid.getRow( 0 ).get( 15 ) );
-        assertEquals( 15.0, grid.getRow( 0 ).get( 16 ) );
-        assertEquals( 16.0, grid.getRow( 0 ).get( 17 ) );
+        assertEquals( 11.0, grid.getRow( 0 ).get( 8 ) );
+        assertEquals( 12.0, grid.getRow( 0 ).get( 9 ) );
+        assertEquals( 15.0, grid.getRow( 0 ).get( 10 ) );
+        assertEquals( 16.0, grid.getRow( 0 ).get( 11 ) );
+        assertEquals( 11.0, grid.getRow( 0 ).get( 12 ) );
+        assertEquals( 12.0, grid.getRow( 0 ).get( 13 ) );
+        assertEquals( 15.0, grid.getRow( 0 ).get( 14 ) );
+        assertEquals( 16.0, grid.getRow( 0 ).get( 15 ) );
+        assertEquals( 11.0, grid.getRow( 0 ).get( 16 ) );
+        assertEquals( 12.0, grid.getRow( 0 ).get( 17 ) );
+        assertEquals( 15.0, grid.getRow( 0 ).get( 18 ) );
+        assertEquals( 16.0, grid.getRow( 0 ).get( 19 ) );
 
-        assertEquals( 13.0, grid.getRow( 1 ).get( 6 ) );
-        assertEquals( 14.0, grid.getRow( 1 ).get( 7 ) );
-        assertEquals( 17.0, grid.getRow( 1 ).get( 8 ) );
-        assertEquals( 18.0, grid.getRow( 1 ).get( 9 ) );
-        assertEquals( 13.0, grid.getRow( 1 ).get( 10 ) );
-        assertEquals( 14.0, grid.getRow( 1 ).get( 11 ) );
-        assertEquals( 17.0, grid.getRow( 1 ).get( 12 ) );
-        assertEquals( 18.0, grid.getRow( 1 ).get( 13 ) );
-        assertEquals( 13.0, grid.getRow( 1 ).get( 14 ) );
-        assertEquals( 14.0, grid.getRow( 1 ).get( 15 ) );
-        assertEquals( 17.0, grid.getRow( 1 ).get( 16 ) );
-        assertEquals( 18.0, grid.getRow( 1 ).get( 17 ) );
+        assertEquals( 13.0, grid.getRow( 1 ).get( 8 ) );
+        assertEquals( 14.0, grid.getRow( 1 ).get( 9 ) );
+        assertEquals( 17.0, grid.getRow( 1 ).get( 10 ) );
+        assertEquals( 18.0, grid.getRow( 1 ).get( 11 ) );
+        assertEquals( 13.0, grid.getRow( 1 ).get( 12 ) );
+        assertEquals( 14.0, grid.getRow( 1 ).get( 13 ) );
+        assertEquals( 17.0, grid.getRow( 1 ).get( 14 ) );
+        assertEquals( 18.0, grid.getRow( 1 ).get( 15 ) );
+        assertEquals( 13.0, grid.getRow( 1 ).get( 16 ) );
+        assertEquals( 14.0, grid.getRow( 1 ).get( 17 ) );
+        assertEquals( 17.0, grid.getRow( 1 ).get( 18 ) );
+        assertEquals( 18.0, grid.getRow( 1 ).get( 19 ) );
     }
 
     @Test
@@ -1080,14 +1080,14 @@
 
         Grid grid = reportTableService.getReportTableGrid( id, i18nFormat, date, 0 );
 
-        assertEquals( 11.0, grid.getRow( 0 ).get( 12 ) );
-        assertEquals( 12.0, grid.getRow( 1 ).get( 12 ) );
-        assertEquals( 13.0, grid.getRow( 2 ).get( 12 ) );
-        assertEquals( 14.0, grid.getRow( 3 ).get( 12 ) );
-        assertEquals( 15.0, grid.getRow( 4 ).get( 12 ) );
-        assertEquals( 16.0, grid.getRow( 5 ).get( 12 ) );
-        assertEquals( 17.0, grid.getRow( 6 ).get( 12 ) );
-        assertEquals( 18.0, grid.getRow( 7 ).get( 12 ) );
+        assertEquals( 11.0, grid.getRow( 0 ).get( 18 ) );
+        assertEquals( 12.0, grid.getRow( 1 ).get( 18 ) );
+        assertEquals( 13.0, grid.getRow( 2 ).get( 18 ) );
+        assertEquals( 14.0, grid.getRow( 3 ).get( 18 ) );
+        assertEquals( 15.0, grid.getRow( 4 ).get( 18 ) );
+        assertEquals( 16.0, grid.getRow( 5 ).get( 18 ) );
+        assertEquals( 17.0, grid.getRow( 6 ).get( 18 ) );
+        assertEquals( 18.0, grid.getRow( 7 ).get( 18 ) );
     }
 
     @Test
@@ -1104,11 +1104,11 @@
 
         assertEquals( 2, grid.getHeight() );
         
-        assertEquals( 11.0, grid.getRow( 0 ).get( 9 ) );
-        assertEquals( 12.0, grid.getRow( 0 ).get( 10 ) );
+        assertEquals( 11.0, grid.getRow( 0 ).get( 13 ) );
+        assertEquals( 12.0, grid.getRow( 0 ).get( 14 ) );
         
-        assertEquals( 13.0, grid.getRow( 1 ).get( 9 ) );
-        assertEquals( 14.0, grid.getRow( 1 ).get( 10 ) );
+        assertEquals( 13.0, grid.getRow( 1 ).get( 13 ) );
+        assertEquals( 14.0, grid.getRow( 1 ).get( 14 ) );
     }
 
     @Test
@@ -1123,17 +1123,17 @@
 
         Grid grid = reportTableService.getReportTableGrid( id, i18nFormat, date, 0 );
 
-        assertEquals( 17.0, grid.getRow( 0 ).get( 9 ) );
-        assertEquals( 18.0, grid.getRow( 0 ).get( 10 ) );
-
-        assertEquals( 15.0, grid.getRow( 1 ).get( 9 ) );
-        assertEquals( 16.0, grid.getRow( 1 ).get( 10 ) );
-
-        assertEquals( 13.0, grid.getRow( 2 ).get( 9 ) );
-        assertEquals( 14.0, grid.getRow( 2 ).get( 10 ) );
+        assertEquals( 17.0, grid.getRow( 0 ).get( 13 ) );
+        assertEquals( 18.0, grid.getRow( 0 ).get( 14 ) );
+
+        assertEquals( 15.0, grid.getRow( 1 ).get( 13 ) );
+        assertEquals( 16.0, grid.getRow( 1 ).get( 14 ) );
+
+        assertEquals( 13.0, grid.getRow( 2 ).get( 13 ) );
+        assertEquals( 14.0, grid.getRow( 2 ).get( 14 ) );
         
-        assertEquals( 11.0, grid.getRow( 3 ).get( 9 ) );
-        assertEquals( 12.0, grid.getRow( 3 ).get( 10 ) );
+        assertEquals( 11.0, grid.getRow( 3 ).get( 13 ) );
+        assertEquals( 12.0, grid.getRow( 3 ).get( 14 ) );
     }
 
     @Test
@@ -1149,24 +1149,24 @@
 
         Grid grid = reportTableService.getReportTableGrid( id, i18nFormat, date, 0 );
         
-        assertEquals( 11.0, grid.getRow( 0 ).get( 6 ) );
-        assertEquals( 12.0, grid.getRow( 0 ).get( 7 ) );
-        assertEquals( 15.0, grid.getRow( 0 ).get( 8 ) );
-        assertEquals( 16.0, grid.getRow( 0 ).get( 9 ) );
+        assertEquals( 11.0, grid.getRow( 0 ).get( 8 ) );
+        assertEquals( 12.0, grid.getRow( 0 ).get( 9 ) );
+        assertEquals( 15.0, grid.getRow( 0 ).get( 10 ) );
+        assertEquals( 16.0, grid.getRow( 0 ).get( 11 ) );
 
-        assertEquals( 11.0, grid.getRow( 0 ).get( 10 ) );
-        assertEquals( 12.0, grid.getRow( 0 ).get( 11 ) );
-        assertEquals( 15.0, grid.getRow( 0 ).get( 12 ) );
-        assertEquals( 16.0, grid.getRow( 0 ).get( 13 ) );
+        assertEquals( 11.0, grid.getRow( 0 ).get( 12 ) );
+        assertEquals( 12.0, grid.getRow( 0 ).get( 13 ) );
+        assertEquals( 15.0, grid.getRow( 0 ).get( 14 ) );
+        assertEquals( 16.0, grid.getRow( 0 ).get( 15 ) );
         
-        assertEquals( 13.0, grid.getRow( 1 ).get( 6 ) );
-        assertEquals( 14.0, grid.getRow( 1 ).get( 7 ) );
-        assertEquals( 17.0, grid.getRow( 1 ).get( 8 ) );
-        assertEquals( 18.0, grid.getRow( 1 ).get( 9 ) );
+        assertEquals( 13.0, grid.getRow( 1 ).get( 8 ) );
+        assertEquals( 14.0, grid.getRow( 1 ).get( 9 ) );
+        assertEquals( 17.0, grid.getRow( 1 ).get( 10 ) );
+        assertEquals( 18.0, grid.getRow( 1 ).get( 11 ) );
 
-        assertEquals( 13.0, grid.getRow( 1 ).get( 10 ) );
-        assertEquals( 14.0, grid.getRow( 1 ).get( 11 ) );
-        assertEquals( 17.0, grid.getRow( 1 ).get( 12 ) );
-        assertEquals( 18.0, grid.getRow( 1 ).get( 13 ) );
+        assertEquals( 13.0, grid.getRow( 1 ).get( 12 ) );
+        assertEquals( 14.0, grid.getRow( 1 ).get( 13 ) );
+        assertEquals( 17.0, grid.getRow( 1 ).get( 14 ) );
+        assertEquals( 18.0, grid.getRow( 1 ).get( 15 ) );
     }    
 }