package com.vaadin.v7.tests.components.tree; import com.vaadin.tests.components.AbstractTestCase; import com.vaadin.ui.Layout; import com.vaadin.ui.LegacyWindow; import com.vaadin.ui.VerticalLayout; import com.vaadin.v7.ui.Tree; public class TreePerformanceTest extends AbstractTestCase { @Override protected String getDescription() { return "Trees rendering type may become slow escpecially with FF and big tree in a deep component tree."; } @Override protected Integer getTicketNumber() { return null; } @Override public void init() { LegacyWindow w = new LegacyWindow(); setMainWindow(w); Layout layout = null; for (int i = 0; i < getLayoutCount(); i++) { Layout newlayout = createLayout(); // newlayout.setHeight("100%"); if (i == 0) { w.setContent(newlayout); } else { layout.addComponent(newlayout); } layout = newlayout; } Tree tree = new Tree(); for (int i = 0; i < getItemCount(); i++) { String text = "ITEM " + i; tree.addItem(text); for (int j = 0; j < getSubItemCount(); j++) { String subtext = " SUBITEM " + j + " for " + text; tree.addItem(subtext); tree.setParent(subtext, text); } tree.expandItemsRecursively(text); } // One can test that the slugginesh is actually verticallayout issue // Table testTable = TestForTablesInitialColumnWidthLogicRendering // .getTestTable(12, 60); // testTable.setPageLength(0); layout.addComponent(tree); } private Layout createLayout() { return new VerticalLayout(); } private int getLayoutCount() { return 10; } private int getSubItemCount() { return 3; } private int getItemCount() { return 200; } }