=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/organisationunit/hibernate/HibernateOrganisationUnitLevelStore.java' --- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/organisationunit/hibernate/HibernateOrganisationUnitLevelStore.java 2013-04-15 17:06:42 +0000 +++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/organisationunit/hibernate/HibernateOrganisationUnitLevelStore.java 2013-06-08 08:02:30 +0000 @@ -67,6 +67,8 @@ { final String sql = "SELECT MAX(level) FROM orgunitlevel"; - return jdbcTemplate.queryForObject( sql, Integer.class ); + Integer level = jdbcTemplate.queryForObject( sql, Integer.class ); + + return level != null ? level : 0; } } === modified file 'dhis-2/dhis-services/dhis-service-core/src/test/java/org/hisp/dhis/organisationunit/OrganisationUnitServiceTest.java' --- dhis-2/dhis-services/dhis-service-core/src/test/java/org/hisp/dhis/organisationunit/OrganisationUnitServiceTest.java 2013-05-14 09:58:30 +0000 +++ dhis-2/dhis-services/dhis-service-core/src/test/java/org/hisp/dhis/organisationunit/OrganisationUnitServiceTest.java 2013-06-08 08:02:30 +0000 @@ -744,4 +744,18 @@ assertNull( organisationUnitService.getOrganisationUnitLevel( idA ) ); assertNull( organisationUnitService.getOrganisationUnitLevel( idB ) ); } + + @Test + public void getMaxLevels() + { + assertEquals( 0, organisationUnitService.getMaxOfOrganisationUnitLevels() ); + + OrganisationUnitLevel levelA = new OrganisationUnitLevel( 1, "National" ); + OrganisationUnitLevel levelB = new OrganisationUnitLevel( 2, "District" ); + + organisationUnitService.addOrganisationUnitLevel( levelA ); + organisationUnitService.addOrganisationUnitLevel( levelB ); + + assertEquals( 2, organisationUnitService.getMaxOfOrganisationUnitLevels() ); + } }