diff options
author | Artur Signell <artur@vaadin.com> | 2013-06-18 22:26:23 +0300 |
---|---|---|
committer | Vaadin Code Review <review@vaadin.com> | 2013-09-13 10:08:46 +0000 |
commit | 9b052579ebb6df508fe4195e6562fced7fdf5698 (patch) | |
tree | c2f061a97faa65445c51d2256b3f83b3fa309232 /uitest | |
parent | 4659797e244009b0d0727fe3b469e8f409486e21 (diff) | |
download | vaadin-framework-9b052579ebb6df508fe4195e6562fced7fdf5698.tar.gz vaadin-framework-9b052579ebb6df508fe4195e6562fced7fdf5698.zip |
Test for push with streaming based on Table
Change-Id: I42146b8c0918a65c809bcb55e3930dad5bbb6e6f
Diffstat (limited to 'uitest')
-rw-r--r-- | uitest/src/com/vaadin/tests/push/TablePushStreaming.java | 126 |
1 files changed, 126 insertions, 0 deletions
diff --git a/uitest/src/com/vaadin/tests/push/TablePushStreaming.java b/uitest/src/com/vaadin/tests/push/TablePushStreaming.java new file mode 100644 index 0000000000..de824eef3a --- /dev/null +++ b/uitest/src/com/vaadin/tests/push/TablePushStreaming.java @@ -0,0 +1,126 @@ +/* + * Copyright 2000-2013 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.push; + +import com.vaadin.annotations.Push; +import com.vaadin.data.Container; +import com.vaadin.data.Item; +import com.vaadin.data.util.IndexedContainer; +import com.vaadin.server.VaadinRequest; +import com.vaadin.shared.ui.ui.Transport; +import com.vaadin.tests.components.AbstractTestUI; +import com.vaadin.ui.Table; + +/** + * + * @since + * @author Vaadin Ltd + */ +@Push(transport = Transport.STREAMING) +public class TablePushStreaming extends AbstractTestUI { + + private int iteration = 1; + + /* + * (non-Javadoc) + * + * @see com.vaadin.tests.components.AbstractTestUI#setup(com.vaadin.server. + * VaadinRequest) + */ + @Override + protected void setup(VaadinRequest request) { + final Table t = new Table("The table"); + t.setContainerDataSource(generateContainer(10, 10, iteration++)); + t.setSizeFull(); + Runnable r = new Runnable() { + + @Override + public void run() { + for (int i = 0; i < 99; i++) { + try { + Thread.sleep(200); + } catch (InterruptedException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + access(new Runnable() { + + @Override + public void run() { + t.setContainerDataSource(generateContainer( + t.getVisibleColumns().length, t.size(), + iteration++)); + } + + }); + } + + } + }; + Thread tr = new Thread(r); + tr.start(); + + setContent(t); + } + + /** + * @param iter + * @since + * @return + */ + private Container generateContainer(int rows, int cols, int iter) { + IndexedContainer ic = new IndexedContainer(); + for (int col = 1; col <= cols; col++) { + ic.addContainerProperty("Property" + col, String.class, ""); + } + + for (int row = 0; row < rows; row++) { + Item item = ic.addItem("row" + row); + for (int col = 1; col <= cols; col++) { + item.getItemProperty("Property" + col).setValue( + "Row " + row + " col " + col + "(" + iter + ")"); + } + + } + + return ic; + } + + /* + * (non-Javadoc) + * + * @see com.vaadin.tests.components.AbstractTestUI#getTestDescription() + */ + @Override + protected String getTestDescription() { + return "Test that pushes Table data at a high pace to detect possible problems in the streaming protocol"; + } + + /* + * (non-Javadoc) + * + * @see com.vaadin.tests.components.AbstractTestUI#getTicketNumber() + */ + @Override + protected Integer getTicketNumber() { + return null; + } + +} |