class LogbookResource extends ApplicationStatusResource {

    @GET
    @Path("/raw/objectgrouplifecycles/bylastpersisteddate")
    @Produces(MediaType.APPLICATION_JSON)
    @Consumes(MediaType.APPLICATION_JSON)
    public Response getRawObjectGroupLifecyclesByLastPersistedDate(JsonNode selectionJsonNode) {
        Status status;
        try {

            RawLifecycleByLastPersistedDateRequest request =
                JsonHandler.getFromJsonNode(selectionJsonNode, RawLifecycleByLastPersistedDateRequest.class);

            final List<JsonNode> result =
                logbookLifeCycle
                    .getRawObjectGroupLifecyclesByLastPersistedDate(request.getStartDate(), request.getEndDate(),
                        request.getLimit());

            return Response.status(Status.OK)
                .entity(new RequestResponseOK<JsonNode>()
                    .addAllResults(result)
                    .setHttpCode(Status.OK.getStatusCode()))
                .build();

        } catch (final InvalidParseOperationException exc) {
            LOGGER.error(exc);
            status = Status.PRECONDITION_FAILED;
            return Response.status(status)
                .entity(new VitamError(status.name()).setHttpCode(status.getStatusCode())
                    .setContext(LOGBOOK)
                    .setState("code_vitam")
                    .setMessage(status.getReasonPhrase())
                    .setDescription(exc.getMessage()))
                .build();
        } catch (final IllegalArgumentException exc) {
            LOGGER.error(exc);
            status = Status.BAD_REQUEST;
            return Response.status(status)
                .entity(new VitamError(status.name()).setHttpCode(status.getStatusCode())
                    .setContext(LOGBOOK)
                    .setState("code_vitam")
                    .setMessage(status.getReasonPhrase())
                    .setDescription(exc.getMessage()))
                .build();
        }
    }

    public  LogbookResource(LogbookConfiguration configuration, OntologyLoader ontologyLoader);

}