=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/organisationunit/DefaultOrganisationUnitGroupService.java' --- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/organisationunit/DefaultOrganisationUnitGroupService.java 2011-05-22 12:19:06 +0000 +++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/organisationunit/DefaultOrganisationUnitGroupService.java 2011-11-03 14:27:18 +0000 @@ -33,7 +33,6 @@ import org.hisp.dhis.common.GenericIdentifiableObjectStore; import org.hisp.dhis.system.util.Filter; import org.hisp.dhis.system.util.FilterUtils; -import org.hisp.dhis.system.util.UUIdUtils; import org.springframework.transaction.annotation.Transactional; /** @@ -68,11 +67,6 @@ public int addOrganisationUnitGroup( OrganisationUnitGroup organisationUnitGroup ) { - if ( organisationUnitGroup.getUuid() == null ) - { - organisationUnitGroup.setUuid( UUIdUtils.getUUId() ); - } - return organisationUnitGroupStore.save( organisationUnitGroup ); } === modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/organisationunit/DefaultOrganisationUnitService.java' --- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/organisationunit/DefaultOrganisationUnitService.java 2011-10-08 13:09:04 +0000 +++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/organisationunit/DefaultOrganisationUnitService.java 2011-11-03 14:27:18 +0000 @@ -97,15 +97,9 @@ // OrganisationUnit // ------------------------------------------------------------------------- + @Override public int addOrganisationUnit( OrganisationUnit organisationUnit ) { - if ( organisationUnit.getUuid() == null ) - { - organisationUnit.setUuid( UUIdUtils.getUUId() ); - } - - organisationUnit.setLastUpdated( new Date() ); - int id = organisationUnitStore.save( organisationUnit ); log.info( AuditLogUtil.logMessage( currentUserService.getCurrentUsername(), AuditLogUtil.ACTION_ADD, === 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 2011-10-08 13:09:04 +0000 +++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/organisationunit/hibernate/HibernateOrganisationUnitStore.java 2011-11-03 14:27:18 +0000 @@ -29,7 +29,9 @@ import java.sql.ResultSet; import java.sql.SQLException; +import java.sql.Timestamp; import java.util.Collection; +import java.util.Date; import java.util.HashMap; import java.util.HashSet; import java.util.Map; @@ -43,7 +45,7 @@ import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.criterion.Restrictions; -import org.hisp.dhis.hibernate.HibernateGenericStore; +import org.hisp.dhis.common.hibernate.HibernateIdentifiableObjectStore; import org.hisp.dhis.organisationunit.OrganisationUnit; import org.hisp.dhis.organisationunit.OrganisationUnitGroup; import org.hisp.dhis.organisationunit.OrganisationUnitHierarchy; @@ -60,7 +62,7 @@ * larshelg $ */ public class HibernateOrganisationUnitStore - extends HibernateGenericStore + extends HibernateIdentifiableObjectStore implements OrganisationUnitStore { // ------------------------------------------------------------------------- @@ -74,17 +76,19 @@ this.statementManager = statementManager; } - private JdbcTemplate jdbcTemplate; + private HibernateIdentifiableObjectStore orgLevelStore; - public void setJdbcTemplate( JdbcTemplate jdbcTemplate ) + public void setOrgLevelStore( HibernateIdentifiableObjectStore orgLevelStore ) { - this.jdbcTemplate = jdbcTemplate; + this.orgLevelStore = orgLevelStore; } - + + // ------------------------------------------------------------------------- // OrganisationUnit // ------------------------------------------------------------------------- + @Override public OrganisationUnit getOrganisationUnitByNameIgnoreCase( String name ) { Criteria criteria = sessionFactory.getCurrentSession().createCriteria( OrganisationUnit.class ); @@ -222,10 +226,12 @@ public void updateOrganisationUnitParent( int organisationUnitId, int parentId ) { + Timestamp now = new Timestamp( new Date().getTime() ); + StatementHolder holder = statementManager.getHolder(); - final String sql = "UPDATE organisationunit " + "SET parentid='" + parentId + "' " - + "WHERE organisationunitid='" + organisationUnitId + "'"; + final String sql = "UPDATE organisationunit " + "SET parentid='" + parentId + "', SET lastUpdated='" + + now + "' " + "WHERE organisationunitid='" + organisationUnitId + "'"; holder.executeUpdate( sql ); } @@ -236,22 +242,22 @@ public int addOrganisationUnitLevel( OrganisationUnitLevel level ) { - return (Integer) sessionFactory.getCurrentSession().save( level ); + return orgLevelStore.save( level ); } public void updateOrganisationUnitLevel( OrganisationUnitLevel level ) { - sessionFactory.getCurrentSession().update( level ); + orgLevelStore.update( level ); } public OrganisationUnitLevel getOrganisationUnitLevel( int id ) { - return (OrganisationUnitLevel) sessionFactory.getCurrentSession().get( OrganisationUnitLevel.class, id ); + return orgLevelStore.get( id ); } public void deleteOrganisationUnitLevel( OrganisationUnitLevel level ) { - sessionFactory.getCurrentSession().delete( level ); + orgLevelStore.delete( level ); } public void deleteOrganisationUnitLevels() @@ -292,6 +298,8 @@ @Override public void update( Collection units ) { + Timestamp now = new Timestamp( new Date().getTime() ); + Collection unitIds = new HashSet(); for ( OrganisationUnit orgunit : units ) @@ -301,19 +309,21 @@ if ( unitIds.size() > 0 ) { - String sql = "update OrganisationUnit set hasPatients=true where organisationunitid in (:unitIds)"; + String sql = "update OrganisationUnit set hasPatients=true,lastUpdated='" + now + + "' where organisationunitid in (:unitIds)"; Query query = sessionFactory.getCurrentSession().createQuery( sql ); query.setParameterList( "unitIds", unitIds ); query.executeUpdate(); - sql = "UPDATE OrganisationUnit SET hasPatients=false WHERE organisationunitid not in ( :unitIds )"; + sql = "UPDATE OrganisationUnit SET hasPatients=false,lastUpdated='" + now + + "' WHERE organisationunitid not in ( :unitIds )"; query = sessionFactory.getCurrentSession().createQuery( sql ); query.setParameterList( "unitIds", unitIds ); query.executeUpdate(); } else { - String sql = "update OrganisationUnit set hasPatients=false"; + String sql = "update OrganisationUnit set hasPatients=false,,lastUpdated='" + now +"'"; Query query = sessionFactory.getCurrentSession().createQuery( sql ); query.executeUpdate(); } === modified file 'dhis-2/dhis-services/dhis-service-core/src/main/resources/META-INF/dhis/beans.xml' --- dhis-2/dhis-services/dhis-service-core/src/main/resources/META-INF/dhis/beans.xml 2011-11-03 12:18:20 +0000 +++ dhis-2/dhis-services/dhis-service-core/src/main/resources/META-INF/dhis/beans.xml 2011-11-03 14:27:18 +0000 @@ -143,12 +143,19 @@ + + + + + + +