private List<Resource> findChildResources(Resource parentResource) { final List<Resource> childResources = new ArrayList<>(); for (Resource resource : parentResource.getChildResources()) { childResources.add(resource); childResources.addAll(findChildResources(resource)); } return childResources; }
@Override public List<? extends ResourceModelComponent> getComponents() { List<ResourceModelComponent> components = new LinkedList<>(); components.addAll(getChildResources()); components.addAll(getResourceMethods()); final ResourceMethod resourceLocator = getResourceLocator(); if (resourceLocator != null) { components.add(resourceLocator); } return components; } }
@Override public List<? extends ResourceModelComponent> getComponents() { List<ResourceModelComponent> components = new LinkedList<>(); components.addAll(getChildResources()); components.addAll(getResourceMethods()); final ResourceMethod resourceLocator = getResourceLocator(); if (resourceLocator != null) { components.add(resourceLocator); } return components; } }
private List<EndpointLogLine> logResourceLines(Resource resource, String contextPath) { final List<EndpointLogLine> resourceLines = new ArrayList<>(); for (Resource child : resource.getChildResources()) { resourceLines.addAll(logResourceLines(child, cleanUpPath(contextPath + Strings.nullToEmpty(resource.getPath())))); } resourceLines.addAll(logMethodLines(resource, contextPath)); return resourceLines; }
private List<RuntimeResource.Builder> getRuntimeResources(List<Resource> resources) { Map<String, List<Resource>> regexMap = new HashMap<>(); for (Resource resource : resources) { String path = resource.getPath(); String regex = null; if (path != null) { if (path.endsWith("/")) { path = path.substring(0, path.length() - 1); } regex = new PathTemplate(path).getPattern().getRegex(); } List<Resource> listFromMap = regexMap.get(regex); if (listFromMap == null) { listFromMap = new ArrayList<>(); regexMap.put(regex, listFromMap); } listFromMap.add(resource); } List<RuntimeResource.Builder> runtimeResources = new ArrayList<>(); for (Map.Entry<String, List<Resource>> entry : regexMap.entrySet()) { final List<Resource> resourcesWithSameRegex = entry.getValue(); List<Resource> childResources = new ArrayList<>(); for (final Resource res : resourcesWithSameRegex) { childResources.addAll(res.getChildResources()); } List<RuntimeResource.Builder> childRuntimeResources = getRuntimeResources(childResources); runtimeResources.add(new RuntimeResource.Builder(resourcesWithSameRegex, childRuntimeResources, entry.getKey())); } return runtimeResources; }
private List<RuntimeResource.Builder> getRuntimeResources(List<Resource> resources) { Map<String, List<Resource>> regexMap = new HashMap<>(); for (Resource resource : resources) { String path = resource.getPath(); String regex = null; if (path != null) { if (path.endsWith("/")) { path = path.substring(0, path.length() - 1); } regex = new PathTemplate(path).getPattern().getRegex(); } List<Resource> listFromMap = regexMap.get(regex); if (listFromMap == null) { listFromMap = new ArrayList<>(); regexMap.put(regex, listFromMap); } listFromMap.add(resource); } List<RuntimeResource.Builder> runtimeResources = new ArrayList<>(); for (Map.Entry<String, List<Resource>> entry : regexMap.entrySet()) { final List<Resource> resourcesWithSameRegex = entry.getValue(); List<Resource> childResources = new ArrayList<>(); for (final Resource res : resourcesWithSameRegex) { childResources.addAll(res.getChildResources()); } List<RuntimeResource.Builder> childRuntimeResources = getRuntimeResources(childResources); runtimeResources.add(new RuntimeResource.Builder(resourcesWithSameRegex, childRuntimeResources, entry.getKey())); } return runtimeResources; }
checkResources(resource.getChildResources());
/** * Create a new builder and initialize it from resource model. * * @param resourceModel resource model. */ Builder(final ResourceModel resourceModel) { this(); for (final Resource resource : resourceModel.getRootResources()) { processResource(resource, ""); for (final Resource child : resource.getChildResources()) { final String path = resource.getPath(); processResource(child, path.startsWith("/") ? path : "/" + path); } } }
/** * Create a new builder and initialize it from resource model. * * @param resourceModel resource model. */ Builder(final ResourceModel resourceModel) { this(); for (final Resource resource : resourceModel.getRootResources()) { processResource(resource, ""); for (final Resource child : resource.getChildResources()) { final String path = resource.getPath(); processResource(child, path.startsWith("/") ? path : "/" + path); } } }
private void checkResource(final Resource resource) { if (!resource.getResourceMethods().isEmpty() && resource.getResourceLocator() != null) { Errors.warning(resource, LocalizationMessages.RESOURCE_CONTAINS_RES_METHODS_AND_LOCATOR(resource, resource.getPath())); } if (resource.getPath() != null && resource.getResourceMethods().isEmpty() && resource.getChildResources().isEmpty() && resource.getResourceLocator() == null) { Errors.warning(resource, LocalizationMessages.RESOURCE_EMPTY(resource, resource.getPath())); } }
private void checkResource(final Resource resource) { if (!resource.getResourceMethods().isEmpty() && resource.getResourceLocator() != null) { Errors.warning(resource, LocalizationMessages.RESOURCE_CONTAINS_RES_METHODS_AND_LOCATOR(resource, resource.getPath())); } if (resource.getPath() != null && resource.getResourceMethods().isEmpty() && resource.getChildResources().isEmpty() && resource.getResourceLocator() == null) { Errors.warning(resource, LocalizationMessages.RESOURCE_EMPTY(resource, resource.getPath())); } }
Map<String, Map<String, Param>> wadlSubResourcesParams = new HashMap<>(); for (org.glassfish.jersey.server.model.Resource childResource : resource.getChildResources()) { Resource childWadlResource = generateResource(childResource, childResource.getPath(), visitedResources);
private Resource processResource(Resource resource) { Resource.Builder resourceBuilder = Resource.builder(resource.getPath()); for (ResourceMethod resourceMethod : resource.getResourceMethods()) { ResourceMethod.Builder builder = resourceBuilder.addMethod(resourceMethod); if (resourceMethod.getInvocable().getHandlingMethod().isAnnotationPresent(Template.class)) { builder.routingResponseType(Viewable.class); } } if (resource.getResourceLocator() != null) { resourceBuilder.addMethod(resource.getResourceLocator()); } for (Resource child : resource.getChildResources()) { resourceBuilder.addChildResource(processResource(child)); } return resourceBuilder.build(); }
Map<String, Map<String, Param>> wadlSubResourcesParams = new HashMap<>(); for (org.glassfish.jersey.server.model.Resource childResource : resource.getChildResources()) { Resource childWadlResource = generateResource(childResource, childResource.getPath(), visitedResources);
@Override public List<? extends ResourceModelComponent> getComponents() { List<ResourceModelComponent> components = new LinkedList<>(); components.addAll(getChildResources()); components.addAll(getResourceMethods()); final ResourceMethod resourceLocator = getResourceLocator(); if (resourceLocator != null) { components.add(resourceLocator); } return components; } }
private List<RuntimeResource.Builder> getRuntimeResources(List<Resource> resources) { Map<String, List<Resource>> regexMap = new HashMap<>(); for (Resource resource : resources) { String path = resource.getPath(); String regex = null; if (path != null) { if (path.endsWith("/")) { path = path.substring(0, path.length() - 1); } regex = new PathTemplate(path).getPattern().getRegex(); } List<Resource> listFromMap = regexMap.get(regex); if (listFromMap == null) { listFromMap = new ArrayList<>(); regexMap.put(regex, listFromMap); } listFromMap.add(resource); } List<RuntimeResource.Builder> runtimeResources = new ArrayList<>(); for (Map.Entry<String, List<Resource>> entry : regexMap.entrySet()) { final List<Resource> resourcesWithSameRegex = entry.getValue(); List<Resource> childResources = new ArrayList<>(); for (final Resource res : resourcesWithSameRegex) { childResources.addAll(res.getChildResources()); } List<RuntimeResource.Builder> childRuntimeResources = getRuntimeResources(childResources); runtimeResources.add(new RuntimeResource.Builder(resourcesWithSameRegex, childRuntimeResources, entry.getKey())); } return runtimeResources; }
/** * Create a new builder and initialize it from resource model. * * @param resourceModel resource model. */ Builder(final ResourceModel resourceModel) { this(); for (final Resource resource : resourceModel.getRootResources()) { processResource(resource, ""); for (final Resource child : resource.getChildResources()) { final String path = resource.getPath(); processResource(child, path.startsWith("/") ? path : "/" + path); } } }
private void checkResource(final Resource resource) { if (!resource.getResourceMethods().isEmpty() && resource.getResourceLocator() != null) { Errors.warning(resource, LocalizationMessages.RESOURCE_CONTAINS_RES_METHODS_AND_LOCATOR(resource, resource.getPath())); } if (resource.getPath() != null && resource.getResourceMethods().isEmpty() && resource.getChildResources().isEmpty() && resource.getResourceLocator() == null) { Errors.warning(resource, LocalizationMessages.RESOURCE_EMPTY(resource, resource.getPath())); } }
Map<String, Map<String, Param>> wadlSubResourcesParams = new HashMap<>(); for (org.glassfish.jersey.server.model.Resource childResource : resource.getChildResources()) { Resource childWadlResource = generateResource(childResource, childResource.getPath(), visitedResources);
@Override public List<? extends ResourceModelComponent> getComponents() { List<ResourceModelComponent> components = new LinkedList<>(); components.addAll(getChildResources()); components.addAll(getResourceMethods()); final ResourceMethod resourceLocator = getResourceLocator(); if (resourceLocator != null) { components.add(resourceLocator); } return components; } }