diff options
-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; + } + }); + } +} |