final Window main = new Window("Robustness tests by featurebrowser");
- final Button close = new Button("Close application");
+ Button close = new Button("Close application");
- final Button remove = new Button("Remove all components");
+ Button remove = new Button("Remove all components");
- final Button create = new Button("Create");
+ Button create = new Button("Create");
- final Label label = new Label();
+ Label label = new Label();
ComponentContainer stressLayout;
if (event.getButton() == create)
create();
else if (event.getButton() == remove) {
- main.removeComponent(stressLayout);
+ main.removeAllComponents();
+ close.removeListener(this);
+ remove.removeListener(this);
+ create.removeListener(this);
+ close = null;
+ remove = null;
+ create = null;
+ label = null;
stressLayout = null;
System.out.println("main.getLayout()=" + main.getLayout());
System.out.println(Log.getMemoryStatistics());
public class RobustnessSimple extends Robustness implements
Button.ClickListener {
- /**
- * Create single orderedlayout with a label containing 1Mb of data
- */
public void create() {
count++;
// create new stress layout
stressLayout = new OrderedLayout();
+ // CASE single orderedlayout with a label containing 1Mb of data
// fill with random components
Label label = new Label("Label " + Log.getMemoryStatistics(),
Label.CONTENT_PREFORMATTED);
label.setData(data);
stressLayout.addComponent(label);
+ // CASE simple button example
+ // stressLayout.addComponent(new ButtonExample());
+
+ // CASE #1392, this "leaks" in a way that we cannot release opened
+ // windows
+ // in any way (Window.open method)
+ // stressLayout.addComponent(new WindowingExample());
+
+ // CASE TableExample
+ // stressLayout.addComponent(new TableExample());
+
// add new component container to main layout
main.addComponent(stressLayout);
import com.itmill.toolkit.demo.featurebrowser.TreeExample;
import com.itmill.toolkit.demo.featurebrowser.ValueInputExample;
import com.itmill.toolkit.demo.featurebrowser.WindowingExample;
-import com.itmill.toolkit.terminal.ExternalResource;
import com.itmill.toolkit.terminal.ThemeResource;
import com.itmill.toolkit.tests.StressComponentsInTable;
import com.itmill.toolkit.ui.AbstractComponent;
import com.itmill.toolkit.ui.Embedded;
import com.itmill.toolkit.ui.GridLayout;
import com.itmill.toolkit.ui.Label;
-import com.itmill.toolkit.ui.Link;
import com.itmill.toolkit.ui.OrderedLayout;
import com.itmill.toolkit.ui.Panel;
import com.itmill.toolkit.ui.Select;
ComponentContainer result = null;
final int randint = seededRandom.nextInt(5);
switch (randint) {
+
case 0:
result = new OrderedLayout(OrderedLayout.ORIENTATION_HORIZONTAL);
((OrderedLayout) result).setCaption("OrderedLayout_horizontal_"
break;
case 4:
// Link
- result = new Link("", new ExternalResource("http://www.itmill.com"));
- result.setCaption("Link component " + caption);
+ // result = new Link("", new
+ // ExternalResource("http://www.itmill.com"));
+ // result.setCaption("Link component " + caption);
+ result = new OrderedLayout();
+ ((OrderedLayout) result).addComponent(new LabelExample());
break;
case 5:
// Link
// TODO: this application leaks memory
// ((OrderedLayout) result).addComponent(new
// JavaScriptAPIExample());
+
((OrderedLayout) result).addComponent(new LabelExample());
break;
case 13:
break;
case 18:
result = new OrderedLayout();
- ((OrderedLayout) result).addComponent(new TableExample());
+ ((OrderedLayout) result).addComponent(new ValueInputExample());
break;
case 19:
result = new OrderedLayout();
- ((OrderedLayout) result).addComponent(new TreeExample());
+ ((OrderedLayout) result).addComponent(new WindowingExample());
break;
case 20:
result = new OrderedLayout();
- ((OrderedLayout) result).addComponent(new ValueInputExample());
+ ((OrderedLayout) result).addComponent(new TreeExample());
break;
case 21:
result = new OrderedLayout();
- ((OrderedLayout) result).addComponent(new WindowingExample());
+ ((OrderedLayout) result).addComponent(new TableExample());
break;
case 22:
result = new OrderedLayout();