/** * Return a JSON representation of bcids metadata * * @param bcidId * @return */ @GET @Path("/metadata/{bcidId}") @Produces(MediaType.APPLICATION_JSON) public Response run(@PathParam("bcidId") Integer bcidId) { String response; String username = null; if (user != null) { username = user.getUsername(); } try { Bcid bcid = bcidService.getBcid(bcidId); BcidMetadataSchema bcidMetadataSchema = new BcidMetadataSchema( bcid, settingsManager, new Identifier( String.valueOf(bcid.getIdentifier()), settingsManager.retrieveValue("divider"))); JSONRenderer renderer = new JSONRenderer(username, bcid, bcidMetadataSchema, settingsManager); response = renderer.render(); } catch (EmptyResultDataAccessException e) { response = "{\"Identifier\":{\"status\":\"not found\"}}"; } return Response.ok(response).build(); }