=== modified file 'dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/enrollment/AbstractEnrollmentService.java' --- dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/enrollment/AbstractEnrollmentService.java 2015-06-08 06:22:39 +0000 +++ dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/enrollment/AbstractEnrollmentService.java 2015-06-08 08:53:59 +0000 @@ -37,6 +37,7 @@ import org.hisp.dhis.common.OrganisationUnitSelectionMode; import org.hisp.dhis.common.QueryItem; import org.hisp.dhis.common.QueryOperator; +import org.hisp.dhis.dbms.DbmsManager; import org.hisp.dhis.dxf2.events.event.Note; import org.hisp.dhis.dxf2.events.trackedentity.Attribute; import org.hisp.dhis.dxf2.events.trackedentity.TrackedEntityInstance; @@ -113,7 +114,7 @@ protected UserService userService; @Autowired - protected SessionFactory sessionFactory; + protected DbmsManager dbmsManager; private CachingMap organisationUnitCache = new CachingMap<>(); @@ -357,8 +358,7 @@ if ( counter % FLUSH_FREQUENCY == 0 ) { - sessionFactory.getCurrentSession().flush(); - sessionFactory.getCurrentSession().clear(); + dbmsManager.clearSession(); } counter++; @@ -460,8 +460,7 @@ if ( counter % FLUSH_FREQUENCY == 0 ) { - sessionFactory.getCurrentSession().flush(); - sessionFactory.getCurrentSession().clear(); + dbmsManager.clearSession(); } counter++; === modified file 'dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/event/AbstractEventService.java' --- dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/event/AbstractEventService.java 2015-06-02 12:59:26 +0000 +++ dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/event/AbstractEventService.java 2015-06-08 08:53:59 +0000 @@ -28,18 +28,8 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -import static org.hisp.dhis.system.notification.NotificationLevel.ERROR; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Date; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; - +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.ObjectMapper; import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -52,6 +42,7 @@ import org.hisp.dhis.common.Pager; import org.hisp.dhis.dataelement.DataElement; import org.hisp.dhis.dataelement.DataElementService; +import org.hisp.dhis.dbms.DbmsManager; import org.hisp.dhis.dxf2.common.IdSchemes; import org.hisp.dhis.dxf2.common.ImportOptions; import org.hisp.dhis.dxf2.events.report.EventRow; @@ -77,9 +68,7 @@ import org.hisp.dhis.system.callable.IdentifiableObjectCallable; import org.hisp.dhis.system.notification.NotificationLevel; import org.hisp.dhis.system.notification.Notifier; -import org.hisp.dhis.util.CachingMap; import org.hisp.dhis.system.util.DateUtils; -import org.hisp.dhis.util.DebugUtils; import org.hisp.dhis.system.util.ValidationUtils; import org.hisp.dhis.trackedentity.TrackedEntityInstance; import org.hisp.dhis.trackedentity.TrackedEntityInstanceService; @@ -89,12 +78,23 @@ import org.hisp.dhis.trackedentitydatavalue.TrackedEntityDataValueService; import org.hisp.dhis.user.CurrentUserService; import org.hisp.dhis.user.User; +import org.hisp.dhis.util.CachingMap; +import org.hisp.dhis.util.DebugUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.Assert; -import com.fasterxml.jackson.core.type.TypeReference; -import com.fasterxml.jackson.databind.ObjectMapper; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Date; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import static org.hisp.dhis.system.notification.NotificationLevel.ERROR; /** * @author Morten Olav Hansen @@ -135,7 +135,7 @@ @Autowired protected TrackedEntityInstanceService entityInstanceService; - + @Autowired protected TrackedEntityCommentService commentService; @@ -152,6 +152,9 @@ protected SessionFactory sessionFactory; @Autowired + protected DbmsManager dbmsManager; + + @Autowired protected IdentifiableObjectManager manager; protected final int FLUSH_FREQUENCY = 20; @@ -186,8 +189,7 @@ if ( counter % FLUSH_FREQUENCY == 0 ) { - sessionFactory.getCurrentSession().flush(); - sessionFactory.getCurrentSession().clear(); + dbmsManager.clearSession(); } counter++; @@ -401,10 +403,10 @@ public Events getEvents( EventSearchParams params ) { List organisationUnits = new ArrayList<>(); - + OrganisationUnit orgUnit = params.getOrgUnit(); OrganisationUnitSelectionMode orgUnitSelectionMode = params.getOrgUnitSelectionMode(); - + if ( params.getOrgUnit() != null ) { if ( OrganisationUnitSelectionMode.DESCENDANTS.equals( orgUnitSelectionMode ) ) @@ -428,35 +430,35 @@ } Events events = new Events(); - + if ( params.isPaging() ) { int count = 0; - + if ( params.isTotalPages() ) { count = eventStore.getEventCount( params, organisationUnits ); } - + Pager pager = new Pager( params.getPageWithDefault(), count, params.getPageSizeWithDefault() ); events.setPager( pager ); } - + List eventList = eventStore.getEvents( params, organisationUnits ); events.setEvents( eventList ); return events; } - + @Override public EventRows getEventRows( EventSearchParams params ) { List organisationUnits = new ArrayList<>(); - + OrganisationUnit orgUnit = params.getOrgUnit(); OrganisationUnitSelectionMode orgUnitSelectionMode = params.getOrgUnitSelectionMode(); - + if ( params.getOrgUnit() != null ) { if ( OrganisationUnitSelectionMode.DESCENDANTS.equals( orgUnitSelectionMode ) ) @@ -474,19 +476,19 @@ } } - EventRows eventRows = new EventRows(); - - + EventRows eventRows = new EventRows(); + + List eventRowList = eventStore.getEventRows( params, organisationUnits ); eventRows.setEventRows( eventRowList ); return eventRows; } - + @Override public EventSearchParams getFromUrl( String program, String programStage, ProgramStatus programStatus, Boolean followUp, String orgUnit, - OrganisationUnitSelectionMode orgUnitSelectionMode, String trackedEntityInstance, Date startDate, Date endDate, + OrganisationUnitSelectionMode orgUnitSelectionMode, String trackedEntityInstance, Date startDate, Date endDate, EventStatus status, Date lastUpdated, IdSchemes idSchemes, Integer page, Integer pageSize, boolean totalPages, boolean skipPaging, boolean includeAttributes ) { EventSearchParams params = new EventSearchParams(); @@ -506,19 +508,19 @@ } OrganisationUnit ou = organisationUnitService.getOrganisationUnit( orgUnit ); - + if ( StringUtils.isNotEmpty( orgUnit ) && ou == null ) { throw new IllegalQueryException( "Org unit is specified but does not exist: " + orgUnit ); } - + TrackedEntityInstance tei = entityInstanceService.getTrackedEntityInstance( trackedEntityInstance ); - + if ( StringUtils.isNotEmpty( trackedEntityInstance ) && tei == null ) { throw new IllegalQueryException( "Tracked entity instance is specified but does not exist: " + trackedEntityInstance ); } - + params.setProgram( pr ); params.setProgramStage( ps ); params.setOrgUnit( ou ); @@ -536,10 +538,10 @@ params.setTotalPages( totalPages ); params.setSkipPaging( skipPaging ); params.setIncludeAttributes( includeAttributes ); - + return params; } - + @Override public Event getEvent( String uid ) { === modified file 'dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/trackedentity/AbstractTrackedEntityInstanceService.java' --- dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/trackedentity/AbstractTrackedEntityInstanceService.java 2015-06-08 06:22:39 +0000 +++ dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/trackedentity/AbstractTrackedEntityInstanceService.java 2015-06-08 08:53:59 +0000 @@ -36,6 +36,7 @@ import org.hisp.dhis.common.OrganisationUnitSelectionMode; import org.hisp.dhis.common.QueryItem; import org.hisp.dhis.common.QueryOperator; +import org.hisp.dhis.dbms.DbmsManager; import org.hisp.dhis.dxf2.importsummary.ImportConflict; import org.hisp.dhis.dxf2.importsummary.ImportStatus; import org.hisp.dhis.dxf2.importsummary.ImportSummaries; @@ -95,7 +96,7 @@ protected UserService userService; @Autowired - protected SessionFactory sessionFactory; + protected DbmsManager dbmsManager; private CachingMap organisationUnitCache = new CachingMap<>(); @@ -213,8 +214,7 @@ if ( counter % FLUSH_FREQUENCY == 0 ) { - sessionFactory.getCurrentSession().flush(); - sessionFactory.getCurrentSession().clear(); + dbmsManager.clearSession(); } counter++; @@ -273,8 +273,7 @@ if ( counter % FLUSH_FREQUENCY == 0 ) { - sessionFactory.getCurrentSession().flush(); - sessionFactory.getCurrentSession().clear(); + dbmsManager.clearSession(); } counter++;