use of com.webcohesion.enunciate.modules.spring_web.api.impl.PathBasedResourceGroupImpl in project enunciate by stoicflame.
the class EnunciateSpringWebContext method getResourceGroupsByPath.
public List<ResourceGroup> getResourceGroupsByPath(ApiRegistrationContext registrationContext) {
Map<String, PathBasedResourceGroupImpl> resourcesByPath = new HashMap<String, PathBasedResourceGroupImpl>();
FacetFilter facetFilter = registrationContext.getFacetFilter();
for (SpringController springController : controllers) {
if (!facetFilter.accept(springController)) {
continue;
}
for (RequestMapping method : springController.getRequestMappings()) {
if (facetFilter.accept(method)) {
String path = method.getFullpath();
PathBasedResourceGroupImpl resourceGroup = resourcesByPath.get(path);
if (resourceGroup == null) {
resourceGroup = new PathBasedResourceGroupImpl(relativeContextPath, path, new ArrayList<Resource>());
resourcesByPath.put(path, resourceGroup);
}
resourceGroup.getResources().add(new ResourceImpl(method, resourceGroup, registrationContext));
}
}
}
ArrayList<ResourceGroup> resourceGroups = new ArrayList<ResourceGroup>(resourcesByPath.values());
Collections.sort(resourceGroups, new ResourceGroupComparator(this.pathSortStrategy));
return resourceGroups;
}
Aggregations