@Test public void should_return_ok_when__request_item_no_offset() throws DatabaseException { LogbookReconstructionResource reconstructionResource = new LogbookReconstructionResource(reconstructionService); assertThatCode(() -> reconstructionResource.reconstructCollection(null)) .isInstanceOf(IllegalArgumentException.class); }
@Path(RECONSTRUCTION_OPERATIONS_URI) @POST @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON) @VitamAuthentication(authentLevel = AuthenticationLevel.BASIC_AUTHENT) public Response reconstructCollection(List<ReconstructionRequestItem> reconstructionItems) { ParametersChecker.checkParameter(RECONSTRUCTION_JSON_MONDATORY_PARAMETERS_MSG, reconstructionItems); List<ReconstructionResponseItem> responses = new ArrayList<>(); if (!reconstructionItems.isEmpty()) { LOGGER.debug(String .format("Starting reconstruction Vitam service with the json parameters : (%s)", reconstructionItems)); reconstructionItems.forEach(item -> { LOGGER.debug(String.format( "Starting reconstruction for the collection {%s} on the tenant (%s) with (%s) elements", LogbookCollections.OPERATION.name(), item.getTenant(), item.getLimit())); try { responses.add(reconstructionService.reconstruct(item)); } catch (DatabaseException | IllegalArgumentException e) { LOGGER.error(RECONSTRUCTION_EXCEPTION_MSG, e); responses.add(new ReconstructionResponseItem(item, StatusCode.KO)); } }); } return Response.ok().entity(responses).build(); }
LogbookReconstructionResource { @Path(RECONSTRUCTION_OPERATIONS_URI) @POST @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON) @VitamAuthentication(authentLevel = AuthenticationLevel.BASIC_AUTHENT) public Response reconstructCollection(List<ReconstructionRequestItem> reconstructionItems) { ParametersChecker.checkParameter(RECONSTRUCTION_JSON_MONDATORY_PARAMETERS_MSG, reconstructionItems); List<ReconstructionResponseItem> responses = new ArrayList<>(); if (!reconstructionItems.isEmpty()) { LOGGER.debug(String .format("Starting reconstruction Vitam service with the json parameters : (%s)", reconstructionItems)); reconstructionItems.forEach(item -> { LOGGER.debug(String.format( "Starting reconstruction for the collection {%s} on the tenant (%s) with (%s) elements", LogbookCollections.OPERATION.name(), item.getTenant(), item.getLimit())); try { responses.add(reconstructionService.reconstruct(item)); } catch (DatabaseException | IllegalArgumentException e) { LOGGER.error(RECONSTRUCTION_EXCEPTION_MSG, e); responses.add(new ReconstructionResponseItem(item, StatusCode.KO)); } }); } return Response.ok().entity(responses).build(); } }
LogbookReconstructionResource { @Path(RECONSTRUCTION_OPERATIONS_URI) @POST @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON) @VitamAuthentication(authentLevel = AuthenticationLevel.BASIC_AUTHENT) public Response reconstructCollection(List<ReconstructionRequestItem> reconstructionItems) { ParametersChecker.checkParameter(RECONSTRUCTION_JSON_MONDATORY_PARAMETERS_MSG, reconstructionItems); List<ReconstructionResponseItem> responses = new ArrayList<>(); if (!reconstructionItems.isEmpty()) { LOGGER.debug(String .format("Starting reconstruction Vitam service with the json parameters : (%s)", reconstructionItems)); reconstructionItems.forEach(item -> { LOGGER.debug(String.format( "Starting reconstruction for the collection {%s} on the tenant (%s) with (%s) elements", LogbookCollections.OPERATION.name(), item.getTenant(), item.getLimit())); try { responses.add(reconstructionService.reconstruct(item)); } catch (DatabaseException | IllegalArgumentException e) { LOGGER.error(RECONSTRUCTION_EXCEPTION_MSG, e); responses.add(new ReconstructionResponseItem(item, StatusCode.KO)); } }); } return Response.ok().entity(responses).build(); } LogbookReconstructionResource(
        VitamRepositoryProvider vitamRepositoryProvider,
        OffsetRepository offsetRepository); @VisibleForTesting  LogbookReconstructionResource(ReconstructionService reconstructionService); }
LogbookReconstructionResource { @Path(RECONSTRUCTION_OPERATIONS_URI) @POST @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON) @VitamAuthentication(authentLevel = AuthenticationLevel.BASIC_AUTHENT) public Response reconstructCollection(List<ReconstructionRequestItem> reconstructionItems) { ParametersChecker.checkParameter(RECONSTRUCTION_JSON_MONDATORY_PARAMETERS_MSG, reconstructionItems); List<ReconstructionResponseItem> responses = new ArrayList<>(); if (!reconstructionItems.isEmpty()) { LOGGER.debug(String .format("Starting reconstruction Vitam service with the json parameters : (%s)", reconstructionItems)); reconstructionItems.forEach(item -> { LOGGER.debug(String.format( "Starting reconstruction for the collection {%s} on the tenant (%s) with (%s) elements", LogbookCollections.OPERATION.name(), item.getTenant(), item.getLimit())); try { responses.add(reconstructionService.reconstruct(item)); } catch (DatabaseException | IllegalArgumentException e) { LOGGER.error(RECONSTRUCTION_EXCEPTION_MSG, e); responses.add(new ReconstructionResponseItem(item, StatusCode.KO)); } }); } return Response.ok().entity(responses).build(); } LogbookReconstructionResource(
        VitamRepositoryProvider vitamRepositoryProvider,
        OffsetRepository offsetRepository); @VisibleForTesting  LogbookReconstructionResource(ReconstructionService reconstructionService); @Path(RECONSTRUCTION_OPERATIONS_URI) @POST @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON) @VitamAuthentication(authentLevel = AuthenticationLevel.BASIC_AUTHENT) Response reconstructCollection(List<ReconstructionRequestItem> reconstructionItems); }
LogbookReconstructionResource { @Path(RECONSTRUCTION_OPERATIONS_URI) @POST @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON) @VitamAuthentication(authentLevel = AuthenticationLevel.BASIC_AUTHENT) public Response reconstructCollection(List<ReconstructionRequestItem> reconstructionItems) { ParametersChecker.checkParameter(RECONSTRUCTION_JSON_MONDATORY_PARAMETERS_MSG, reconstructionItems); List<ReconstructionResponseItem> responses = new ArrayList<>(); if (!reconstructionItems.isEmpty()) { LOGGER.debug(String .format("Starting reconstruction Vitam service with the json parameters : (%s)", reconstructionItems)); reconstructionItems.forEach(item -> { LOGGER.debug(String.format( "Starting reconstruction for the collection {%s} on the tenant (%s) with (%s) elements", LogbookCollections.OPERATION.name(), item.getTenant(), item.getLimit())); try { responses.add(reconstructionService.reconstruct(item)); } catch (DatabaseException | IllegalArgumentException e) { LOGGER.error(RECONSTRUCTION_EXCEPTION_MSG, e); responses.add(new ReconstructionResponseItem(item, StatusCode.KO)); } }); } return Response.ok().entity(responses).build(); } LogbookReconstructionResource(
        VitamRepositoryProvider vitamRepositoryProvider,
        OffsetRepository offsetRepository); @VisibleForTesting  LogbookReconstructionResource(ReconstructionService reconstructionService); @Path(RECONSTRUCTION_OPERATIONS_URI) @POST @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON) @VitamAuthentication(authentLevel = AuthenticationLevel.BASIC_AUTHENT) Response reconstructCollection(List<ReconstructionRequestItem> reconstructionItems);  }