Search in sources :

Example 6 with ArticleRevisionIdentifier

use of org.ambraproject.rhino.identity.ArticleRevisionIdentifier in project rhino by PLOS.

the class ArticleCrudController method patchSyndication.

@RequestMapping(value = "/articles/{doi}/revisions/{number}/syndications", method = RequestMethod.PATCH)
@ApiImplicitParam(name = "body", paramType = "body", dataType = "SyndicationInputView", value = "example: {\"targetQueue\": \"activemq:plos.pmc\", \"status\": \"FAILURE\", \"errorMessage\": \"failed\"}")
public ResponseEntity<?> patchSyndication(HttpServletRequest request, @PathVariable("doi") String doi, @PathVariable("number") int revisionNumber) throws IOException {
    ArticleRevisionIdentifier revisionId = ArticleRevisionIdentifier.create(DoiEscaping.unescape(doi), revisionNumber);
    SyndicationInputView input = readJsonFromRequest(request, SyndicationInputView.class);
    Syndication patched = syndicationCrudService.updateSyndication(revisionId, input.getTargetQueue(), input.getStatus(), input.getErrorMessage());
    return ServiceResponse.serveView(new SyndicationView(patched)).asJsonResponse(entityGson);
}
Also used : SyndicationView(org.ambraproject.rhino.view.article.SyndicationView) ArticleRevisionIdentifier(org.ambraproject.rhino.identity.ArticleRevisionIdentifier) SyndicationInputView(org.ambraproject.rhino.view.article.SyndicationInputView) Syndication(org.ambraproject.rhino.model.Syndication) ApiImplicitParam(com.wordnik.swagger.annotations.ApiImplicitParam) RequestMapping(org.springframework.web.bind.annotation.RequestMapping)

Aggregations

ArticleRevisionIdentifier (org.ambraproject.rhino.identity.ArticleRevisionIdentifier)6 RequestMapping (org.springframework.web.bind.annotation.RequestMapping)6 Syndication (org.ambraproject.rhino.model.Syndication)4 SyndicationView (org.ambraproject.rhino.view.article.SyndicationView)4 ApiImplicitParam (com.wordnik.swagger.annotations.ApiImplicitParam)3 SyndicationInputView (org.ambraproject.rhino.view.article.SyndicationInputView)3 Transactional (org.springframework.transaction.annotation.Transactional)2 ApiOperation (com.wordnik.swagger.annotations.ApiOperation)1 ArticleIdentifier (org.ambraproject.rhino.identity.ArticleIdentifier)1 ArticleIngestionIdentifier (org.ambraproject.rhino.identity.ArticleIngestionIdentifier)1 ArticleRevision (org.ambraproject.rhino.model.ArticleRevision)1 ResponseEntity (org.springframework.http.ResponseEntity)1