@RequestMapping(value = "/resource/available/{field}", method = RequestMethod.GET) @ResponseBody public Set<String> availableField(@PathVariable String field, @RequestParam String term) { Set<String> strings = new TreeSet<>(); switch (field) { case "name": List<Content> contents = cmsLiteService.getAllContents(); for (Content content : contents) { if (startsWith(content.getName(), term)) { strings.add(content.getName()); } } break; case "language": for (Locale locale : getAvailableLocales()) { if (startsWithIgnoreCase(locale.getDisplayLanguage(), term)) { strings.add(locale.getDisplayLanguage()); } } break; default: } return strings; }
@RequestMapping(value = "/resource", method = RequestMethod.GET) @ResponseBody public Resources getContents(GridSettings settings) { List<Content> contents = cmsLiteService.getAllContents(); List<ResourceDto> resourceDtos = ResourceFilter.filter(settings, contents); Collections.sort(resourceDtos, new ResourceComparator(settings)); return new Resources(settings, resourceDtos); }
@RequestMapping(value = "/resource/all/languages", method = RequestMethod.GET) @ResponseBody public Set<String> getAllLanguages() throws ContentNotFoundException { List<Content> contents = cmsLiteService.getAllContents(); Set<String> strings = new TreeSet<>(); for (Content content : contents) { strings.add(content.getLanguage()); } return strings; }