=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/common/hibernate/HibernateIdentifiableObjectStore.java' --- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/common/hibernate/HibernateIdentifiableObjectStore.java 2014-09-11 06:43:07 +0000 +++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/common/hibernate/HibernateIdentifiableObjectStore.java 2014-09-24 10:54:15 +0000 @@ -127,12 +127,16 @@ sessionFactory.getCurrentSession().update( object ); } + /** + * Uses query since name property might not be unique. + */ @Override - @Deprecated public final T getByName( String name ) { - T object = getObject( Restrictions.eq( "name", name ) ); - + List list = getList( Restrictions.eq( "name", name ) ); + + T object = list != null && !list.isEmpty() ? list.get( 0 ) : null; + if ( !isReadAllowed( object ) ) { AuditLogUtil.infoWrapper( log, currentUserService.getCurrentUsername(), object, AuditLogUtil.ACTION_READ_DENIED ); @@ -142,12 +146,16 @@ return object; } + /** + * Uses query since name property might not be unique. + */ @Override - @Deprecated public final T getByShortName( String shortName ) { - T object = getObject( Restrictions.eq( "shortName", shortName ) ); + List list = getList( Restrictions.eq( "shortName", shortName ) ); + T object = list != null && !list.isEmpty() ? list.get( 0 ) : null; + if ( !isReadAllowed( object ) ) { AuditLogUtil.infoWrapper( log, currentUserService.getCurrentUsername(), object, AuditLogUtil.ACTION_READ_DENIED );