2222import org .roda .wui .api .v2 .utils .ApiUtils ;
2323import org .roda .wui .api .v2 .utils .CommonServicesUtils ;
2424import org .roda .wui .client .services .DIPRestService ;
25- import org .roda .wui .common .ControllerAssistant ;
2625import org .roda .wui .common .RequestControllerAssistant ;
2726import org .roda .wui .common .model .RequestContext ;
2827import org .roda .wui .common .utils .RequestUtils ;
5251public class DIPController implements DIPRestService , Exportable {
5352
5453 @ Autowired
55- private HttpServletRequest request ;
54+ HttpServletRequest request ;
5655
5756 @ Autowired
58- private IndexService indexService ;
57+ IndexService indexService ;
5958
6059 @ Autowired
61- private DIPService dipService ;
60+ DIPService dipService ;
6261
6362 @ Autowired
64- private RequestHandler requestHandler ;
63+ RequestHandler requestHandler ;
6564
6665 @ Override
6766 public IndexedDIP findByUuid (String uuid , String localeString ) {
68- RequestContext requestContext = RequestUtils .parseHTTPRequest (request );
6967 return indexService .retrieve (IndexedDIP .class , uuid , new ArrayList <>());
7068 }
7169
7270 @ Override
7371 public IndexResult <IndexedDIP > find (@ RequestBody FindRequest findRequest , String localeString ) {
74- RequestContext requestContext = RequestUtils .parseHTTPRequest (request );
7572 return indexService .find (IndexedDIP .class , findRequest , localeString );
7673 }
7774
@@ -88,7 +85,6 @@ public LongResponse count(@RequestBody CountRequest countRequest) {
8885
8986 @ Override
9087 public List <String > suggest (SuggestRequest suggestRequest ) {
91- RequestContext requestContext = RequestUtils .parseHTTPRequest (request );
9288 return indexService .suggest (suggestRequest , IndexedDIP .class );
9389 }
9490
@@ -104,15 +100,15 @@ public ResponseEntity<StreamingResponseBody> downloadBinary(
104100 public ResponseEntity <StreamingResponseBody > process (RequestContext requestContext ,
105101 RequestControllerAssistant controllerAssistant ) throws RODAException , RESTException {
106102
107- IndexedDIP dip = indexService .retrieve (IndexedDIP .class , dipUUID , new ArrayList <>());
103+ IndexedDIP dip = indexService .retrieve (IndexedDIP .class , dipUUID , new ArrayList <>());
108104
109- controllerAssistant .checkObjectPermissions (requestContext .getUser (), dip );
105+ controllerAssistant .checkObjectPermissions (requestContext .getUser (), dip );
110106
111- controllerAssistant .setParameters (RodaConstants .CONTROLLER_DIP_UUID_PARAM , dipUUID );
107+ controllerAssistant .setParameters (RodaConstants .CONTROLLER_DIP_UUID_PARAM , dipUUID );
112108
113- return ApiUtils .okResponse (dipService .createStreamResponse (requestContext , dip .getUUID ()));
114- }
115- });
109+ return ApiUtils .okResponse (dipService .createStreamResponse (requestContext , dip .getUUID ()));
110+ }
111+ });
116112 }
117113
118114 @ Override
@@ -123,6 +119,10 @@ public Job process(RequestContext requestContext, RequestControllerAssistant con
123119 throws RODAException , RESTException {
124120 controllerAssistant .setParameters (RodaConstants .CONTROLLER_SELECTED_PARAM , deleteRequest .getItemsToDelete (),
125121 RodaConstants .CONTROLLER_DETAILS_PARAM , deleteRequest .getDetails ());
122+
123+ controllerAssistant .checkObjectPermissions (requestContext .getUser (),
124+ CommonServicesUtils .convertSelectedItems (deleteRequest .getItemsToDelete (), IndexedDIP .class ));
125+
126126 return dipService .deleteDIPsJob (deleteRequest , requestContext .getUser ());
127127 }
128128 });
@@ -152,7 +152,6 @@ public Job process(RequestContext requestContext, RequestControllerAssistant con
152152 public ResponseEntity <StreamingResponseBody > exportToCSV (String findRequestString ) {
153153 RequestContext requestContext = RequestUtils .parseHTTPRequest (request );
154154 // delegate
155- return ApiUtils .okResponse (
156- indexService .exportToCSV (requestContext .getUser (), findRequestString , IndexedDIP .class ));
155+ return ApiUtils .okResponse (indexService .exportToCSV (requestContext .getUser (), findRequestString , IndexedDIP .class ));
157156 }
158157}
0 commit comments