dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #29424
[Branch ~dhis2-devs-core/dhis2/trunk] Rev 14865: Event query, rationalizing overloads
------------------------------------------------------------
revno: 14865
committer: Lars Helge Øverland <larshelge@xxxxxxxxx>
branch nick: dhis2
timestamp: Tue 2014-04-15 09:12:15 +0200
message:
Event query, rationalizing overloads
modified:
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/EventService.java
dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/event/EventStore.java
dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/event/JdbcEventStore.java
dhis-2/dhis-services/dhis-service-dxf2/src/test/java/org/hisp/dhis/dxf2/events/RegistrationMultiEventsServiceTest.java
dhis-2/dhis-services/dhis-service-dxf2/src/test/java/org/hisp/dhis/dxf2/events/RegistrationSingleEventServiceTest.java
dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/event/EventController.java
--
lp:dhis2
https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk
Your team DHIS 2 developers is subscribed to branch lp:dhis2.
To unsubscribe from this branch go to https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription
=== 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 2014-04-04 22:26:12 +0000
+++ dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/event/AbstractEventService.java 2014-04-15 07:12:15 +0000
@@ -65,6 +65,7 @@
import java.io.IOException;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collection;
import java.util.Date;
import java.util.HashSet;
@@ -315,22 +316,16 @@
// READ
// -------------------------------------------------------------------------
- @Override
- public Events getEvents( Program program, ProgramStage programStage, OrganisationUnit organisationUnit,
- TrackedEntityInstance trackedEntityInstance, Date startDate, Date endDate )
+ public Events getEvents( Program program, OrganisationUnit organisationUnit )
{
- List<Event> eventList = eventStore.getAll( program, programStage, organisationUnit, trackedEntityInstance, startDate, endDate );
- Events events = new Events();
- events.setEvents( eventList );
-
- return events;
+ return getEvents( program, null, null, null, Arrays.asList( organisationUnit ), null, null, null, null );
}
-
+
@Override
- public Events getEvents( List<Program> programs, List<ProgramStage> programStages, ProgramStatus programStatus, Boolean followUp,
- List<OrganisationUnit> organisationUnits, TrackedEntityInstance trackedEntityInstance, Date startDate, Date endDate, EventStatus status )
+ public Events getEvents( Program program, ProgramStage programStage, ProgramStatus programStatus, Boolean followUp, List<OrganisationUnit> organisationUnits,
+ TrackedEntityInstance trackedEntityInstance, Date startDate, Date endDate, EventStatus status )
{
- List<Event> eventList = eventStore.getAll( programs, programStages, programStatus, followUp, organisationUnits,
+ List<Event> eventList = eventStore.getAll( program, programStage, programStatus, followUp, organisationUnits,
trackedEntityInstance, startDate, endDate, status );
Events events = new Events();
events.setEvents( eventList );
=== modified file 'dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/event/EventService.java'
--- dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/event/EventService.java 2014-04-04 22:26:12 +0000
+++ dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/event/EventService.java 2014-04-15 07:12:15 +0000
@@ -53,10 +53,9 @@
// READ
// -------------------------------------------------------------------------
- Events getEvents( Program program, ProgramStage programStage, OrganisationUnit organisationUnit,
- TrackedEntityInstance trackedEntityInstance, Date startDate, Date endDate );
-
- Events getEvents( List<Program> programs, List<ProgramStage> programStages, ProgramStatus programStatus, Boolean followUp, List<OrganisationUnit> organisationUnits,
+ Events getEvents( Program program, OrganisationUnit organisationUnit );
+
+ Events getEvents( Program program, ProgramStage programStage, ProgramStatus programStatus, Boolean followUp, List<OrganisationUnit> organisationUnit,
TrackedEntityInstance trackedEntityInstance, Date startDate, Date endDate, EventStatus status );
Event getEvent( String uid );
=== modified file 'dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/event/EventStore.java'
--- dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/event/EventStore.java 2014-04-04 22:26:12 +0000
+++ dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/event/EventStore.java 2014-04-15 07:12:15 +0000
@@ -42,9 +42,6 @@
*/
public interface EventStore
{
- List<Event> getAll( Program program, ProgramStage programStage, OrganisationUnit organisationUnit,
- TrackedEntityInstance trackedEntityInstance, Date startDate, Date endDate );
-
- List<Event> getAll( List<Program> programs, List<ProgramStage> programStages, ProgramStatus programStatus, Boolean followUp, List<OrganisationUnit> organisationUnits,
+ List<Event> getAll( Program program, ProgramStage programStage, ProgramStatus programStatus, Boolean followUp, List<OrganisationUnit> organisationUnits,
TrackedEntityInstance trackedEntityInstance, Date startDate, Date endDate, EventStatus status );
}
=== modified file 'dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/event/JdbcEventStore.java'
--- dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/event/JdbcEventStore.java 2014-04-04 22:33:55 +0000
+++ dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/event/JdbcEventStore.java 2014-04-15 07:12:15 +0000
@@ -34,7 +34,6 @@
import java.io.IOException;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.Date;
import java.util.List;
@@ -72,15 +71,7 @@
private static final ObjectMapper objectMapper = new ObjectMapper();
@Override
- public List<Event> getAll( Program program, ProgramStage programStage, OrganisationUnit organisationUnit,
- TrackedEntityInstance trackedEntityInstance, Date startDate, Date endDate )
- {
- return getAll( Arrays.asList( program ), Arrays.asList( programStage ), null, null, Arrays.asList( organisationUnit ),
- trackedEntityInstance, startDate, endDate, null );
- }
-
- @Override
- public List<Event> getAll( List<Program> programs, List<ProgramStage> programStages, ProgramStatus programStatus, Boolean followUp,
+ public List<Event> getAll( Program program, ProgramStage programStage, ProgramStatus programStatus, Boolean followUp,
List<OrganisationUnit> organisationUnits, TrackedEntityInstance trackedEntityInstance, Date startDate, Date endDate, EventStatus status )
{
List<Event> events = new ArrayList<Event>();
@@ -97,7 +88,7 @@
}
}
- String sql = buildSql( getIdList( programs ), getIdList( programStages ), programStatus, followUp, getIdList( organisationUnits ),
+ String sql = buildSql( program, programStage, programStatus, followUp, getIdList( organisationUnits ),
trackedEntityInstanceId, startDate, endDate, status );
SqlRowSet rowSet = jdbcTemplate.queryForRowSet( sql );
@@ -177,7 +168,7 @@
return events;
}
- private String buildSql( List<Integer> programIds, List<Integer> programStageIds, ProgramStatus programStatus, Boolean followUp, List<Integer> orgUnitIds,
+ private String buildSql( Program program, ProgramStage programStage, ProgramStatus programStatus, Boolean followUp, List<Integer> orgUnitIds,
Integer trackedEntityInstanceId, Date startDate, Date endDate, EventStatus status )
{
SqlHelper hlp = new SqlHelper();
@@ -199,14 +190,14 @@
sql += hlp.whereAnd() + " pa.trackedentityinstanceid=" + trackedEntityInstanceId + " ";
}
- if ( !programIds.isEmpty() )
+ if ( program != null )
{
- sql += hlp.whereAnd() + " p.programid in (" + getCommaDelimitedString( programIds ) + ") ";
+ sql += hlp.whereAnd() + " p.programid = " + program.getId() + " ";
}
- if ( !programStageIds.isEmpty() )
+ if ( programStage != null )
{
- sql += hlp.whereAnd() + " ps.programstageid in (" + getCommaDelimitedString( programStageIds ) + ") ";
+ sql += hlp.whereAnd() + " ps.programstageid = " + programStage.getId() + " ";
}
if ( programStatus != null )
=== modified file 'dhis-2/dhis-services/dhis-service-dxf2/src/test/java/org/hisp/dhis/dxf2/events/RegistrationMultiEventsServiceTest.java'
--- dhis-2/dhis-services/dhis-service-dxf2/src/test/java/org/hisp/dhis/dxf2/events/RegistrationMultiEventsServiceTest.java 2014-04-04 20:46:36 +0000
+++ dhis-2/dhis-services/dhis-service-dxf2/src/test/java/org/hisp/dhis/dxf2/events/RegistrationMultiEventsServiceTest.java 2014-04-15 07:12:15 +0000
@@ -53,6 +53,7 @@
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
+import java.util.Arrays;
import java.util.HashSet;
import static org.junit.Assert.assertEquals;
@@ -233,7 +234,7 @@
importSummary = eventService.addEvent( event );
assertEquals( ImportStatus.SUCCESS, importSummary.getStatus() );
- assertEquals( 1, eventService.getEvents( programA, programStageA, organisationUnitA, null, null, null ).getEvents().size() );
+ assertEquals( 1, eventService.getEvents( programA, programStageA, null, null, Arrays.asList( organisationUnitA ), null, null, null, null ).getEvents().size() );
}
@Test
@@ -254,14 +255,14 @@
assertEquals( ImportStatus.SUCCESS, importSummary.getStatus() );
sessionFactory.getCurrentSession().flush();
- assertEquals( 2, eventService.getEvents( programA, null, organisationUnitA, null, null, null ).getEvents().size() );
+ assertEquals( 2, eventService.getEvents( programA, organisationUnitA ).getEvents().size() );
event = createEvent( programA.getUid(), programStageB.getUid(), organisationUnitA.getUid(),
trackedEntityInstanceMaleA.getTrackedEntityInstance(), dataElementB.getUid() );
importSummary = eventService.addEvent( event );
assertEquals( ImportStatus.SUCCESS, importSummary.getStatus() );
- assertEquals( 3, eventService.getEvents( programA, null, organisationUnitA, null, null, null ).getEvents().size() );
+ assertEquals( 3, eventService.getEvents( programA, organisationUnitA ).getEvents().size() );
}
@Test
@@ -282,7 +283,7 @@
assertEquals( ImportStatus.SUCCESS, importSummary.getStatus() );
sessionFactory.getCurrentSession().flush();
- assertEquals( 2, eventService.getEvents( programA, null, organisationUnitA, null, null, null ).getEvents().size() );
+ assertEquals( 2, eventService.getEvents( programA, organisationUnitA ).getEvents().size() );
event = createEvent( programA.getUid(), programStageB.getUid(), organisationUnitA.getUid(),
trackedEntityInstanceMaleA.getTrackedEntityInstance(), dataElementB.getUid() );
@@ -290,14 +291,14 @@
importSummary = eventService.addEvent( event );
assertEquals( ImportStatus.SUCCESS, importSummary.getStatus() );
- assertEquals( 2, eventService.getEvents( programA, null, organisationUnitA, null, null, null ).getEvents().size() );
+ assertEquals( 2, eventService.getEvents( programA, organisationUnitA ).getEvents().size() );
event = createEvent( programA.getUid(), programStageA.getUid(), organisationUnitA.getUid(),
trackedEntityInstanceMaleA.getTrackedEntityInstance(), dataElementA.getUid() );
importSummary = eventService.addEvent( event );
assertEquals( ImportStatus.SUCCESS, importSummary.getStatus() );
- assertEquals( 2, eventService.getEvents( programA, null, organisationUnitA, null, null, null ).getEvents().size() );
+ assertEquals( 2, eventService.getEvents( programA, organisationUnitA ).getEvents().size() );
}
private Enrollment createEnrollment( String program, String person )
=== modified file 'dhis-2/dhis-services/dhis-service-dxf2/src/test/java/org/hisp/dhis/dxf2/events/RegistrationSingleEventServiceTest.java'
--- dhis-2/dhis-services/dhis-service-dxf2/src/test/java/org/hisp/dhis/dxf2/events/RegistrationSingleEventServiceTest.java 2014-04-04 20:46:36 +0000
+++ dhis-2/dhis-services/dhis-service-dxf2/src/test/java/org/hisp/dhis/dxf2/events/RegistrationSingleEventServiceTest.java 2014-04-15 07:12:15 +0000
@@ -188,19 +188,19 @@
importSummary = eventService.addEvent( event );
assertEquals( ImportStatus.SUCCESS, importSummary.getStatus() );
- assertEquals( 1, eventService.getEvents( programA, null, organisationUnitA, null, null, null ).getEvents().size() );
-
- event = createEvent( programA.getUid(), organisationUnitA.getUid(), trackedEntityInstanceMaleA.getTrackedEntityInstance() );
- importSummary = eventService.addEvent( event );
- assertEquals( ImportStatus.SUCCESS, importSummary.getStatus() );
-
- assertEquals( 1, eventService.getEvents( programA, null, organisationUnitA, null, null, null ).getEvents().size() );
-
- event = createEvent( programA.getUid(), organisationUnitA.getUid(), trackedEntityInstanceMaleA.getTrackedEntityInstance() );
- importSummary = eventService.addEvent( event );
- assertEquals( ImportStatus.SUCCESS, importSummary.getStatus() );
-
- assertEquals( 1, eventService.getEvents( programA, null, organisationUnitA, null, null, null ).getEvents().size() );
+ assertEquals( 1, eventService.getEvents( programA, organisationUnitA ).getEvents().size() );
+
+ event = createEvent( programA.getUid(), organisationUnitA.getUid(), trackedEntityInstanceMaleA.getTrackedEntityInstance() );
+ importSummary = eventService.addEvent( event );
+ assertEquals( ImportStatus.SUCCESS, importSummary.getStatus() );
+
+ assertEquals( 1, eventService.getEvents( programA, organisationUnitA ).getEvents().size() );
+
+ event = createEvent( programA.getUid(), organisationUnitA.getUid(), trackedEntityInstanceMaleA.getTrackedEntityInstance() );
+ importSummary = eventService.addEvent( event );
+ assertEquals( ImportStatus.SUCCESS, importSummary.getStatus() );
+
+ assertEquals( 1, eventService.getEvents( programA, organisationUnitA ).getEvents().size() );
}
@Test
=== modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/event/EventController.java'
--- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/event/EventController.java 2014-04-04 22:26:12 +0000
+++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/event/EventController.java 2014-04-15 07:12:15 +0000
@@ -28,6 +28,16 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
import org.hisp.dhis.api.controller.WebMetaData;
import org.hisp.dhis.api.controller.WebOptions;
import org.hisp.dhis.api.controller.exception.NotFoundException;
@@ -36,6 +46,8 @@
import org.hisp.dhis.common.OrganisationUnitSelectionMode;
import org.hisp.dhis.common.Pager;
import org.hisp.dhis.common.PagerUtils;
+import org.hisp.dhis.dataelement.DataElement;
+import org.hisp.dhis.dataelement.DataElementService;
import org.hisp.dhis.dxf2.events.event.Event;
import org.hisp.dhis.dxf2.events.event.EventService;
import org.hisp.dhis.dxf2.events.event.EventStatus;
@@ -70,20 +82,6 @@
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseStatus;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-
-import org.hisp.dhis.dataelement.DataElement;
-import org.hisp.dhis.dataelement.DataElementService;
-
/**
* @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
*/
@@ -171,7 +169,7 @@
if ( rootOrganisationUnit == null && tei != null )
{
- Events events = eventService.getEvents( Arrays.asList( pr ), Arrays.asList( prs ), programStatus, followUp, null, tei, startDate, endDate, status );
+ Events events = eventService.getEvents( pr, prs, programStatus, followUp, null, tei, startDate, endDate, status );
model.addAttribute( "model", events );
model.addAttribute( "viewClass", options.getViewClass( "detailed" ) );
@@ -198,7 +196,7 @@
organisationUnits.add( rootOrganisationUnit );
}
- Events events = eventService.getEvents( Arrays.asList( pr ), Arrays.asList( prs ), programStatus, followUp, organisationUnits, tei, startDate, endDate, status );
+ Events events = eventService.getEvents( pr, prs, programStatus, followUp, organisationUnits, tei, startDate, endDate, status );
List<Event> eventList = new ArrayList<Event>( events.getEvents() );