Skip to content

Commit 849cb71

Browse files
committed
Review DisposalConfirmationController
1 parent 4d97f64 commit 849cb71

1 file changed

Lines changed: 33 additions & 73 deletions

File tree

roda-ui/roda-wui/src/main/java/org/roda/wui/api/v2/controller/DisposalConfirmationController.java

Lines changed: 33 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,7 @@
55
import java.util.List;
66

77
import org.roda.core.data.common.RodaConstants;
8-
import org.roda.core.data.exceptions.AuthorizationDeniedException;
9-
import org.roda.core.data.exceptions.GenericException;
10-
import org.roda.core.data.exceptions.NotFoundException;
118
import org.roda.core.data.exceptions.RODAException;
12-
import org.roda.core.data.exceptions.RequestNotValidException;
139
import org.roda.core.data.v2.disposal.confirmation.DisposalConfirmation;
1410
import org.roda.core.data.v2.disposal.confirmation.DisposalConfirmationCreateRequest;
1511
import org.roda.core.data.v2.disposal.confirmation.DisposalConfirmationForm;
@@ -20,7 +16,6 @@
2016
import org.roda.core.data.v2.index.IndexResult;
2117
import org.roda.core.data.v2.index.SuggestRequest;
2218
import org.roda.core.data.v2.jobs.Job;
23-
import org.roda.core.data.v2.log.LogEntryState;
2419
import org.roda.core.model.utils.UserUtility;
2520
import org.roda.wui.api.v2.exceptions.RESTException;
2621
import org.roda.wui.api.v2.exceptions.model.ErrorResponseMessage;
@@ -29,7 +24,6 @@
2924
import org.roda.wui.api.v2.utils.ApiUtils;
3025
import org.roda.wui.api.v2.utils.CommonServicesUtils;
3126
import org.roda.wui.client.services.DisposalConfirmationRestService;
32-
import org.roda.wui.common.ControllerAssistant;
3327
import org.roda.wui.common.RequestControllerAssistant;
3428
import org.roda.wui.common.model.RequestContext;
3529
import org.roda.wui.common.utils.RequestUtils;
@@ -111,8 +105,6 @@ public ResponseEntity<StreamingResponseBody> process(RequestContext requestConte
111105
RequestControllerAssistant controllerAssistant) throws RODAException, RESTException, IOException {
112106
controllerAssistant.setParameters(RodaConstants.CONTROLLER_DISPOSAL_CONFIRMATION_ID_PARAM,
113107
disposalConfirmationId, "printLayout", toPrint);
114-
// check user permissions
115-
controllerAssistant.checkRoles(requestContext.getUser());
116108

117109
// delegate and return
118110
return ApiUtils.okResponse(
@@ -128,8 +120,6 @@ public Job destroyRecordsInDisposalConfirmation(@RequestBody SelectedItemsReques
128120
public Job process(RequestContext requestContext, RequestControllerAssistant controllerAssistant)
129121
throws RODAException, RESTException {
130122
controllerAssistant.setParameters(RodaConstants.CONTROLLER_SELECTED_PARAM, selectedItems);
131-
// check user permissions
132-
controllerAssistant.checkRoles(requestContext.getUser());
133123

134124
// delegate
135125
return disposalConfirmationService.destroyRecordsInDisposalConfirmation(requestContext.getUser(),
@@ -140,77 +130,47 @@ public Job process(RequestContext requestContext, RequestControllerAssistant con
140130

141131
@Override
142132
public Job permanentlyDeleteRecordsInDisposalConfirmation(@RequestBody SelectedItemsRequest selectedItems) {
143-
final ControllerAssistant controllerAssistant = new ControllerAssistant() {};
144-
RequestContext requestContext = RequestUtils.parseHTTPRequest(request);
145-
LogEntryState state = LogEntryState.SUCCESS;
146-
147-
try {
148-
// check user permissions
149-
controllerAssistant.checkRoles(requestContext.getUser());
150-
151-
// delegate
152-
return disposalConfirmationService.permanentlyDeleteRecordsInDisposalConfirmation(requestContext.getUser(),
153-
CommonServicesUtils.convertSelectedItems(selectedItems, DisposalConfirmation.class));
154-
} catch (AuthorizationDeniedException e) {
155-
state = LogEntryState.UNAUTHORIZED;
156-
throw new RESTException(e);
157-
} catch (RODAException e) {
158-
state = LogEntryState.FAILURE;
159-
throw new RESTException(e);
160-
} finally {
161-
// register action
162-
controllerAssistant.registerAction(requestContext, state, RodaConstants.CONTROLLER_SELECTED_PARAM, selectedItems);
163-
}
133+
return requestHandler.processRequestWithTransaction(new RequestHandler.RequestProcessor<Job>() {
134+
@Override
135+
public Job process(RequestContext requestContext, RequestControllerAssistant controllerAssistant)
136+
throws RODAException, RESTException, IOException {
137+
controllerAssistant.setParameters(RodaConstants.CONTROLLER_SELECTED_PARAM, selectedItems);
138+
139+
// delegate
140+
return disposalConfirmationService.permanentlyDeleteRecordsInDisposalConfirmation(requestContext.getUser(),
141+
CommonServicesUtils.convertSelectedItems(selectedItems, DisposalConfirmation.class));
142+
}
143+
});
164144
}
165145

166146
@Override
167147
public Job restoreDisposalConfirmation(@RequestBody SelectedItemsRequest selectedItems) {
168-
final ControllerAssistant controllerAssistant = new ControllerAssistant() {};
169-
RequestContext requestContext = RequestUtils.parseHTTPRequest(request);
170-
LogEntryState state = LogEntryState.SUCCESS;
171-
172-
try {
173-
// check user permissions
174-
controllerAssistant.checkRoles(requestContext.getUser());
175-
176-
// delegate
177-
return disposalConfirmationService.restoreRecordsInDisposalConfirmation(requestContext.getUser(),
178-
CommonServicesUtils.convertSelectedItems(selectedItems, DisposalConfirmation.class));
179-
} catch (AuthorizationDeniedException e) {
180-
state = LogEntryState.UNAUTHORIZED;
181-
throw new RESTException(e);
182-
} catch (GenericException | NotFoundException | RequestNotValidException e) {
183-
state = LogEntryState.FAILURE;
184-
throw new RESTException(e);
185-
} finally {
186-
// register action
187-
controllerAssistant.registerAction(requestContext, state, RodaConstants.CONTROLLER_SELECTED_PARAM, selectedItems);
188-
}
148+
return requestHandler.processRequestWithTransaction(new RequestHandler.RequestProcessor<Job>() {
149+
@Override
150+
public Job process(RequestContext requestContext, RequestControllerAssistant controllerAssistant)
151+
throws RODAException, RESTException, IOException {
152+
controllerAssistant.setParameters(RodaConstants.CONTROLLER_SELECTED_PARAM, selectedItems);
153+
154+
// delegate
155+
return disposalConfirmationService.restoreRecordsInDisposalConfirmation(requestContext.getUser(),
156+
CommonServicesUtils.convertSelectedItems(selectedItems, DisposalConfirmation.class));
157+
}
158+
});
189159
}
190160

191161
@Override
192162
public Job deleteDisposalConfirmation(@RequestBody SelectedItemsRequest selectedItems, String details) {
193-
ControllerAssistant controllerAssistant = new ControllerAssistant() {};
194-
RequestContext requestContext = RequestUtils.parseHTTPRequest(request);
195-
LogEntryState state = LogEntryState.SUCCESS;
196-
197-
try {
198-
// check user permissions
199-
controllerAssistant.checkRoles(requestContext.getUser());
200-
201-
// delegate
202-
return disposalConfirmationService.deleteDisposalConfirmation(requestContext.getUser(),
203-
CommonServicesUtils.convertSelectedItems(selectedItems, DisposalConfirmation.class), details);
204-
} catch (AuthorizationDeniedException e) {
205-
state = LogEntryState.UNAUTHORIZED;
206-
throw new RESTException(e);
207-
} catch (RODAException e) {
208-
state = LogEntryState.FAILURE;
209-
throw new RESTException(e);
210-
} finally {
211-
// register action
212-
controllerAssistant.registerAction(requestContext, state, RodaConstants.CONTROLLER_SELECTED_PARAM, selectedItems);
213-
}
163+
return requestHandler.processRequestWithTransaction(new RequestHandler.RequestProcessor<Job>() {
164+
@Override
165+
public Job process(RequestContext requestContext, RequestControllerAssistant controllerAssistant)
166+
throws RODAException, RESTException, IOException {
167+
controllerAssistant.setParameters(RodaConstants.CONTROLLER_SELECTED_PARAM, selectedItems);
168+
169+
// delegate
170+
return disposalConfirmationService.deleteDisposalConfirmation(requestContext.getUser(),
171+
CommonServicesUtils.convertSelectedItems(selectedItems, DisposalConfirmation.class), details);
172+
}
173+
});
214174
}
215175

216176
@Override

0 commit comments

Comments
 (0)