dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #23325
[Branch ~dhis2-devs-core/dhis2/trunk] Rev 11347: support DELETE of events (update is wip)
------------------------------------------------------------
revno: 11347
committer: Morten Olav Hansen <mortenoh@xxxxxxxxx>
branch nick: dhis2
timestamp: Fri 2013-07-05 13:34:10 +0700
message:
support DELETE of events (update is wip)
modified:
dhis-2/dhis-dxf2/src/main/java/org/hisp/dhis/dxf2/event/BaseEventService.java
dhis-2/dhis-dxf2/src/main/java/org/hisp/dhis/dxf2/event/EventService.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-dxf2/src/main/java/org/hisp/dhis/dxf2/event/BaseEventService.java'
--- dhis-2/dhis-dxf2/src/main/java/org/hisp/dhis/dxf2/event/BaseEventService.java 2013-07-04 08:55:19 +0000
+++ dhis-2/dhis-dxf2/src/main/java/org/hisp/dhis/dxf2/event/BaseEventService.java 2013-07-05 06:34:10 +0000
@@ -370,4 +370,15 @@
return event;
}
+
+ @Override
+ public void deleteEvent( Event event )
+ {
+ ProgramStageInstance programStageInstance = programStageInstanceService.getProgramStageInstance( event.getEvent() );
+
+ if ( programStageInstance != null )
+ {
+ programStageInstanceService.deleteProgramStageInstance( programStageInstance );
+ }
+ }
}
=== modified file 'dhis-2/dhis-dxf2/src/main/java/org/hisp/dhis/dxf2/event/EventService.java'
--- dhis-2/dhis-dxf2/src/main/java/org/hisp/dhis/dxf2/event/EventService.java 2013-07-04 08:55:19 +0000
+++ dhis-2/dhis-dxf2/src/main/java/org/hisp/dhis/dxf2/event/EventService.java 2013-07-05 06:34:10 +0000
@@ -47,4 +47,6 @@
ImportSummaries saveEventsJson( InputStream inputStream ) throws IOException;
Event getEvent( String uid );
+
+ void deleteEvent( Event event );
}
=== 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 2013-07-05 04:48:41 +0000
+++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/event/EventController.java 2013-07-05 06:34:10 +0000
@@ -35,6 +35,7 @@
import org.hisp.dhis.dxf2.importsummary.ImportSummary;
import org.hisp.dhis.dxf2.utils.JacksonUtils;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
@@ -43,9 +44,11 @@
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
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.util.Map;
/**
@@ -94,7 +97,7 @@
@RequestMapping( method = RequestMethod.POST, consumes = "application/xml" )
@PreAuthorize( "hasRole('ALL') or hasRole('F_PATIENT_DATAVALUE_ADD')" )
- public void postXmlObject( HttpServletResponse response, HttpServletRequest request ) throws Exception
+ public void postXmlEvent( HttpServletResponse response, HttpServletRequest request ) throws Exception
{
ImportSummaries importSummaries = eventService.saveEventsXml( request.getInputStream() );
@@ -114,7 +117,7 @@
@RequestMapping( method = RequestMethod.POST, consumes = "application/json" )
@PreAuthorize( "hasRole('ALL') or hasRole('F_PATIENT_DATAVALUE_ADD')" )
- public void postJsonObject( HttpServletResponse response, HttpServletRequest request ) throws Exception
+ public void postJsonEvent( HttpServletResponse response, HttpServletRequest request ) throws Exception
{
ImportSummaries importSummaries = eventService.saveEventsJson( request.getInputStream() );
@@ -132,6 +135,52 @@
JacksonUtils.toJson( response.getOutputStream(), importSummaries );
}
+ @RequestMapping( value = "/{uid}", method = RequestMethod.DELETE )
+ @ResponseStatus( value = HttpStatus.NO_CONTENT )
+ @PreAuthorize( "hasRole('ALL') or hasRole('F_PATIENT_DATAVALUE_DELETE')" )
+ public void deleteEvent( HttpServletResponse response, HttpServletRequest request, @PathVariable( "uid" ) String uid )
+ {
+ Event event = eventService.getEvent( uid );
+
+ if ( event == null )
+ {
+ ContextUtils.notFoundResponse( response, "Event could not be found." );
+ return;
+ }
+
+ eventService.deleteEvent( event );
+ }
+
+ @RequestMapping( value = "/{uid}", method = RequestMethod.PUT, consumes = { "application/xml", "text/xml" } )
+ @PreAuthorize( "hasRole('ALL') or hasRole('F_PATIENT_DATAVALUE_UPDATE')" )
+ public void putXmlEvent( HttpServletResponse response, HttpServletRequest request, @PathVariable( "uid" ) String uid ) throws IOException
+ {
+ Event event = eventService.getEvent( uid );
+
+ if ( event == null )
+ {
+ ContextUtils.notFoundResponse( response, "Event could not be found." );
+ return;
+ }
+
+ Event updatedEvent = JacksonUtils.fromXml( request.getInputStream(), Event.class );
+ }
+
+ @RequestMapping( value = "/{uid}", method = RequestMethod.PUT, consumes = "application/json" )
+ @PreAuthorize( "hasRole('ALL') or hasRole('F_PATIENT_DATAVALUE_UPDATE')" )
+ public void putJsonEvent( HttpServletResponse response, HttpServletRequest request, @PathVariable( "uid" ) String uid ) throws IOException
+ {
+ Event event = eventService.getEvent( uid );
+
+ if ( event == null )
+ {
+ ContextUtils.notFoundResponse( response, "Event could not be found." );
+ return;
+ }
+
+ Event updatedEvent = JacksonUtils.fromJson( request.getInputStream(), Event.class );
+ }
+
@ExceptionHandler( IllegalArgumentException.class )
public void handleError( IllegalArgumentException ex, HttpServletResponse response )
{