diff options
author | Teemu Suo-Anttila <teemusa@vaadin.com> | 2015-01-19 14:47:22 +0200 |
---|---|---|
committer | Teemu Suo-Anttila <teemusa@vaadin.com> | 2015-01-19 14:59:51 +0200 |
commit | b0466a2c59a46414b9af1a90bf97715b4b247536 (patch) | |
tree | 7757d3d041db832dfab12960d7718d985fa6a719 | |
parent | 7ddaaae38498e4b080f39e8fd751c4a3e2d0fb43 (diff) | |
download | vaadin-framework-b0466a2c59a46414b9af1a90bf97715b4b247536.tar.gz vaadin-framework-b0466a2c59a46414b9af1a90bf97715b4b247536.zip |
Fix Grid trying to sort Container that is not Sortable (#16311)
Change-Id: I0159a068549d563f8d1b8378730a383f14700353
-rw-r--r-- | server/src/com/vaadin/ui/Grid.java | 6 | ||||
-rw-r--r-- | server/tests/src/com/vaadin/tests/server/component/grid/GridContainerNotSortableTest.java | 56 |
2 files changed, 58 insertions, 4 deletions
diff --git a/server/src/com/vaadin/ui/Grid.java b/server/src/com/vaadin/ui/Grid.java index bddbd7c731..4a1952fe67 100644 --- a/server/src/com/vaadin/ui/Grid.java +++ b/server/src/com/vaadin/ui/Grid.java @@ -2858,10 +2858,8 @@ public class Grid extends AbstractComponent implements SelectionNotifier, sort(false); } else { - - // If the new container is not sortable, we'll just re-set the sort - // order altogether. - clearSortOrder(); + // Clear sorting order. Don't sort. + sortOrder.clear(); } datasourceExtension = new RpcDataProviderExtension(container); diff --git a/server/tests/src/com/vaadin/tests/server/component/grid/GridContainerNotSortableTest.java b/server/tests/src/com/vaadin/tests/server/component/grid/GridContainerNotSortableTest.java new file mode 100644 index 0000000000..38b1d09897 --- /dev/null +++ b/server/tests/src/com/vaadin/tests/server/component/grid/GridContainerNotSortableTest.java @@ -0,0 +1,56 @@ +/* + * Copyright 2000-2014 Vaadin Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ +package com.vaadin.tests.server.component.grid; + +import java.util.Collection; +import java.util.Collections; + +import org.junit.Test; + +import com.vaadin.data.Item; +import com.vaadin.data.Property; +import com.vaadin.data.util.AbstractInMemoryContainer; +import com.vaadin.ui.Grid; + +public class GridContainerNotSortableTest { + + @Test + public void testGridWithNotSortableContainer() { + new Grid(new AbstractInMemoryContainer<Object, Object, Item>() { + + @Override + public Collection<?> getContainerPropertyIds() { + return Collections.EMPTY_LIST; + } + + @Override + public Property getContainerProperty(Object itemId, + Object propertyId) { + return null; + } + + @Override + public Class<?> getType(Object propertyId) { + return null; + } + + @Override + protected Item getUnfilteredItem(Object itemId) { + return null; + } + }); + } +} |