=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/organisationunit/hibernate/HibernateOrganisationUnitStore.java' --- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/organisationunit/hibernate/HibernateOrganisationUnitStore.java 2015-09-17 13:42:30 +0000 +++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/organisationunit/hibernate/HibernateOrganisationUnitStore.java 2015-09-23 10:50:30 +0000 @@ -328,22 +328,7 @@ public void updatePaths() { List organisationUnits = new ArrayList<>( getQuery( "from OrganisationUnit ou where ou.path IS NULL" ).list() ); - Session session = sessionFactory.getCurrentSession(); - int counter = 0; - - // Use session directly since we don't need to check for access - - for ( OrganisationUnit organisationUnit : organisationUnits ) - { - session.update( organisationUnit ); - - if ( (counter % 400) == 0 ) - { - dbmsManager.clearSession(); - } - - counter++; - } + updatePaths( organisationUnits ); } @Override @@ -351,11 +336,14 @@ public void forceUpdatePaths() { List organisationUnits = new ArrayList<>( getQuery( "from OrganisationUnit" ).list() ); + updatePaths( organisationUnits ); + } + + private void updatePaths( List organisationUnits ) + { Session session = sessionFactory.getCurrentSession(); int counter = 0; - // Use session directly since we don't need to check for access - for ( OrganisationUnit organisationUnit : organisationUnits ) { session.update( organisationUnit );