private <T> Set<Resource> prefixResources(String prefix, Set<Class<? extends T>> resources) { final String pathPrefix = prefix.endsWith("/") ? prefix.substring(0, prefix.length() - 1) : prefix; return resources .stream() .map(resource -> { final javax.ws.rs.Path pathAnnotation = Resource.getPath(resource); final String resourcePathSuffix = Strings.nullToEmpty(pathAnnotation.value()); final String resourcePath = resourcePathSuffix.startsWith("/") ? pathPrefix + resourcePathSuffix : pathPrefix + "/" + resourcePathSuffix; return Resource .builder(resource) .path(resourcePath) .build(); }) .collect(Collectors.toSet()); }
@Override public ResourceModel processResourceModel(ResourceModel model, Configuration config) { // Create new resource model. final ResourceModel.Builder resourceModelBuilder = new ResourceModel.Builder(false); for (final Resource resource : model.getResources()) { for (Class handlerClass : resource.getHandlerClasses()) { final String packageName = handlerClass.getPackage().getName(); final Optional<String> packagePrefix = packagePrefixes.entrySet().stream() .filter(entry -> packageName.startsWith(entry.getKey())) .sorted((o1, o2) -> -o1.getKey().compareTo(o2.getKey())) .map(Map.Entry::getValue) .findFirst(); if (packagePrefix.isPresent()) { final String prefixedPath = prefixPath(packagePrefix.get(), resource.getPath()); final Resource newResource = Resource.builder(resource) .path(prefixedPath) .build(); resourceModelBuilder.addResource(newResource); } else { resourceModelBuilder.addResource(resource); } } } return resourceModelBuilder.build(); }
if (builder == null) { builder = org.glassfish.jersey.server.model.Resource.builder().path(resource.getPath());
@Inject DynamicCypherResource(CypherInflectorFactory factory, @Assisted String pathName, @Assisted Path path) { logger.info("Building dynamic resource at " + pathName); resourceBuilder.path(pathName); ResourceMethod.Builder methodBuilder = resourceBuilder.addMethod("GET"); methodBuilder.produces( MediaType.APPLICATION_JSON_TYPE, CustomMediaTypes.APPLICATION_JSONP_TYPE, CustomMediaTypes.APPLICATION_GRAPHSON_TYPE, MediaType.APPLICATION_XML_TYPE, CustomMediaTypes.APPLICATION_GRAPHML_TYPE, CustomMediaTypes.APPLICATION_XGMML_TYPE, CustomMediaTypes.TEXT_GML_TYPE, CustomMediaTypes.TEXT_CSV_TYPE, CustomMediaTypes.TEXT_TSV_TYPE, CustomMediaTypes.IMAGE_JPEG_TYPE, CustomMediaTypes.IMAGE_PNG_TYPE) .handledBy(factory.create(pathName, path)); }
private Builder(final String path) { this((Resource.Builder) null); path(path); }
private void enableSwaggerYAML(Swagger swagger, List<String> swaggerProcessors) { final Resource.Builder builder = Resource.builder(); builder.path(basePath(originalBasePath, StringUtils.appendIfMissing(config.getSwaggerBase(), "/") + "swagger.yaml")) .addMethod(HttpMethod.GET) .produces("application/yaml") .handledBy(new SwaggerResourceController(swagger, swaggerProcessors)) .build(); registerResources(builder.build()); }
private void enableSwaggerJSON(Swagger swagger, List<String> swaggerProcessors) { final Resource.Builder builder = Resource.builder(); builder.path(basePath(originalBasePath, StringUtils.appendIfMissing(config.getSwaggerBase(), "/") + "swagger.json")) .addMethod(HttpMethod.GET) .produces(MediaType.APPLICATION_JSON) .handledBy(new SwaggerResourceController(swagger, swaggerProcessors)) .build(); registerResources(builder.build()); }
@Override public ResourceModel processResourceModel(ResourceModel resourceModel, final Configuration configuration) { ResourceModel.Builder resourceModelBuilder = new ResourceModel.Builder(resourceModel, false); Resource.Builder resourceBuilder = Resource.builder(DsStatViewResource.class); resourceBuilder.path(dsPath); Resource resource = resourceBuilder.build(); resourceModelBuilder.addResource(resource); return resourceModelBuilder.build(); }
private Builder(final String path) { this((Resource.Builder) null); path(path); }
private void enableSwaggerJSON(Swagger swagger, List<String> swaggerProcessors) { final Resource.Builder builder = Resource.builder(); builder.path(basePath(originalBasePath, StringUtils.appendIfMissing(config.getSwaggerBase(), "/") + "swagger.json")) .addMethod(HttpMethod.GET) .produces(MediaType.APPLICATION_JSON) .handledBy(new SwaggerResourceController(swagger, swaggerProcessors)) .build(); registerResources(builder.build()); }
private void enableSwaggerYAML(Swagger swagger, List<String> swaggerProcessors) { final Resource.Builder builder = Resource.builder(); builder.path(basePath(originalBasePath, StringUtils.appendIfMissing(config.getSwaggerBase(), "/") + "swagger.yaml")) .addMethod(HttpMethod.GET) .produces("application/yaml") .handledBy(new SwaggerResourceController(swagger, swaggerProcessors)) .build(); registerResources(builder.build()); }
if (builder == null) { builder = org.glassfish.jersey.server.model.Resource.builder().path(resource.getPath());
private Builder(final String path) { this((Resource.Builder) null); path(path); }
private Resource createResource(EndpointMapping endpointMapping, WebOperation operation) { WebOperationRequestPredicate requestPredicate = operation.getRequestPredicate(); Builder resourceBuilder = Resource.builder() .path(endpointMapping.createSubPath(requestPredicate.getPath())); resourceBuilder.addMethod(requestPredicate.getHttpMethod().name()) .consumes(StringUtils.toStringArray(requestPredicate.getConsumes())) .produces(StringUtils.toStringArray(requestPredicate.getProduces())) .handledBy(new OperationInflector(operation, !requestPredicate.getConsumes().isEmpty())); return resourceBuilder.build(); }
private Resource createEndpointLinksResource(String endpointPath, EndpointMediaTypes endpointMediaTypes, EndpointLinksResolver linksResolver) { Builder resourceBuilder = Resource.builder().path(endpointPath); resourceBuilder.addMethod("GET") .produces(StringUtils.toStringArray(endpointMediaTypes.getProduced())) .handledBy(new EndpointLinksInflector(linksResolver)); return resourceBuilder.build(); }
if (builder == null) { builder = org.glassfish.jersey.server.model.Resource.builder().path(resource.getPath());
@Override public void visitResourceMethod(final ResourceMethod resourceMethod) { if (resourceMethod.isExtended()) { return; } if (ResourceMethod.JaxrsType.SUB_RESOURCE_LOCATOR.equals(resourceMethod.getType())) { if (resourceMethod.getInvocable() != null) { final Invocable i = resourceMethod.getInvocable(); final Type type = i.getResponseType(); final StringBuilder template = getTemplate(); mappings.put((Class) type, getMapping(template)); // Process sub resources ? Resource.Builder builder = Resource .builder(i.getRawResponseType()); if (builder == null) { // for example in the case the return type of the sub resource locator is Object builder = Resource.builder().path(resourceMethod.getParent().getPath()); } final Resource subResource = builder.build(); visitChildResource(subResource); } } processComponents(resourceMethod); }
private Builder(final String path) { this((Resource.Builder) null); path(path); }
private Builder(final String path) { this((Resource.Builder) null); path(path); }