11package org .roda .wui .api .v2 .controller ;
22
3- import com . google . json . JsonSanitizer ;
4- import jakarta . servlet . http . HttpServletRequest ;
3+ import java . io . IOException ;
4+
55import org .roda .core .data .common .RodaConstants ;
6- import org .roda .core .data .exceptions .AuthorizationDeniedException ;
76import org .roda .core .data .exceptions .RODAException ;
87import org .roda .core .data .utils .JsonUtils ;
9- import org .roda .core .data .v2 .generics .select .SelectedItemsRequest ;
10- import org .roda .core .data .v2 .ip .IndexedAIP ;
118import org .roda .core .data .v2 .disposal .schedule .DisposalSchedule ;
129import org .roda .core .data .v2 .disposal .schedule .DisposalSchedules ;
10+ import org .roda .core .data .v2 .generics .select .SelectedItemsRequest ;
11+ import org .roda .core .data .v2 .ip .IndexedAIP ;
1312import org .roda .core .data .v2 .jobs .Job ;
14- import org .roda .core .data .v2 .log .LogEntryState ;
1513import org .roda .wui .api .v2 .exceptions .RESTException ;
1614import org .roda .wui .api .v2 .services .DisposalScheduleService ;
1715import org .roda .wui .api .v2 .utils .CommonServicesUtils ;
1816import org .roda .wui .client .services .DisposalScheduleRestService ;
19- import org .roda .wui .common .ControllerAssistant ;
2017import org .roda .wui .common .RequestControllerAssistant ;
2118import org .roda .wui .common .model .RequestContext ;
22- import org .roda .wui .common .utils .RequestUtils ;
2319import org .springframework .beans .factory .annotation .Autowired ;
2420import org .springframework .web .bind .annotation .RequestBody ;
2521import org .springframework .web .bind .annotation .RequestMapping ;
2622import org .springframework .web .bind .annotation .RestController ;
2723
28- import java . io . IOException ;
24+ import com . google . json . JsonSanitizer ;
2925
3026/**
3127 * @author Miguel Guimarães <mguimaraes@keep.pt>
3430@ RequestMapping (path = "/api/v2/disposal/schedules" )
3531public class DisposalScheduleController implements DisposalScheduleRestService {
3632
37- @ Autowired
38- HttpServletRequest request ;
39-
4033 @ Autowired
4134 DisposalScheduleService disposalScheduleService ;
4235
@@ -49,8 +42,6 @@ public DisposalSchedules listDisposalSchedules() {
4942 @ Override
5043 public DisposalSchedules process (RequestContext requestContext , RequestControllerAssistant controllerAssistant )
5144 throws RODAException , RESTException , IOException {
52- // check user permissions
53- controllerAssistant .checkRoles (requestContext .getUser ());
5445
5546 return disposalScheduleService .getDisposalSchedules (requestContext .getModelService ());
5647 }
@@ -64,8 +55,6 @@ public DisposalSchedule retrieveDisposalSchedule(String id) {
6455 public DisposalSchedule process (RequestContext requestContext , RequestControllerAssistant controllerAssistant )
6556 throws RODAException , RESTException , IOException {
6657 controllerAssistant .setRelatedObjectId (id );
67- // check user permissions
68- controllerAssistant .checkRoles (requestContext .getUser ());
6958
7059 // delegate action to service
7160 return disposalScheduleService .retrieveDisposalSchedule (requestContext .getModelService (), id );
@@ -75,13 +64,11 @@ public DisposalSchedule process(RequestContext requestContext, RequestController
7564
7665 @ Override
7766 public DisposalSchedule createDisposalSchedule (@ RequestBody DisposalSchedule schedule ) {
78- return requestHandler .processRequest (new RequestHandler .RequestProcessor <DisposalSchedule >() {
67+ return requestHandler .processRequestWithTransaction (new RequestHandler .RequestProcessor <DisposalSchedule >() {
7968 @ Override
8069 public DisposalSchedule process (RequestContext requestContext , RequestControllerAssistant controllerAssistant )
8170 throws RODAException , RESTException {
8271 controllerAssistant .setParameters (RodaConstants .CONTROLLER_DISPOSAL_SCHEDULE_PARAM , schedule );
83- // check user permissions
84- controllerAssistant .checkRoles (requestContext .getUser ());
8572
8673 // sanitize the input
8774 String sanitize = JsonSanitizer .sanitize (JsonUtils .getJsonFromObject (schedule ));
@@ -97,13 +84,11 @@ public DisposalSchedule process(RequestContext requestContext, RequestController
9784
9885 @ Override
9986 public DisposalSchedule updateDisposalSchedule (@ RequestBody DisposalSchedule schedule ) {
100- return requestHandler .processRequest (new RequestHandler .RequestProcessor <DisposalSchedule >() {
87+ return requestHandler .processRequestWithTransaction (new RequestHandler .RequestProcessor <DisposalSchedule >() {
10188 @ Override
10289 public DisposalSchedule process (RequestContext requestContext , RequestControllerAssistant controllerAssistant )
10390 throws RODAException , RESTException {
10491 controllerAssistant .setParameters (RodaConstants .CONTROLLER_DISPOSAL_SCHEDULE_PARAM , schedule );
105- // check user permissions
106- controllerAssistant .checkRoles (requestContext .getUser ());
10792
10893 // sanitize the input
10994 String sanitize = JsonSanitizer .sanitize (JsonUtils .getJsonFromObject (schedule ));
@@ -120,14 +105,12 @@ public DisposalSchedule process(RequestContext requestContext, RequestController
120105
121106 @ Override
122107 public Void deleteDisposalSchedule (String id ) {
123- return requestHandler .processRequest (new RequestHandler .RequestProcessor <Void >() {
108+ return requestHandler .processRequestWithTransaction (new RequestHandler .RequestProcessor <Void >() {
124109 @ Override
125110 public Void process (RequestContext requestContext , RequestControllerAssistant controllerAssistant )
126111 throws RODAException , RESTException {
127112 controllerAssistant .setRelatedObjectId (id );
128113 controllerAssistant .setParameters (RodaConstants .CONTROLLER_DISPOSAL_SCHEDULE_ID_PARAM , id );
129- // check user permissions
130- controllerAssistant .checkRoles (requestContext .getUser ());
131114
132115 // delegate action to service
133116 disposalScheduleService .deleteDisposalSchedule (id , requestContext .getModelService ());
@@ -139,14 +122,12 @@ public Void process(RequestContext requestContext, RequestControllerAssistant co
139122
140123 @ Override
141124 public Job associatedDisposalSchedule (@ RequestBody SelectedItemsRequest selectedItems , String disposalScheduleId ) {
142- return requestHandler .processRequest (new RequestHandler .RequestProcessor <Job >() {
125+ return requestHandler .processRequestWithTransaction (new RequestHandler .RequestProcessor <Job >() {
143126 @ Override
144127 public Job process (RequestContext requestContext , RequestControllerAssistant controllerAssistant )
145128 throws RODAException , RESTException , IOException {
146129 controllerAssistant .setParameters (RodaConstants .CONTROLLER_SELECTED_PARAM , selectedItems ,
147130 RodaConstants .CONTROLLER_DISPOSAL_SCHEDULE_ID_PARAM , disposalScheduleId );
148- // check user permissions
149- controllerAssistant .checkRoles (requestContext .getUser ());
150131
151132 // delegate
152133 return disposalScheduleService .associateDisposalSchedule (requestContext .getUser (),
@@ -157,13 +138,11 @@ public Job process(RequestContext requestContext, RequestControllerAssistant con
157138
158139 @ Override
159140 public Job disassociatedDisposalSchedule (@ RequestBody SelectedItemsRequest selectedItems ) {
160- return requestHandler .processRequest (new RequestHandler .RequestProcessor <Job >() {
141+ return requestHandler .processRequestWithTransaction (new RequestHandler .RequestProcessor <Job >() {
161142 @ Override
162143 public Job process (RequestContext requestContext , RequestControllerAssistant controllerAssistant )
163144 throws RODAException , RESTException {
164145 controllerAssistant .setParameters (RodaConstants .CONTROLLER_SELECTED_PARAM , selectedItems );
165- // check user permissions
166- controllerAssistant .checkRoles (requestContext .getUser ());
167146
168147 // delegate
169148 return disposalScheduleService .disassociateDisposalSchedule (requestContext .getUser (),
0 commit comments