@RequestMapping(value="/catalog/extended/courses", method=RequestMethod.GET)
public String list(Principal currentUser, Model model, Locale locale,
@RequestParam(defaultValue="1", required=false) Integer page, @RequestParam(defaultValue="", required=false) String order) {
try {
String ordering = order != null && !("").equals(order) ? order : "title";
MediationService mediationService =
this.serviceLocator.getTransversalService().getMediationServiceByUser(currentUser.getName());
PageManager<ExtendedCourse> paginator = new PageManager<ExtendedCourse>();
paginator.setOffset(this.getPageSize());
paginator.setUrlBase("/" + locale.getLanguage()+ "/dashboard/mediator/catalog/extended/courses");
paginator.setStart((page-1)*paginator.getOffset());
paginator.setSize(this.serviceLocator.getExtendedCourseService().countCoursesByOwner(mediationService.getId()));
paginator.setCollection(this.serviceLocator.getExtendedCourseService().getCoursesByOwner(mediationService.getId(), ordering, locale,
paginator.getStart(), paginator.getEnd()));
model.addAttribute("paginator", paginator);
model.addAttribute("order", ordering);
} catch(Exception e) {
LOGGER.severe(StackTraceUtil.getStackTrace(e));