From 4199c61830702fc63f4dc7c996dddddf699481e3 Mon Sep 17 00:00:00 2001 From: srosse <none@none> Date: Wed, 8 Feb 2017 08:58:21 +0100 Subject: [PATCH] OO-2509: ctach the exception and write some infos --- .../ui/AbstractPageListController.java | 2 +- .../portfolio/ui/PageListDataModel.java | 22 +++++++++++++++---- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/olat/modules/portfolio/ui/AbstractPageListController.java b/src/main/java/org/olat/modules/portfolio/ui/AbstractPageListController.java index c762047e545..ae246343c2d 100644 --- a/src/main/java/org/olat/modules/portfolio/ui/AbstractPageListController.java +++ b/src/main/java/org/olat/modules/portfolio/ui/AbstractPageListController.java @@ -211,7 +211,7 @@ implements Activateable2, TooledController, FlexiTableComponentDelegate { columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(PageCols.comment)); } - model = new PageListDataModel(columnsModel); + model = new PageListDataModel(columnsModel, getLocale()); String mapperThumbnailUrl = registerCacheableMapper(ureq, "page-list", new PageImageMapper(model, portfolioService)); tableEl = uifactory.addTableElement(getWindowControl(), "table", model, 20, false, getTranslator(), formLayout); diff --git a/src/main/java/org/olat/modules/portfolio/ui/PageListDataModel.java b/src/main/java/org/olat/modules/portfolio/ui/PageListDataModel.java index 0f59b901cb0..94981638d62 100644 --- a/src/main/java/org/olat/modules/portfolio/ui/PageListDataModel.java +++ b/src/main/java/org/olat/modules/portfolio/ui/PageListDataModel.java @@ -23,6 +23,7 @@ import java.util.ArrayList; import java.util.Date; import java.util.HashSet; import java.util.List; +import java.util.Locale; import java.util.Set; import org.olat.core.commons.persistence.SortKey; @@ -30,6 +31,8 @@ import org.olat.core.gui.components.form.flexible.impl.elements.table.DefaultFle import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiSortableColumnDef; import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableColumnModel; import org.olat.core.gui.components.form.flexible.impl.elements.table.SortableFlexiTableDataModel; +import org.olat.core.logging.OLog; +import org.olat.core.logging.Tracing; import org.olat.modules.portfolio.Section; import org.olat.modules.portfolio.ui.model.PortfolioElementRow; @@ -42,16 +45,27 @@ import org.olat.modules.portfolio.ui.model.PortfolioElementRow; public class PageListDataModel extends DefaultFlexiTableDataModel<PortfolioElementRow> implements SortableFlexiTableDataModel<PortfolioElementRow> { + private static final OLog log = Tracing.createLoggerFor(PageListDataModel.class); + + private final Locale locale; private List<PortfolioElementRow> backup; - public PageListDataModel(FlexiTableColumnModel columnModel) { + + public PageListDataModel(FlexiTableColumnModel columnModel, Locale locale) { super(columnModel); + this.locale = locale; } @Override public void sort(SortKey orderBy) { - PageListSortableDataModelDelegate sorter = new PageListSortableDataModelDelegate(orderBy, this, null); - List<PortfolioElementRow> rows = sorter.sort(); + PageListSortableDataModelDelegate sorter = new PageListSortableDataModelDelegate(orderBy, this, locale); + List<PortfolioElementRow> rows; + try { + rows = sorter.sort(); + } catch (IllegalArgumentException e) { + log.error("Cannot sort with: " + orderBy , e); + return; + } // This say where is the link to create a new entry // if a section has assignments, it's at the end of @@ -195,7 +209,7 @@ public class PageListDataModel extends DefaultFlexiTableDataModel<PortfolioEleme @Override public DefaultFlexiTableDataModel<PortfolioElementRow> createCopyWithEmptyList() { - return new PageListDataModel(getTableColumnModel()); + return new PageListDataModel(getTableColumnModel(), locale); } public enum PageCols implements FlexiSortableColumnDef { -- GitLab