private void processTransferredResource(ModelService model, Report report, JobPluginInfo pluginInfo, Job job,
TransferredResource transferredResource) {
Report reportItem = PluginHelper.initPluginReportItem(this, transferredResource);
PluginHelper.updatePartialJobReport(this, model, reportItem, false, job);
try {
LOGGER.debug("Removing SIP {}", transferredResource.getFullPath());
model.deleteTransferredResource(transferredResource);
LOGGER.debug("Done with removing SIP {}", transferredResource.getFullPath());
if (createEvent) {
model.createRepositoryEvent(PreservationEventType.DELETION,
"The process of deleting an object of the repository", PluginState.SUCCESS,
"The transferred resource " + transferredResource.getId() + " has been deleted.", "", job.getUsername(),
true);
}
pluginInfo.incrementObjectsProcessedWithSuccess();
} catch (RuntimeException | GenericException | AuthorizationDeniedException e) {
if (createEvent) {
model.createRepositoryEvent(PreservationEventType.DELETION,
"The process of deleting an object of the repository", PluginState.SUCCESS,
"The transferred resource " + transferredResource.getId() + " has not been deleted.", "", job.getUsername(),
true);
}
pluginInfo.incrementObjectsProcessedWithFailure();
reportItem.setPluginState(PluginState.FAILURE).setPluginDetails(e.getMessage());
LOGGER.error("Error removing transferred resource " + transferredResource.getFullPath(), e);
}
report.addReport(reportItem);
PluginHelper.updatePartialJobReport(this, model, reportItem, true, job);
}