aboutsummaryrefslogtreecommitdiffstats
path: root/uitest
diff options
context:
space:
mode:
authorArtur Signell <artur@vaadin.com>2013-06-18 22:26:23 +0300
committerVaadin Code Review <review@vaadin.com>2013-09-13 10:08:46 +0000
commit9b052579ebb6df508fe4195e6562fced7fdf5698 (patch)
treec2f061a97faa65445c51d2256b3f83b3fa309232 /uitest
parent4659797e244009b0d0727fe3b469e8f409486e21 (diff)
downloadvaadin-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.java126
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;
+ }
+
+}