class ProductResource extends AbstractResource {

    @GET
    @Path("/{name}" + ServerAPI.GET_DELIVERIES+"/{commercialName}"+"/{commercialVersion}")
    @Produces(MediaType.APPLICATION_JSON)
    public Response getDelivery(@PathParam("name") final String name, @PathParam("commercialName") final String commercialName, @PathParam("commercialVersion") final String commercialVersion) {
        if(LOG.isInfoEnabled()) {
            LOG.info(String.format("Got a get delivery request for product [%s] [%s]", name, commercialName));
        }

        final DbProduct dbProduct = getProductHandler().getProduct(name);

        final Delivery delivery = dbProduct.getDelivery(commercialName, commercialVersion);
        if (delivery == null) {
            throw new WebApplicationException(Response.serverError().status(HttpStatus.NOT_FOUND_404)
                    .entity(String.format(DELIVERY_MSG_TEMPLATE, commercialName, commercialVersion, " does not exist for product ", name)).build());
        }

        return Response.ok(delivery).build();
    }

    public  ProductResource(final RepositoryHandler repositoryHandler, final GrapesServerConfig configuration);

}