LRein created TAP5-2752: --------------------------- Summary: A Grid doesn't sort if sorting column cointans a dot in the PropertyModel of the Grid. Key: TAP5-2752 URL: https://issues.apache.org/jira/browse/TAP5-2752 Project: Tapestry 5 Issue Type: Bug Components: tapestry-core Affects Versions: 5.8.2 Reporter: LRein
A Grid doesn't sort if the sorting column contains a dot in the PropertyModel of the Grid. This BUG was introduced by fixing an issue TAP5-2689. This actual Code always returns an empty list for columns with a dot within the property name: {code:java} if ((paginationModel == null || paginationModel.getSortColumnId() == null) || !(dataModel.getPropertyNames().contains(TapestryInternalUtils.extractIdFromPropertyExpression(paginationModel.getSortColumnId())))) {return Collections.emptyList();} {code} The correct code was something like that: {code:java} if (paginationModel == null || paginationModel.getSortColumnId() == null || dataModel.getPropertyNames().stream().noneMatch(x -> TapestryInternalUtils.extractIdFromPropertyExpression(x).equals(paginationModel.getSortColumnId()))) { return Collections.emptyList(); } {code} {code:java} public class A { public B b; } public class B { public name; } public class C { public BeanModel<A> getGridModel() { final BeanModel<A> model = beanModelSource.createDisplayModel(A.class, messages); model.include(); model.add("b.name").sortable(true); return model; } } {code} Sorting on column "name" is not working because the property name includes a dot. -- This message was sent by Atlassian Jira (v8.20.10#820010)