1 29 30 package nextapp.echo2.testapp.interactive.testscreen; 31 32 import nextapp.echo2.app.Button; 33 import nextapp.echo2.app.Column; 34 import nextapp.echo2.app.Extent; 35 import nextapp.echo2.app.Insets; 36 import nextapp.echo2.app.Label; 37 import nextapp.echo2.app.event.ActionEvent; 38 import nextapp.echo2.app.event.ActionListener; 39 import nextapp.echo2.app.layout.SplitPaneLayoutData; 40 import nextapp.echo2.testapp.interactive.InteractiveApp; 41 import nextapp.echo2.testapp.interactive.RandomClick; 42 43 48 public class RandomClickTest extends Column { 49 50 53 public RandomClickTest() { 54 SplitPaneLayoutData splitPaneLayoutData = new SplitPaneLayoutData(); 55 splitPaneLayoutData.setInsets(new Insets(10)); 56 setLayoutData(splitPaneLayoutData); 57 58 setCellSpacing(new Extent(20)); 59 60 add(new Label("This test will randomly click a number of buttons within this application in a single server interaction. " + 61 "The primary purpose of this test is to ensure proper behavior of the ServerUpdateManager. Durations of greater " + 62 "than 100 clicks are disabled on the live demo server. Note that the 1,000,000 click test may take one or two " + 63 "minutes to complete depending on the performance of the server.")); 64 65 addRandomClickButton(1); 66 addRandomClickButton(10); 67 addRandomClickButton(100); 68 if (!InteractiveApp.LIVE_DEMO_SERVER) { 69 addRandomClickButton(1000); 70 addRandomClickButton(10000); 71 addRandomClickButton(100000); 72 addRandomClickButton(1000000); 73 } 74 } 75 76 82 private void addRandomClickButton(final int clickCount) { 83 Button button = new Button("Perform " + clickCount + " Random Click" + (clickCount == 1 ? "" : "s")); 84 button.setStyleName("Default"); 85 button.addActionListener(new ActionListener() { 86 public void actionPerformed(ActionEvent e) { 87 for (int i = 0; i < clickCount; ++i) { 88 RandomClick.clickRandomButton(); 89 } 90 } 91 }); 92 add(button); 93 } 94 } 95 | Popular Tags |