package edu.harvard.iq.dataverse.api; import edu.harvard.iq.dataverse.MetadataBlock; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.Response; import static edu.harvard.iq.dataverse.util.json.JsonPrinter.brief; import javax.ws.rs.PathParam; import static edu.harvard.iq.dataverse.util.json.JsonPrinter.json; import static edu.harvard.iq.dataverse.util.json.JsonPrinter.toJsonArray; /** * Api bean for managing metadata blocks. * @author michael */ @Path("metadatablocks") @Produces("application/json") public class MetadataBlocks extends AbstractApiBean { @GET public Response list() { return ok(metadataBlockSvc.listMetadataBlocks().stream().map(brief::json).collect(toJsonArray())); } @Path("{identifier}") @GET public Response getBlock( @PathParam("identifier") String idtf ) { MetadataBlock b = findMetadataBlock(idtf); return (b != null ) ? ok(json(b)) : notFound("Can't find metadata block '" + idtf + "'"); } }