Commits

Alireza Savand committed 60602f7

Create custom container, and populate random data!

Comments (0)

Files changed (1)

src/com/example/advanceaddressbook/data/PersonContainer.java

+package com.example.advanceaddressbook.data;
+
+import java.io.Serializable;
+import com.vaadin.data.util.BeanItemContainer;
+import java.util.Random;
+
+public class PersonContainer extends BeanItemContainer implements 
+	Serializable {
+	
+	public PersonContainer() throws InstantiationException,
+	IllegalAccessException {
+		super(Person.class);
+	}
+	
+	public static PersonContainer createWithTestData() {
+		final String[] fnames = { "Peter", "Alice", "Joshua", "Mike", "Olivia",
+				"Nina", "Alex", "Rita", "Dan", "Umberto", "Henrik", "Rene",
+				"Lisa", "Marge" };
+		final String[] lnames = { "Smith", "Gordon", "Simpson", "Brown",
+				"Clavel", "Simons", "Verne", "Scott", "Allison", "Gates",
+				"Rowling", "Barks", "Ross", "Schneider", "Tate" };
+		final String cities[] = { "Amsterdam", "Berlin", "Helsinki",
+				"Hong Kong", "London", "Luxemburg", "New York", "Oslo",
+				"Paris", "Rome", "Stockholm", "Tokyo", "Turku" };
+		final String streets[] = { "4215 Blandit Av.", "452-8121 Sem Ave",
+				"279-4475 Tellus Road", "4062 Libero. Av.", "7081 Pede. Ave",
+				"6800 Aliquet St.", "P.O. Box 298, 9401 Mauris St.",
+				"161-7279 Augue Ave", "P.O. Box 496, 1390 Sagittis. Rd.",
+				"448-8295 Mi Avenue", "6419 Non Av.",
+				"659-2538 Elementum Street", "2205 Quis St.",
+				"252-5213 Tincidunt St.", "P.O. Box 175, 4049 Adipiscing Rd.",
+				"3217 Nam Ave", "P.O. Box 859, 7661 Auctor St.",
+				"2873 Nonummy Av.", "7342 Mi, Avenue",
+				"539-3914 Dignissim. Rd.", "539-3675 Magna Avenue",
+				"Ap #357-5640 Pharetra Avenue", "416-2983 Posuere Rd.",
+				"141-1287 Adipiscing Avenue", "Ap #781-3145 Gravida St.",
+				"6897 Suscipit Rd.", "8336 Purus Avenue", "2603 Bibendum. Av.",
+				"2870 Vestibulum St.", "Ap #722 Aenean Avenue",
+				"446-968 Augue Ave", "1141 Ultricies Street",
+				"Ap #992-5769 Nunc Street", "6690 Porttitor Avenue",
+				"Ap #105-1700 Risus Street",
+				"P.O. Box 532, 3225 Lacus. Avenue", "736 Metus Street",
+				"414-1417 Fringilla Street", "Ap #183-928 Scelerisque Road",
+				"561-9262 Iaculis Avenue" };
+		PersonContainer c = null;
+		Random r = new Random(0);
+		try {
+			c = new PersonContainer();
+			for (int i = 0; i < 100; i++) {
+				Person p = new Person();
+				p.setFirstName(fnames[r.nextInt(fnames.length)]);
+				p.setLastName(lnames[r.nextInt(lnames.length)]);
+				p.setCity(cities[r.nextInt(cities.length)]);
+				p.setEmail(p.getFirstName().toLowerCase() + "."
+						+ p.getLastName().toLowerCase() + "@vaadin.com");
+				p.setPhoneNumber("+358 02 555 " + r.nextInt(10) + r.nextInt(10)
+						+ r.nextInt(10) + r.nextInt(10));
+				int n = r.nextInt(100000);
+				if (n < 10000) {
+					n += 10000;
+				}
+				p.setPostalCode(n);
+				p.setStreetAddress(streets[r.nextInt(streets.length)]);
+				c.addItem(p);
+			}
+		} catch (InstantiationException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		} catch (IllegalAccessException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+
+		return c;
+	}
+}